《EDA技术与VHDL》课程实验指导书.docx

上传人:b****5 文档编号:4523504 上传时间:2022-12-01 格式:DOCX 页数:14 大小:33.52KB
下载 相关 举报
《EDA技术与VHDL》课程实验指导书.docx_第1页
第1页 / 共14页
《EDA技术与VHDL》课程实验指导书.docx_第2页
第2页 / 共14页
《EDA技术与VHDL》课程实验指导书.docx_第3页
第3页 / 共14页
《EDA技术与VHDL》课程实验指导书.docx_第4页
第4页 / 共14页
《EDA技术与VHDL》课程实验指导书.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

《EDA技术与VHDL》课程实验指导书.docx

《《EDA技术与VHDL》课程实验指导书.docx》由会员分享,可在线阅读,更多相关《《EDA技术与VHDL》课程实验指导书.docx(14页珍藏版)》请在冰豆网上搜索。

《EDA技术与VHDL》课程实验指导书.docx

《EDA技术与VHDL》课程实验指导书

 

 

《EDA技术与VHDL》课程实验指导书

 

专业:

通信工程

 

电子信息与电气工程学院编制

2019年9月

实训四四位全加器调用一位全加器

实训一EDA软件的熟悉与使用

一、实验目的

熟悉ALTERA公司EDA设计工具软件QuartusII9.0。

熟悉ZY11EDA13BE型实验箱。

二、实验内容

学习QuartusII9.0软件课件。

学习QuartusII9.0软件的安装,重要菜单命令含义。

参考实验箱简介,熟悉ZY11EDA13BE型实验箱的结构与组成。

模仿课件中实例动手操作一遍,掌握QuartusII9.0的软件设计流程。

三、实验原理

参考附带光盘中QuartusII9.0软件学习课件。

四、实验步骤

1、在教师的指导下,学习软件课件。

2、由教师演示QuartusII9.0软件的安装,介绍菜单命令功能。

3、参考课件实例,动手操作软件,按照流程做完从新建文件,编译,仿真,分配引脚等软件操作部分的全过程。

4、参考实验系统简介,熟悉ZY11EDA13BE型实验箱结构,组成,了解各块的基本作用,了解主板I/O分布情况,认识液晶屏,并口连接器,晶振,JTAG接口,逻辑笔,跳线等器件或组件。

五、实验报告

1、绘制出QuartusII9.0软件设计的详细流程图。

2、描述出QuartusII9.0软件是如何进行目标器件选择,I/O分配和锁定引脚的。

3、描述出QuartusII9.0软件help菜单功能,如何有效的使用它。

4、描述出一个完整的实验流程。

六、实验思考题

1、QuartusII9.0软件支持那些器件,该软件有什么局限性?

2、QuartusII9.0软件使用中大小写字母是否有区别?

3、在进行一个完整的实验流程时应注意些什么?

 

实训二组合电路的设计

一、实验目的

熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。

二、实验内容

1:

首先利用QuartusⅡ完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,给出仿真波形。

最后在实验系统上进行硬件测试,验证本项设计的功能。

2:

将此多路选择器看成是一个元件mux21a,利用元件例化语句描述一个双2选1多路选择器,并将此文件放在同一目录中。

三、实验仪器

电脑。

四、实验原理

1、2选1多路选择器的VHDL源代码

ENTITYmux21aIS

PORT(a,b,s:

INBIT;

y:

OUTBIT);

ENDENTITYmux21a;

ARCHITECTUREoneOFmux21aIS

BEGIN

PROCESS(a,b,s)

BEGIN

IFs='0'THENy<=a;ELSEy<=b;

ENDIF;

ENDPROCESS;

ENDARCHITECTUREone;

下图为本例2选1多路选择器的仿真图形

2、双2选1多路选择器

以下是部分参考程序:

...

COMPONENTMUX21A

PORT(a,b,s:

INSTD_LOGIC;

y:

OUTSTD_LOGIC);

ENDCOMPONENT;

...

u1:

MUX21APORTMAP(a=>a2,b=>a3,s=>s0,y=>tmp);

u2:

MUX21APORTMAP(a=>a1,b=>tmp,s=>s1,y=>outy);

ENDARCHITECTUREBHV;

五、实验报告:

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。

实训三时序电路的设计

一、实验目的

熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序电路的设计、仿真和测试。

二、实验内容

1、设计一个D触发器,给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。

2、设计锁存器,同样给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。

三、实验仪器

电脑。

四、实验原理

1、D触发器的VHDL源代码

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF1IS

