VLSI 设计的 FPGA 验证
更新时间:2023-07-26 21:54:01 阅读量: 实用文档 文档下载
- vlsi推荐度:
- 相关推荐
VLSI 设计的 FPGA 验证
VLSI设计的FPGA验证
标 准 实 验 报 告
实验一:数字功放的FPGA下载实验 实验二:计数器的FPGA验证实验
实验三:计数器改进设计及其FPGA验证实验
电子科技大学·《电子设计自动化技术》课程组
VLSI 设计的 FPGA 验证
实验(一)标准实验报告
实验名称:数字音频攻放的FPGA下载与试听验证实验
实验目的:通过数字音频功放的FPGA下载和试听,体验FPGA原型验证的过
程,学会FPGA下载操作,感性地认识基于VHDL的用户设计在FPGA中物理实现的真实效果。
实验原理:参见《VLSI设计的FPGA验证实验指导书》 实验步骤及实验记录: 1. 步骤一:实验准备
FPGA开发板(主芯片型号:XCS10XL)
数字音频功放的目标下载文件(audio.bit、audio.mcs) 2. 步骤二:连接好FPGA开发板
用JTAG下载线将FPGA开发板与计算机的并口连接好。 3. 步骤三:FPGA下载就绪状态设置
用跳线块将FPGA开发板上的program引脚与GND短接。 4. 步骤四:FPGA开发板上电
将直流稳压电源输出电压调到3.3V后,与FPGA开发板连接好,上电。 5. 步骤五:启动下载工具JTAG programmer
操作方法为:程序 →Xilinx Foundation Series 3.1i → Accessories → JTAG programmer。
6. 步骤六:初始化下载链路
下载工具JTAG programmer找到了目标器件FPGA(型号XCS10XL)和PROM(型号为:XC18V02)。 7. 步骤七:PROM配置项设置
加载PROM配置文件(audio.mcs),选择PROM器件封装型号(xc18v02_pc44)。
8. 步骤八:FPGA配置项设置
加载FPGA的目标下载bit流文件(audio.bit),选择FPGA器件封装型号(XCS10XL_PC84)。
VLSI 设计的 FPGA 验证
9. 步骤九:运行下载
PROM器件xc18v02_pc44的Operation选项选择为program,FPGA器件XCS10XL_PC84的Operation选项选择为Bypass。
点击Execute按钮运行下载,下载成功。 10. 步骤十:试听测试
取下FPGA开发板上的program与GND短接的跳线块,FPGA进入运行状态;接上耳机试听音乐播放,听到了播放的音乐。
实验结论与分析:
数字音频攻放的目标下载文件成功下载到了FPGA中,通过耳机试听到了播放的音乐。
VLSI 设计的 FPGA 验证
实验(二)标准实验报告
实验名称:LED数码显示型计数器的FPGA验证实验
实验目的: 通过VHDL源程序编写与仿真、FPGA综合、FPGA物理实现及FPGA
下载、板级测试等全过程的亲身体验,掌握VLSI前端设计和FPGA验证的基本方法,熟悉FPGA开发板的应用。
实验原理:参见《VLSI设计的FPGA验证实验指导书》 实验步骤及实验记录:
1. 第一步:计数器的VHDL编程与源代码录入
① 计数器的VHDL源代码: LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY count10en IS
PORT(i, clr, en : IN STD_LOGIC; qa, qb, qc, qd : OUT STD_LOGIC); END count10en;
ARCHITECTURE rtl OF count10en IS
SIGNAL count_4 : STD_LOGIC_VECTOR(3 downto 0); BEGIN process(i, clr) begin
if (clr='1') then
count_4 <= "0000";
elsif (i'event and i='1') then if (en='1') then
if (count_4="1001") then
count_4 <= "0000";
VLSI 设计的 FPGA 验证
else
count_4 <= count_4 + 1;
end if;
end if; end if; end process; qa<=count_4(0); qb<=count_4(1); qc<=count_4(2); qd<=count_4(3); END rtl;
② LED数码显示驱动模块的源代码: library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity display is
port( I0, I1, I2,I3 : in STD_LOGIC;
O_A, O_B, O_C, O_D, O_E, O_F, O_G : out STD_LOGIC);
end display;
architecture display of display is
signal M : STD_LOGIC_VECTOR(3 downto 0); signal O : STD_LOGIC_VECTOR(6 downto 0); begin
M <= I3&I2&I1&I0;
PROCESS(M) BEGIN
case M is
when "0000" => O <= "1000000"; --0 when "0001" => O <= "1111001"; --1 when "0010" => O <= "0100100"; --2
VLSI 设计的 FPGA 验证
when "0011" => O <= "0110000"; --3 when "0100" => O <= "0011001"; --4 when "0101" => O <= "0010010"; --5
when "0110" => O <= "0000010"; --6 when "0111" => O <= "1011000"; --7 when "1000" => O <= "0000000"; --8 when "1001" => O <= "0010000"; --9 when others => O <= "0000110"; --E
end case; end process; O_A <= O(0); O_B <= O(1); O_C <= O(2); O_D <= O(3); O_E <= O(4); O_F <= O(5);
O_G <= O(6);
end display;
2. 第二步:VHDL程序功能仿真
仿真工具选择:Active-HDL。 仿真波形如下图所示:
VLSI 设计的 FPGA 验证
3. 第三步:VHDL逻辑综合
综合工具选择:FPGA Express。 综合后得到的电路图如下图所示:
4. 第四步:FPGA物理实现
物理实现工具选择:Xilinx Foundation的Design Manager。 物理实现的管脚分配文件如下图所示:
5. 第五步:FPGA下载
下载工具选择:Xilinx Foundation的JTAG programmer。
用跳线块将FPGA开发板上的program引脚与GND短接,使FPGA处于下载就绪状态。
FPGA芯片的配置文件:counter_LED.bit
VLSI 设计的 FPGA 验证
PROM芯片的配置文件:counter_LED.mcs 6. 第六步:FPGA测试
下载成功后,取下program引脚短接跳线块,即可进行测试。 测试方法:手动操作按键,观测LED数码管。
实验结论与分析:
通过观测发现,LED数码能有效显示计数器的计数值,但一次手动按键操作有多次误计数的不稳定现象。说明本设计的可靠性较差,需要作进一步改进设计。
VLSI 设计的 FPGA 验证
实验(三)标准实验报告
实验名称:改进型计数器设计与FPGA验证实验
实验目的:通过改进型计数器设计使学生认识到工程设计实践中稳定性、可靠性
设计的必要性,通过FPGA实物验证使学生充分认识去抖动电路的抗噪效果。并养成在完成功能设计的同时兼顾性能设计的良好习惯。
实验原理:参见《VLSI设计的FPGA验证实验指导书》 实验步骤及实验记录:
1. 第一步:分析实验二的计数器计数值不稳定的原因
实验二计数器实验中计数值不稳定现象是:LED显示数据有乱跳的现象。 引起不稳定现象的原因是手动操作按键时有“抖动”噪声。 要消除抖动噪音,可以引入去抖动电路。
改进后的模块框图如下,从图中可以很清楚它们的连接关系。
其中增加的弹跳消除模块为图中的debounce模块,端口包括: clk:系统时钟端口 touch:键盘输入端口 clr:清零复位端口
push_out:进行完噪声消除以后的键盘输入信号。 2.第二步:去抖动电路设计
去抖动电路基本思路:引入采样时钟,在对输入信号采样时,当相邻两次采样数据相同,则认为信号稳定有效,输出该值;否则当成非稳定信号,去抖输出保持原值不变。
去抖动电路源程序:
VLSI 设计的 FPGA 验证
--content definition of component "debounce" library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; --io signal declaraction entity debounce is
port(clk: in std_logic; --basic clock input
clr:in std_logic;
touch: in std_logic; --push button signal
push_out: out std_logic); --cleared push botton signal
end debounce;
architecture arch of debounce is
signal sample: std_logic;
--declaraction of self_built sampling pulse from clock begin
sampling_signal: block --input clk --output sample
signal delay:std_logic; --one_step delay
signal q: std_logic_vector(4 downto 0); --osc/2^5=32hz(31.25ms)
begin
process(clk) begin
if clr='1' then q<="00000"; delay<='0';
elsif rising_edge(clk) then
delay<=q(4); q<=q+1;
VLSI 设计的 FPGA 验证
end if;
sample<=q(4) and not delay; --leading_edge differentiating
end process; end block sampling_signal; --cleared push botton signal generation cleared_push:block --input:clk,sample,touch --output:push_out
signal dff0,dff1:std_logic; --two_step delay ff signal push:std_logic; --output of rsff for push signal signal q1,q2:std_logic; begin
process(clk) begin
if clr='1' then
dff0<='0'; dff1<='0'; push<='0';
elsif rising_edge(clk) then
if sample='1' then dff1<=dff0;
dff0<=touch;
push<=dff0 and dff1; end if; end if; end process; process(clk) begin
if clr='1' then
q2<='0';
VLSI 设计的 FPGA 验证
q1<='0';
elsif rising_edge(clk) then
q2<=q1; q1<=push; end if;
push_out<=q1 and not q2;
end process;
end block
cleared_push; end arch;
3.第三步:采样时钟电路设计
FPGA开发板上晶振为33MHz,将该时钟信号进行4分频后得到8.25MHz的采样时钟。
4. 第四步:改进型计数器的VHDL仿真
仿真工具选择:Active-HDL 仿真波形如下图所示:
由时钟产生一个取样信号,然后对键盘输入的信号进行取样。只有在两次取样均能采到信号时,才算一次输入,否则不被计入。
如上图可见,当输入信号(touch)保持200ns时,能被有效识别,其它的都没有被识别。达到了消除噪声的目的。 5. 第五步:VHDL程序的综合
综合工具选择:FPGA Express。 综合后形成的网表文件:counter_EN.edf 6. 第六步:FPGA物理实现及下载
物理实现及其下载工具选择:Xilinx Foundation 管脚分配文件:counter_EN.ucf
VLSI 设计的 FPGA 验证
用跳线块将FPGA开发板上的program引脚与GND短接,使FPGA处于下载就绪状态,选择目标下载文件完成下载。
FPGA目标下载文件:counter_EN.bit PROM目标下载文件:counter_EN..mcs 7. 第七步:FPGA测试
下载成功后,取下program引脚短接跳线块,即可进行测试。 测试方法:手动操作按键,观测LED数码管。
实验结论与分析:
通过观测发现,LED数码能有效显示计数器的计数值,且一次手动按键操作只发生一次计数,计数操作稳定。
通过与实验二作对比发现:引入去抖动设计后计数器的计数效果得到了明显改进。
正在阅读:
VLSI 设计的 FPGA 验证07-26
我的宇宙城作文600字07-15
9.6 乘法公式的再认识—因式分解(二) 第1课时08-07
证券法改革六十年(修改稿)03-19
广东珠海紫荆中学2019年初三下学度中考三模试题(化学)12-08
美丽的天台作文600字07-15
教育公共基础笔试06-13
矿区安全生产管理制度具体内容 -10-31
革勒卫生院农村合作医疗门诊统筹实施方案04-20
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 验证
- 设计
- VLSI
- FPGA
- 公司网站建立的目的及作用
- 圈里中心小学青少年违法犯罪半年工作总结
- 科学发展观试题汇总含答案
- 西南证券-从国际视角看待中国煤炭行业目前发展-100520
- DDR的基本原理与工作过程
- 实验六 伯努利能量方程实验
- Anti-ABCA1 antibody (ab136452)datasheet_136452
- 2018年善待你所在的单位主题演讲稿:懂得感恩学会珍惜
- 治安行政处罚与刑罚适用的衔接
- 非甾体抗炎药的应用及其安全性
- 黑龙江省二年级下学期语文期末考试试卷B卷
- 一年级下册语文全册教案
- 新学期的学习计划的
- 从戛纳广告节获奖作品看世界广告的发展趋1
- 2013年浙江高考化学和生物试卷评析
- 中国梦演讲稿3到5分钟
- 莲塘梧桐山地产项目整合推广策略提案
- c语言课程设计学生信息管理系统
- 2011年执业护士资格考试全真模拟试题
- 体外微核试验方法研究进展