VHDL实验指导书
- 格式:doc
- 大小:1.14 MB
- 文档页数:25
1 实验一QuartusII软件应用
一、实验目的
1、熟悉EDA开发平台的基本操作。
2、掌握EDA开发工具的图形设计方法。
3、掌握图形设计的编译与验证方法。
二、实验仪器
PC机一台 QuartusII 软件
三、实验内容
1、实验原理图:建立一个4-bit 计数器图形设计文件(如图1.1示);
图 1.1 图形设计例图
对上述计数器进行功能和时间仿真,验证其功能并测试其最高工作频率。
利用向导创建一个新器件(6位全加器:使能、流水线等参数自行设定)。
2、实验步骤:
①新建一个文件夹,一般在F盘里。
②打开QuartusII软件,选择File/New,在弹出的窗口中选Device Design Files选项卡,再选择Block
Diagram/Schematic 选项,单击OK后打开图形编辑窗口。
③ 选择File/Save As命令,保存文件在已经创建的文件夹里。当出现询问是否创建工程的窗口,应当单击是进入创建工程流程,否则要重新创建工程把文件添加进去。
④打开工程中的原理图文件,在原理图编辑窗口的任何一个位置右击,将出现快捷菜单,选择Insert
/Symbol命令,出现元件输入对话框,选择相应的器件,并连接好电路,然后分别在input和output 的PIN
NAME上双击使其变黑色,再分别输入引脚名。
⑤选择Processing/Start Compilation命令,进行全程编译。
⑥打开波形编辑器,选择File/New,在New中选择Other Files中的 Vector Waveform File 选项,单击OK,出现空白的波形编译窗口
⑦选择File/Save As命令,存盘。文件名一定要与原理图文件名一致。
然后添加相应的端口信号节点到波形编辑器中,设置合理的输入信号。
⑧ 选择Processing/Start Simulation,进行波形仿真。
⑨选择Processing/Classic Timing Analyzer Tool测试最高工作频率。
⑩选择Tools/MegaWizard Plug-In Manager,根据向导提示创建一个6位全加器。
3、实验结果记录: 2 打印出实验原理图与仿真波形图,写出最高工作频率,打印出利用向导创建的新器件的图形,完成实验报告
四、实验研究与思考
1、延迟时间分析、最高工作频率分析等时间分析有何重要性?
2、流水线的作用是什么?对那些性能有影响?
2、功能仿真、验证起到什么作用?
实验二 VHDL软件设计
一、实验目的
1、熟悉EDA开发平台的基本操作。
2、掌握EDA开发工具的VHDL设计方法。
3、掌握硬件描述语言设计的编译与验证方法。
二、实验仪器
PC机一台 QuartusII 软件
三、实验内容
1、24进制加法计数器的程序:
LIBRARY Ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.ALL;
ENTITY count24 IS
PORT(en,clk: IN STD_LOGIC;
qa: out STD_LOGIC_VECTOR(3 DOWNTO 0);
--个位数计数
qb: out STD_LOGIC_VECTOR(1 DOWNTO 0));
--十位数计数
END count24;
ARCHITECTURE a1 OF count24 IS
BEGIN
process(clk)
variable tma: STD_LOGIC_VECTOR(3 DOWNTO 0);
variable tmb: STD_LOGIC_VECTOR(1 DOWNTO 0);
begin
if clk'event and clk='1' then
if en='1' then
if tma="1001" then tma:="0000";tmb:=tmb+1;
Elsif tmb="10" and tma="0011" then tma:="0000";
tmb:="00";
else tma:=tma+1;
end if;
end if;
end if;
qa<=tma;
qb<=tmb;
end process;
END a1;
2、 实验步骤: 3 1)24进制计数器
①新建一个文件夹,一般在F盘里。
②打开QuartusII软件,选择File/New,在弹出的窗口中选Device Design Files选项卡,再选择VHDL File
选项,单击OK后打开程序编辑窗口。
③选择File/Save As命令,保存文件在已经创建的文件夹里,文件名一定要与程序的实体名一致。当出现询问是否创建工程的窗口,应当单击是进入创建工程流程,否则要重新创建工程把文件添加进去。
④打开工程中的程序文件,把1中24进制加法计数器的程序输入。
⑤选择Processing/Start Compilation命令,进行全程编译。
⑥打开波形编辑器,选择File/New,在New中选择Other Files中的 Vector Waveform File 选项,单击OK,出现空白的波形编译窗口。
⑦选择File/Save As命令,存盘。文件名一定要与原理图文件名一致。
⑧然后添加相应的端口信号节点到波形编辑器中,设置合理的输入信号。
⑨选择Processing/Start Simulation,进行波形仿真。
2)修改以上程序获得60进制加法计数器,并进行功能和时间仿真验证。
3、实验结果记录:
手写出24进制与60进制的加法器的实验程序,打印出仿真波形图,完成实验报告
四、实验研究与思考
1、比较图形设计和语言设计方法的差别和优缺点。
实验三 3-8译码器
一、实验目的
1、掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、初步掌握EDA软件的基本操作与应用。
4、初步了解可编程器件的设计全过程。
二、实验仪器
PC机一台 QuartusII 软件
三、实验内容
1、新建一个设计工程;
2、输入并连接如图3.1所示原理图; 4 图3.1 3-8译码器原理图
3、选择目标器件(EP1C3T144C8);
4、编译与适配;
5、波形文件输入与设定,功能仿真与验证;
6、管脚锁定;
7、器件编程下载;
8、硬件测试;
9、采用VHDL语言描述以上3-8译码器,并重复以上4-8项;
9、自行设计纪录方式,完成实验报告
四、实验研究与思考
1、组合逻辑电路的设计应该注意什么问题?
实验四 组合逻辑电路的VHDL描述
一、实验目的
1、掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、熟悉FPGA设计的过程,比较原理图输入和文本输入的优劣。
二、实验仪器
PC机一台 QuartusII 软件
三、实验内容
1、用VHDL语言设计一个四舍五入判别电路,其输入为8421BCD码,要求当输入大于或等于5时,判别电路输出为1,反之为0。参考电路原理图如图4.1所示。 5
图4.1 四舍五入判别参考电路
2、用VHDL语言设计四个开关控制一盏灯的逻辑电路,要求改变任意开关的状态能够引起灯亮灭状态的改变。(即任一开关的合断改变原来灯亮灭的状态,参考电路原理图如图4.2所示。)
图4.2 灯控参考电路
3、用VHDL语言设计一个优先排队电路(参考电路原理图如图4.3所示),其中:A=1,最高优先级;B=1,次高优先级;C=1, 最低优先级。要求输出端最多只能有一端为―1‖,即只能是优先级较高的输入端所对应的输出端为―1‖。
图4.3 优先排队参考电路
4、自行设计纪录方式,完成实验报告
四、实验研究与思考
1、CPLD和FPGA有什么差别?设计中应该注意什么问题?
2、图形设计方法中采用LPM设计有什么好处?
实验五 触发器的VHDL描述
一、实验的目的
1、掌握触发器功能的测试方法。
2、掌握基本RS触发器的组成及工作原理。
3、掌握集成JK触发器和D触发器的逻辑功能及触发方式。
4、掌握几种主要触发器之间相互转换的方法。
5、通过实验、体会CPLD芯片的高集成度和多I/O口。
二、实验仪器
PC机一台 QuartusII 软件
三、实验内容 6 1、用VHDL语言设计基本RS触发器、同步RS触发器、J-K触发器、D触发器,并将这些触发器集成于一个电路(芯片)中(参考设计电路如图5.1所示),并研究其相互转换的方法。
图5.1 触发器设计参考电路
2、编译、仿真、管脚锁定和器件编成下载后进行硬件测试并纪录测试结果到下列各触发器的真值表中。
表一:RS寄存器
Rd Sd Q NQ 说 明
0 1
1 0
1 1
0 0
表二:RS 锁存器
R S CLK1 Rd Sd Qn Qn+1 Qn-1 说 明
X X X 1 0
X X X 0 1
X X X 0 0
X X 0 1 1
0 0 1 1 1
0 1 1 1 1
1 0 1 1 1