PORT(CLK:

INSTD_LOGIC;

D:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

END;

ARCHITECTUREbhvOFDFF1IS

SIGNALQ1:

STD_LOGIC;--类似于在芯片内部定义一个数据的暂存节点

BEGIN

PROCESS(CLK,Q1)

BEGIN

IFCLK'EVENTANDCLK='1'

THENQ1<=D;

ENDIF;

ENDPROCESS;

Q<=Q1;--将内部的暂存数据向端口输出(双横线--是注释符号)

ENDbhv;

2、锁存器的VHDL源代码

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDFF3IS

PORT(CLK,D:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

END;

ARCHITECTUREbhvOFDFF3IS

SIGNALQ1:

STD_LOGIC;

BEGIN

PROCESS(CLK,D)BEGIN

IFCLK='1'--电平触发型寄存器

THENQ<=D;

ENDIF;

ENDPROCESS

Q<=Q1;--在此,赋值语句可以放在进程外,作为并行赋值语句

END;

五、实验报告:

分析比较实验内容1和2的仿真和实测结果,说明这两种电路的异同点

 

实训四1位全加器的设计

一、实验目的

熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个1位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

二、实验内容

1,在QuartusII9.0软件中完成半加器和的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此半加器电路设置成一个硬件符号入库。

2,建立一个更高层次的原理图设计,利用以上获得的半加器构成1位全加器,并完成编译、综合、适配、仿真和硬件测试。

三、实验仪器

1、ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。

2、并口延长线,JTAG延长线。

(所有实验均包括,以下实验中均略去)

3、安装QuartusII9.0软件的PC机。

(所有实验均包括,以下实验中均略去)

四、实验原理

1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor为同或符合,相同为1,不同为0)来实现。

先设计底层文件:

半加器,再设计顶层文件全加器。

(1)半加器的设计:

半加器表达式:

进位:

co=aandb

和:

so=axnor(notb

(2)全加器的设计:

画出全加器原理图。

五、实验注意事项

实验指导书中的所有实验内容都是针对主板系统的核心芯片EP1K30QC208-2来设计的,实验原理中提供了管脚分配情况,管脚分配好后必须通过成功编译才可以下载配置。

六、实验报告

列出半加器与全加器的真值表。

如果实验室条件允许,打印半加器和全加器仿真波形图贴于实验报告中。

用文字描述出怎样实现层次化设计。

1位全加器的实现方法很多,画出其它方法的原理图。

七、思考题

1、多位全加器就是在一位的原理上扩展而成的,设计出原理图输入的8位全加器。

2、集成电路全加器芯片有7480、7483等,试述其内部结构是如何实现的?

3、参考全加器的设计思路设计出原理图输入的1位全减器。

(提示:

全加器的设计是根据真值表来建立最简表达式,最简表达式应该是一些基本门电路,同样全减器的设计也是如此)。

 

实训五含异步清零和同步时钟使能的加法计数器的设计

一、实验目的

学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。

二、实验内容

1.在QuartusⅡ上对加法计数器的程序进行编辑、编译、综合、适配、仿真。

说明例中各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。

2.引脚锁定以及硬件下载测试。

引脚锁定后进行编译、下载和硬件测试实验。

将实验过程和实验结果写进实验报告。

三、实验仪器

电脑。

四、实验原理

加法计数器的VHDL程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT10IS

PORT(CLK,RST,EN:

INSTD_LOGIC;

CQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

COUT:

OUTSTD_LOGIC);

ENDCNT10;

ARCHITECTUREbehavOFCNT10IS

BEGIN

PROCESS(CLK,RST,EN)

VARIABLECQI:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

IFRST='1'THENCQI:

=(OTHERS=>'0');--计数器异步复位

ELSIFCLK'EVENTANDCLK='1'THEN--检测时钟上升沿

IFEN='1'THEN--检测是否允许计数(同步使能)

IFCQI<9THENCQI:

=CQI+1;--允许计数,检测是否小于9

ELSECQI:

=(OTHERS=>'0');--大于9,计数值清零

ENDIF;

ENDIF;

ENDIF;

IFCQI=9THENCOUT<='1';--计数大于9,输出进位信号

ELSECOUT<='0';

ENDIF;

CQ<=CQI;--将计数值向端口输出

ENDPROCESS;

ENDbehav;

五、实验报告:

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。

 

实训六数控分频器的设计

一、实验目的:

学习数控分频器的设计、分析和测试方法。

二、实验内容

1、在QuartusⅡ上对数控分频器的程序进行编辑、编译、综合、适配、仿真。

说明例中各语句功能、设计原理及逻辑功能,详述进程P_REG和P_DIV的作用,并画出该程序的RTL电路图。

2、给出其时序仿真波形。

提示:

用输入总线的方式给出输入信号仿真数据。

三、实验仪器

电脑。

四、实验原理

数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可,详细设计程序如下

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYDVFIS

PORT(CLK:

INSTD_LOGIC;

D:

INSTD_LOGIC_VECTOR(7DOWNTO0);

FOUT:

OUTSTD_LOGIC);

END;

ARCHITECTUREoneOFDVFIS

SIGNALFULL:

STD_LOGIC;

BEGIN

P_REG:

PROCESS(CLK)

VARIABLECNT8:

STD_LOGIC_VECTOR(7DOWNTO0);

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFCNT8="11111111"THEN

CNT8:

=D;--当CNT8计数计满时,输入数据D被同步预置给计数器

FULL<='1';--同时使溢出标志信号FULL输出为高电平

ELSECNT8:

=CNT8+1;--否则继续作加1计数

FULL<='0';--且输出溢出标志信号FULL为低电平

ENDIF;

ENDIF;

ENDPROCESSP_REG;

P_DIV:

PROCESS(FULL)

VARIABLECNT2:

STD_LOGIC;

BEGIN

IFFULL'EVENTANDFULL='1'THEN

CNT2:

=NOTCNT2;--如果溢出标志信号FULL为高电平,D触发器输出取反

IFCNT2='1'THENFOUT<='1';ELSEFOUT<='0';

ENDIF;

ENDIF;

ENDPROCESSP_DIV;

END;

参考仿真波形图如下:

五、实验报告:

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。

 

实验七序列检测器的设计

一、实验目的

用状态机实现序列检测器的设计,了解一般状态机的设计与应用。

二、实验内容

1、在QuartusⅡ上对序列检测器的程序进行编辑、编译、综合、适配、仿真。

了解控制信号的时序,最后进行引脚锁定并下载完成硬件测试实验。

2、将8位待检测预置数作为外部输入信号,即可以随时改变序列检测器中的比较数据。

写出此程序的符号化单进程状态机程序。

并在QuartusⅡ上对序列检测器的程序进行编辑、编译、综合、适配、仿真。

三、实验仪器

电脑。

四、实验原理

序列检测器可用于检测一组或多组二进制组成的脉冲序列信号,当检测器连续受到一组串行二进制码后,如果这组码与检测器中预置的码相同,则输出1,否则输出0.程序如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYSCHKIS

PORT(DIN,CLK,CLR:

INSTD_LOGIC;--串行输入数据位/工作时钟/复位信号

AB:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));--检测结果输出

ENDSCHK;

ARCHITECTUREbehavOFSCHKIS

SIGNALQ:

INTEGERRANGE0TO8;

SIGNALD:

STD_LOGIC_VECTOR(7DOWNTO0);--8位待检测预置数(密码=E5H)

BEGIN

D<="11100101";--8位待检测预置数

PROCESS(CLK,CLR)

BEGIN

IFCLR='1'THENQ<=0;

ELSIFCLK'EVENTANDCLK='1'THEN--时钟到来时,判断并处理当前输入的位

CASEQIS

WHEN0=>IFDIN=D(7)THENQ<=1;ELSEQ<=0;ENDIF;

WHEN1=>IFDIN=D(6)THENQ<=2;ELSEQ<=0;ENDIF;

WHEN2=>IFDIN=D(5)THENQ<=3;ELSEQ<=0;ENDIF;

WHEN3=>IFDIN=D(4)THENQ<=4;ELSEQ<=0;ENDIF;

WHEN4=>IFDIN=D(3)THENQ<=5;ELSEQ<=0;ENDIF;

WHEN5=>IFDIN=D

(2)THENQ<=6;ELSEQ<=0;ENDIF;

WHEN6=>IFDIN=D

(1)THENQ<=7;ELSEQ<=0;ENDIF;

WHEN7=>IFDIN=D(0)THENQ<=8;ELSEQ<=0;ENDIF;

WHENOTHERS=>Q<=0;

ENDCASE;

ENDIF;

ENDPROCESS;

PROCESS(Q)--检测结果判断输出

BEGIN

IFQ=8THENAB<="1010";--序列数检测正确,输出“A”

ELSEAB<="1011";--序列数检测错误,输出“B”

ENDIF;

ENDPROCESS;

ENDbehav;

五、实验报告

根据以上内容写出实验报告,包括设计原理、程序设计、程序分析、仿真分析、硬件测试和详细实验过程。

 

实训八十六进制七段数码显示译码器设计

一、实验目的:

1.学习7段数码显示译码器设计。

2.学习VHDL的CASE语句应用及多层次设计方法

二、实验内容

.在QuartusⅡ上对七段数码显示译码器的程序进行编辑、编译、综合、适配、仿真。

说明例中各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。

提示:

用输入总线的方式给出输入信号仿真数据。

三、实验仪器

电脑。

四、实验原理

7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。

七段数码显示译码器VHDL程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDECL7SIS

PORT(A:

INSTD_LOGIC_VECTOR(3DOWNTO0);

LED7S:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

END;

ARCHITECTUREoneOFDECL7SIS

BEGIN

PROCESS(A)

BEGIN

CASEAIS

WHEN"0000"=>LED7S<="0111111";

WHEN"0001"=>LED7S<="0000110";

WHEN"0010"=>LED7S<="1011011";

WHEN"0011"=>LED7S<="1001111";

WHEN"0100"=>LED7S<="1100110";

WHEN"0101"=>LED7S<="1101101";

WHEN"0110"=>LED7S<="1111101";

WHEN"0111"=>LED7S<="0000111";

WHEN"1000"=>LED7S<="1111111";

WHEN"1001"=>LED7S<="1101111";

WHEN"1010"=>LED7S<="1110111";

WHEN"1011"=>LED7S<="1111100";

WHEN"1100"=>LED7S<="0111001";

WHEN"1101"=>LED7S<="1011110";

WHEN"1110"=>LED7S<="1111001";

WHEN"1111"=>LED7S<="1110001";

WHENOTHERS=>NULL;

ENDCASE;

ENDPROCESS;

END;

其参考仿真波形图为:

 

五、实验报告:

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1