EDA实验指导书.docx
《EDA实验指导书.docx》由会员分享,可在线阅读,更多相关《EDA实验指导书.docx(13页珍藏版)》请在冰点文库上搜索。
![EDA实验指导书.docx](https://file1.bingdoc.com/fileroot1/2023-6/14/6b8756f2-dcbb-462f-9c48-9568c415f602/6b8756f2-dcbb-462f-9c48-9568c415f6021.gif)
EDA实验指导书
PLD原理及应用实验指导书
目录
实验一:
基于原理图输入的数字系统设计2
实验二:
组合逻辑电路设计4
实验三:
时序逻辑电路设计6
实验四:
有限状态机综合性设计实验8
附录:
QuartusII的使用指南13
实验一:
基于原理图输入的数字系统设计
(学习和掌握QuartusII的设计流程)
实验项目名称:
基于原理图输入的数字系统设计
实验项目性质:
验证性
所属课程名称:
pld原理及应用
实验计划学时:
2
一.实验目的
1.学习EDA集成工具软件QuartusII的使用;
2.学会基于PLD的EDA设计流程;
3.学会使用原理图设计数字电路;
4.学会对设计进行综合、仿真和设计下载。
二.实验设备和材料
计算机,软件QuartusII
三.实验内容和要求
1.4位全加器的原理图方法设计与仿真;
2.3-8线译码器设计与仿真
四.实验方法、步骤
1.在QuartusII软件环境下,建立一个项目;
2.添加设计元件和设计文件;
3.选定目标器件,配置管脚,对设计进行综合;
4.生成测试激励波形(或测试文件),对设计进行逻辑仿真;
5.对设计进行时序仿真;记录仿真过程中出现的问题及解决办法。
A
B
C
D0
D1
D2
D3
D4
D5
D6
D7
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
五.实验报告要求
1.实验目的和内容,简介基于原理图的Quartus的设计流程。
2.记录设计原理图。
3.记录仿真波形图,分析结果。
实验二:
组合逻辑电路设计
实验项目名称:
组合逻辑电路设计
实验项目性质:
验证性
所属课程名称:
pld原理及应用
实验计划学时:
2
一.实验目的
1.熟练QuartusII的使用;
2.学会使用硬件描述语言(HDL)设计组合逻辑电路;元件例化的应用。
二.实验内容和要求
1.利用VHDL语言设计一个4选1选择器。
2.利用VHDL语言设计一个8位加法器。
三.实验设备和材料
计算机,软件Quartus
四.实验方法、步骤
1.在QuartusII软件环境下,新建一个项目;
2.添加文本(VHDL)设计文件;
3.选定目标器件,配置管脚,对设计进行综合;
4.生成测试激励波形(或测试文件),对设计进行时序仿真;
五.实验报告要求
1.实验目的、内容和主要步骤
2.记录设计源程序。
2.记录综合过程出现的问题;记录2个实验的仿真波形图。
4.分析结果。
六.参考设计
4选1选择器
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYmux41ISPORT(
S1,S0:
INSTD_LOGIC;
D3,D2,D1,D0:
INSTD_LOGIC;
Y:
OUTSTD_LOGIC);
ENDmux41;
ARCHITECTUREexample2OFmux4IS
SIGNALs:
STD_LOGIC_VECTOR(1DOWNTO0)
BEGIN
s<=s1&s0
BEGIN
PROCESS(d3,d2,d1,d0,s)
BEGIN
IF(s=“00”)THENy<=d0;
ELSIF(s=“01”)THENy<=d1;
ELSIF(s=“10”)THENy<=d2;
ELSEy<=d3;
ENDIF;
ENDPROCESS;
ENDexample2;
实验三:
时序逻辑电路设计
实验项目名称:
时序逻辑电路设计
实验项目性质:
验证性
所属课程名称:
pld原理及应用
实验计划学时:
2
一.实验目的
1.熟练QuartusII的使用;
2.学会使用硬件描述语言(HDL)设计时序逻辑电路;
二.实验内容
1.带允许端的十进制BCD计数器
带允许端的十进制BCD计数器的引脚框图如图所示。
该计数器由4个触发器构成,clr输入端用于清零,en端用于控制计数器工作,clk为时钟脉冲(计数脉冲)输入端,q为计数器的4位二进制计数值输出端。
2.利用VHDL语言设计一个可逆计数器,可逆计数器,就是根据计数控制信号的不同,在时钟脉冲作用下,计数器可以进行加1或减1操作的一种计数器。
8位二进制可逆计数器的引脚框图如图所示。
可逆计数器有一个特殊的控制端,这就是updn端。
当updn=1时,计数器进行加1操作;当updn=0时,计数器进行减1操作。
例7.3.1所示为用VHDL描述的8位二进制可逆计数器的程序。
三.实验设备和材料
计算机,软件Quartus
四.实验方法、步骤
1.在QuartusII软件环境下,新建一个项目;
2.添加文本(HDL)设计文件;
3.选定目标器件,配置管脚,对设计进行综合;
4.生成测试激励波形(或测试文件),对设计进行逻辑仿真;
5.对设计进行时序仿真;
五.实验报告要求
1.实验目的和内容和主要步骤
2.记录实验内容2的设计源程序,记录综合结果。
3.记录仿真结果。
4.分析仿真结果。
六.参考设计
(1)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcountbcdIS
PORT(clk,clr,en:
INSTD_LOGIC;
q:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDcountbcd;
ARCHITECTUREbehavOFcountbcdIS
SIGNALcount_4:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
q<=count_4;
PROCESS(clk,clr)
BEGIN
IF(clr='1')THEN
count_4<="0000";
ELSIF(clk'eventANDclk='1')THEN
IF(en='1')THEN
IF(count_4="1001")THEN
count_4<="0000";
ELSE
count_4<=count_4+1;
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
ENDbehav;
(2)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYupdncountIS
PORT(clk,clr,updn:
INSTD_LOGIC;
q:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDupdncount;
ARCHITECTUREbehavOFupdncount64IS
SIGNALcount_8:
STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
q<=count_8;
PROCESS(clr,clk)
BEGIN
IF(clr='1')THEN
count_8<=(OTHERS=>'0');
ELSIF(clk'eventANDclk='1')THEN
IF(updn='1')THEN
count_8<=count_8+'1';
BEGIN
实验四:
有限状态机综合性设计实验
实验项目名称:
有限状态机综合性设计实验
实验项目性质:
综合性
所属课程名称:
pld原理及应用
实验计划学时:
2
一.实验目的
1.熟练QuartusII的使用;
2.学会使用有限状态机设计较复杂的时序逻辑;
二.实验内容和要求
1、根据图所示的状态图,写出对应的VHDL程序,进行仿真实验。
2、根据图所示的状态图,写出对应的VHDL程序,进行仿真实验。
三.实验设备和材料
计算机,软件QuartusII
四.实验方法、步骤
1.在QuartusII软件环境下,新建一个项目;
2.用硬件描述语言(HDL)设计有序控制逻辑电路;
3.选定目标器件,配置管脚,对设计进行综合;
4.生成测试激励波形(或测试文件),对设计进行逻辑仿真;
5.对设计进行时序仿真;
五.实验报告要求
1.记录设计源程序。
2.记录综合结果。
3.记录仿真结果。
4.分析结果。
六.参考设计
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYMOORE1IS
PORT(DATAIN:
INSTD_LOGIC_VECTOR(1DOWNTO0);
CLK,RST:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDMOORE1;
ARCHITECTUREbehavOFMOORE1IS
TYPEST_TYPEIS(ST0,ST1,ST2,ST3,ST4);
SIGNALC_ST:
ST_TYPE;
BEGIN
PROCESS(CLK,RST)
BEGIN
IFRST='1'THENC_ST<=ST0;Q<="0000";
ELSIFCLK'EVENTANDCLK='1'THEN
CASEC_STIS
WHENST0=>IFDATAIN="10"THENC_ST<=ST1;
ELSEC_ST<=ST0;ENDIF;
Q<="1001";
WHENST1=>IFDATAIN="11"THENC_ST<=ST2;
ELSEC_ST<=ST1;ENDIF;
Q<="0101";
WHENST2=>IFDATAIN="01"THENC_ST<=ST3;
ELSEC_ST<=ST0;ENDIF;
Q<="1100";
WHENST3=>IFDATAIN="00"THENC_ST<=ST4;
ELSEC_ST<=ST2;ENDIF;
Q<="0010";
WHENST4=>IFDATAIN="11"THENC_ST<=ST0;
ELSEC_ST<=ST3;ENDIF;
Q<="1001";
WHENOTHERS=>C_ST<=ST0;
ENDCASE;
ENDIF;
ENDPROCESS;
ENDbehav;
实验五:
综合性设计实验
实验项目名称:
汽车尾灯控制器设计
实验项目性质:
综合性
所属课程名称:
pld原理及应用
实验计划学时:
6(课堂2个)
一.实验目的
1.熟练QuartusII的使用;
2.学会对较复杂的逻辑电路的设计;
二.实验内容和要求
1、简要说明:
汽车左、右各有三个尾灯,用来指示汽车左转、右转和刹车时的工作状态。
当汽车左转或右转时,左侧或右测的尾灯给出相应指示:
当刹车时,左右尾灯同时给出指示,若正常行驶时,所有尾灯无指示,汽车尾灯控制器可通过左转信号、右转信号和刹车信号控制尾灯的显示。
2、设计要求如下:
(1)控制器设有左转、右转和刹车三个输入信号。
(2)控制器设有6个输出信号,分别接汽车左、右侧的6个灯。
(3)当汽车正常行驶时,6个灯全灭;刹车时6个灯全亮。
(4)当汽车左转时,左侧的三个尾灯按照000-001-010-100-000的顺序循环点亮,而右侧的3个尾灯全灭;当汽车右转时,右侧的三个尾灯以次按照000-100-010-001-000的顺序循环点亮,而左侧的三个尾灯全灭
(5)若汽车在转弯时刹车,则向转弯侧的三个尾灯按照转弯时的显示规律显示,而另一侧的三个尾灯全亮。
注:
显示部分需要一个2Hz的方波信号。
三.实验设备和材料
计算机,软件Quartus
四.实验方法、步骤
根据题目要求设计有关程序,在QuartusII软件环境下,进行编译、综合和仿真。
五.实验报告要求
1.给出用硬件描述语言(HDL)设计的程序。
3.给出仿真波形图,分析结果。