ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:125.82KB ,
资源ID:5668347      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5668347.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VHDL实验指导书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VHDL实验指导书.docx

1、VHDL实验指导书硬件描述语言及应用实验指导书河南科技大学电子信息工程学院VHDL语言及应用实验指导书宋 潇 主 编齐晶晶 副主编电工电子实验教学中心2010年3月目 录实验一 MAX+PLUS基本应用练习 1实验二 VHDL基本结构设计练习 6实验三 基本语句编程练习一 8实验四 基本语句编程练习二 10实验五 VHDL组合逻辑电路设计 12实验六 VHDL时序逻辑电路设计 14实验七 VHDL有限状态机设计 16附 录 各种下载板与主板主要器件连接关系表 18 实验一 MAX+PLUS基本应用练习为了使读者快速学会使用Altera公司的EDA工具软件MAX+PLUS,下面将以简单组合逻辑的

2、设计为例,讲解如何利用MAX+PLUS软件进行设计和测试的全过程。一、实验目的1、初步了解VHDL语言;2、了解VHDL语言的编程环境及开发软件MAX+PLUS的运行;3、了解开发软件MAX+PLUS的编译、仿真等。二、实验环境本指导书中的VHDL语言均在MAX+PLUS中进行编译仿真,有需要实验箱的情况下使用SE-5型实验箱,管脚的连接参照附录中各种下载板与主板主要器件连接关系表。 三、预习要求 初步掌握VHDL语言的基本结构,熟悉该数据类型与运算操作符,了解MAX+PLUS的运行过程。四、实验内容及步骤简单组合逻辑包括两个输入、三个输出,如下表1-1。表1-1 使用的信号及功能输入信号名功

3、能输出信号名功能in1开关输入out1in1in2开关输入out2非in1out3in1与in2out4in1或in2out5in1异或in21、原理图设计图1-1简单组合逻辑的原理图设计2、VHDL源程序(1)创建新目录及启动MAX+PLUSa、建立新目录在创建新项目之前,首先要为该设计(项目)建立一个新目录,如“e:example”。b、启动MAX+PLUS软件从“开始”菜单选择“程序”中的MAX+PLUS项,或双击桌面上“max2win.exe”图标,就进入到MAX+PLUS软件的集成环境界面。 (2)创建源文件a、生成一个新的文本文件选择菜单“File”“New”或单击工具条中的图标,

4、出现如图1-2所示的对话框。图1-2 New对话框选择“Text Editor file”(文本编辑方式),然后单击“OK”按钮,会出现一个如图1-4所示的无标题文本编辑窗口“Untitled-Text Editor”。图1-3 文本编辑窗口b、输入简单组合逻辑的源程序exp.vhd在出现的“Untitled-Text Editor”文本编辑窗口中输入如下简单组合逻辑的VHDL源程序exp.vhd。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY exp IS PORT(in1,in2:IN STD_LOGIC; out1,out2,out3,ou

5、t4,out5:OUT STD_LOGIC);END exp;ARCHITECTURE art1 OF exp ISBEGIN out1=in1; out2=NOT in1; out3=in1 AND in2; out4=in1 OR in2; out5=in1 XOR in2;END ARCHITECTURE art1;c、保存文件输入完毕后,选择菜单“File“Save”或单击工具条中的图标,首先在“File Name”栏中输入文件名“exp.vhd”。(注意文件后缀的选择,在MAX+PLUS中,文件的后缀决定所使用的语言。后缀“.vhd”表示VHDL文件,“.tdf”表示AHDL文件,“

6、.v”表示Verilog文件。)然后在“Drives”驱动器选择栏中选择刚刚建立的项目路径所在的驱动器“e:”,在“Directories”路径栏中选择所建立的项目路径“example”,最后在“Automatic Extension”(自动扩展名)的下拉菜单中选择“.vhd”,再单击“OK”按钮,即把两输入或门的源程序“exp.vhd”保存在目录“e:example”中。d、设定项目及编译选择菜单“File”“Project”“Set Project to Current File”,使当前的项目名为exp,即软件自动使项目名与源程序名一致,这时源程序就处于该项目下。选择菜单“MAX+PLU

7、S”“Compiler”出现图1-4对话框。图1-4 编译对话框点击“Start”,对源文件进行编译。编译成功后可生成时序模拟文件及器件编程文件。若有错误,编译器将停止编译,并在下面的信息框中给出错误信息,双击错误信息条,一般可给出错误之处。(注意:在改正源程序错误的时候,应该按照错误提示中行数从上到下纠正,每纠正一个,就需要保存编译,再查看出错地方,直到没有错误为止。这样做的原因是,很多后续错误可能是由于前面某行出错引起的)。e、项目校验项目校验包括以下几步:(a)建立输入波形文件;(b)编辑输入节点波形,即为输入信号建立输入波形;(由于在数字电子技术实验中已经学会使用这部分功能,不再作详细

8、介绍,可参照MAX+PLUS及VHDL实用教程。)(c)记录输入、输出的波形图。f、创建元件图形符号选择菜单“File” “Edit Symbol”会出现如图1-5所示创建的元件符号,从符号中可以看出,该元件有两个输入in1、in2,五个输出out1、out2、out3、out4、out5,正是源程序中所描述的。图1-5 创建的orm2元件图形符号3、目标器件选择与管脚锁定 本实验中采用SE-5型实验箱,选择FLEX10K器件系列中的EPF10K10LC84-3器件。管脚锁定将输入锁定到数据开关K1K10中的任意两个,输出锁定到发光管l1l10的任意五个,参照附录中各种下载板与主板主要器件连接

9、关系表自行锁定管脚,记录管脚锁定情况。注意:完成管脚锁定后,需要重新编译使之生效。重新编译之后,再重新进行项目校验(时序仿真),若正确,可进行下一步:器件编程/配置。5、器件编程/配置通过数据开关及发光管是否点亮验证简单逻辑组合功能的实现情况。(由于在数字电子技术实验中已经学会使用这部分功能,不再作详细介绍,可参照MAX+PLUS及VHDL实用教程。)五、思考题1、 本次实验中采取了先建立源程序文件,再使其成为顶层项目的办法(即使项目名与源程序文件名一致)。是否可以先建立新项目,再在该项目下建立源文件?写出操作步骤。2、 写出VHDL源程序在MAX+PLUS软件环境中的主要操作步骤。六、实验报

10、告要求1、 写出实验题目、实验目的、实验原理、实验仪器、实验内容。2、 记录简单逻辑组合的仿真波形图。3、 记录管脚连接及实现情况。实验二 VHDL基本结构设计练习一、实验目的1、 了解VHDL的基本结构。2、 了解实体、结构体的格式及功能。3、 了解二选一选择电路的VHDL描述。二、预习要求1、 预习使用VHDL语言描述基本结构。2、 掌握实体、结构体的格式及功能。3、 理解本实验中二选一选择电路的原理和VHDL描述方式。三、实验内容及步骤 二选一选择器具有一个两位的输入input,选择输入sel,输出y。当sel=0时,y输出input(0);当sel=1时,y输出input(1)。以下两

11、个源程序均是描述二选一选择器的,程序mux2从功能角度来描述,程序mux_2从内部电路结构来描述。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux2 IS PORT(input:IN STD_LOGIC_VECTOR(1 DOWNTO 0); sel:IN STD_LOGIC; y:OUT STD_LOGIC);END ENTITY mux2;ARCHITECTURE rtl OF mux2 ISBEGIN y=input(0) WHEN sel=1 ELSE input(1);END rtl;LIBRARY IEEE;USE IEEE.S

12、TD_LOGIC_1164.ALL;ENTITY mux_2 IS PORT(input:IN STD_LOGIC_VECTOR(1 DOWNTO 0); sel:IN STD_LOGIC; y:OUT STD_LOGIC);END ENTITY mux_2;ARCHITECTURE rtl OF mux_2 ISSIGNAL tmp1,tmp2,tmp3:STD_LOGIC;BEGIN tmp1=input(0) AND sel; tmp2=input(1) AND (not sel); tmp3=tmp1 OR tmp2; y=tmp3;END rtl;1、将上述mux2.vhd和mux_

13、2.vhd源程序在MAX+PLUS环境中运行,包括编译、仿真,通过产生的波形图验证其功能,并分别记录输入输出波形图,其中波形输入自行设定。*2、基于已经实现二选一选择器,试设计一个四选一选择器。 四、思考题1、 写出实体、结构体的格式。 2、 根据mux_2.vhd,画出二选一选择器的电路图,包括内部的门级结构和输入输出引脚,并标出内部各导线及输入输出引脚的名称。 五、实验报告要求1、 写出实验题目、实验目的、实验原理、实验仪器、实验内容。2、 写出两个源程序。3、 记录波形仿真图。* 4、 记录实验内容2中的波形仿真图和传输延时分析。实验三 基本语句编程练习一一、实验目的1、 了解VHDL语

14、言中的顺序语句。2、 了解顺序语句中的PROCESS、IF格式及功能。3、 了解优先编码器的原理及VHDL的描述方式。二、预习要求1、 预习VHDL语言中的顺序语句。2、 掌握优先编码器的原理结构和用VHDL实现。3、 预习顺序语句中的PROCESS、IF的格式及功能。三、实验内容及步骤设计一个8输入的优先编码器,输入分别为a7、a6、a5、a4、a3、a2、a1、a0,输出b(三位),其真值表如表3-1,元件图形符号如图3-1。表3-1 8输入的优先编码器真值表输入输出a7a6a5a4a3A2a1a0b2b1b01111011100011010001100000010110000010100

15、00000100100000001000图3-1 8输入的优先编码器元件图形符号根据以上真值表和元件图形符号设计一个优先编码器,要求分别使用IF ELSIFEND IF语句和IF END IF语句两种方式实现,注意其中a0a7的顺序。如果改变顺序,是否仍然能够实现功能。1、用VHDL语言设计上述优先编码器。2、将已设计好的两个源程序在MAX+PLUS环境中运行,包括编译、仿真,通过产生的波形图验证其功能,并记录输入输出波形图,其中波形输入自行设定。3、分别改变两个源程序中a0a7的顺序,再进行仿真,观察其结果是否改变。四、思考题1、 写出顺序语句中的PROCESS、IF的格式2、 两种实现方法

16、中a0a7的顺序分别是什么?代表了什么原理?五、实验报告要求1、 写出实验题目、实验目的、实验原理、实验仪器、实验内容。2、 写出两个源程序。3、 记录波形仿真图。实验四 基本语句编程练习二一、实验目的1、 了解VHDL语言中的并行语句。2、 了解并行语句中的ARCHITECTURE内部PROCESS之间的并行以及PROCESS内部的顺序。3、 了解BCD码六十进制同步计数器的原理及VHDL的描述方式。二、预习要求1、 预习VHDL语言中并行语句的格式及功能2、 预习PROCESS进程之间的同步。3、 根据实验内容设计两进程的BCD码六十进制同步计数器。三、实验内容及步骤设计一个BCD码六十进

17、制同步计数器,个位显示09,使用进程p1,十位显示05,使用进程p2,两个进程PROCESS的敏感信号均为clk,个位十位均用4位二进制数表示。个位每计到9,十位就自动计一个数。十位计到5,个位计到9,整个计数器就清零,并输出一个进位信号。该器件具有的端口及功能如下:clk:输入时钟clr:同步清零oc:六十进制的进位输出y0:四位,计数个位y1:四位,计数十位BCD码六十进制同步计数器的元件图形符号如图4-1所示。图4-1 BCD码六十进制同步计数器的元件图形符号1、将上述源程序在MAX+PLUS环境中运行,包括编译、仿真,通过产生的波形图验证其功能,并记录输入输出波形图,其中波形输入自行设

18、定。2、进行传输延时分析并记录之。3、将该设计进行目标器件选择、管脚锁定、器件编程/配置。验证是否实现六十计数。记录管脚锁定情况。参考附录中各种下载板与主板主要器件连接关系表。*4、如果将十位计数进程的敏感信号改为个位计数的进位信号,那么编写该源程序,在MAX+PLUS环境中运行,包括编译、仿真,通过产生的波形图验证其功能,并记录输入输出波形图,其中波形输入自行设定。四、思考题1、 在两个进程之间是如何配合工作的?哪些语句完成了这个功能?2、 如果改为异步清零,在源程序中怎么改?3、 画出源程序的流程图。* 4、 画出实验内容(四)的流程图。五、实验报告要求1、 写出实验题目、实验目的、实验原

19、理、实验仪器、实验内容。2、 写出源程序。3、 记录波形仿真图分析。4、 记录管脚锁定情况。* 5、 写出实验内容(四)的源程序,并记录仿真波形。实验五 VHDL组合逻辑电路设计一、实验目的1、 了解VHDL组合逻辑电路设计。2、 掌握一位全加器的VHDL实现方法。3、 学习使用COMPONENT语句实现组合逻辑电路。二、预习要求1、 预习如何使用VHDL语言设计组合逻辑电路。2、 掌握一位全加器的原理及结构。3、 预习COMPONENT语句的格式及功能。4、 根据实验原理写出一位全加器的VHDL源程序。三、实验内容及步骤一位全加器的真值表5-1,ain、bin是一位的加数与被加数,cin是低

20、位向本位的进位,cout是本位向更高位的进位,sum是本位和。一位全加器如图5-2所示的f_adder、它由半加器、或门实现系统,图5-1是半加器h_adder的电路结构图,使用VHDL分别写出h_adder.vhd和f_adder.vhd的源程序实现一位全加器。表5-1一位全加器真值表ainbincincoutsum0000000101010010111010001101101101011111 图5-1 半加器h_adder 图5-2 一位全加器f_adder1、将上述源程序在MAX+PLUS环境中运行,包括编译、仿真,通过产生的波形图验证其功能,并记录输入输出波形图,其中波形输入自行设定

21、。2、将该设计进行目标器件选择、管脚锁定、器件编程/配置。验证是否实现一位全加其功能。记录管脚锁定情况。参考附录中各种下载板与主板主要器件连接关系表。*3、根据表5-1写出输入输出之间的逻辑表达式,通过该逻辑表达式重新编写VHDL代码,并编译仿真。四、思考题1、根据表5-1写出输入输出之间的逻辑表达式。2、通过该逻辑表达式编写一位全加器的VHDL代码。五、实验报告要求1、 写出实验题目、实验目的、实验原理、实验仪器、实验内容。2、 写出半加器和一位全加器两个源程序。3、 记录波形仿真图。4、 记录管脚锁定情况。实验六 VHDL时序逻辑电路设计一、实验目的1、 了解VHDL时序逻辑电路设计。2、

22、 掌握四位移位寄存器的VHDL实现方法。3、 了解信号赋值语句生成寄存器的功能。二、预习要求1、 预习如何使用VHDL设计时序电路。2、 掌握时钟clk设置的方法。3、 根据实验原理使用VHDL语言设计一个四位移位寄存器。三、实验内容及步骤图6-1 四位移位寄存器图6-1为四位移位寄存器,串行输入串行输出,由四个D触发器组成。具有两个输入端(数据输入端d和时钟输入端clk)与一个数据输出端q,在时钟信号的作用下,前级的信号向后级移动。编写VHDL源程序。要求:(1)首先编写D触发器的VHDL代码,然后使用COMPONENT调用D触发器设计四位移位寄存器的VHDL源程序;(2)观察各D触发器之间

23、的信号连接情况,使用信号赋值语句完成四位移位寄存器的VHDL源程序。将上述源程序在MAX+PLUS环境中运行,包括编译、仿真,通过产生的波形图验证其功能,并记录输入输出波形图,其中波形输入自行设定。四、思考题1、 根据实验内容(2),如果将内部连接的信号设置成变量,是否能够实现该四位移位寄存器?2、如果将输入及输出改为并口,图5-1应该如何改变?五、实验报告要求1、 写出实验题目、实验目的、实验原理、实验仪器、实验内容。2、 写出实验内容的源程序。3、 记录波形仿真图。实验七 VHDL有限状态机设计一、实验目的1、 本实验为综合性实验,在了解有限状态机的原理与功能的基础上,巩固前面各章所学的知

24、识,如语言基本结构、顺序语句、数据类型、时序逻辑、组合逻辑描述等。2、 了解序列检测器的原理和设计方法。3、 掌握根据状态转换图设计有限状态机。二、预习要求1、 预习有限状态机的几种不同风格,并比较它们之间的差别。2、 根据序列检测器的功能,画出状态转换图。3、 根据序列检测器的状态转换图自行设计有限状态机。三、实验内容及步骤 设计实现一个序列检测器,输入是一个串行位流。当出现序列“111”时,输出d为1。这里必须考虑出现长连1的问题,也就是说,如果出现“0111110”,则输出就要保持连续三个时钟周期的1。图5-1给出了这个状态机的状态转换图,这里由四个状态,命名为:zero,one,two

25、和three,分别对应检测到的连续1的个数。图7-1序列检测器状态转换图2、将已设计好的源程序在MAX+PLUS环境中运行,包括编译、仿真,通过产生的波形图验证其功能,并记录输入输出波形图,其中波形输入自行设定。四、思考题1、 分别写出Moore状态机和Mearly状态机的原理和功能,并比较它们之间的差别。2、 若检测到四个或四个以上的连1时,输出d=0,那么状态转换图该如何更改?五、实验报告要求1、 写出实验题目、实验目的、实验原理、实验仪器、实验内容。2、 写出源程序。3、 记录波形仿真图。附录 各种下载板与主板主要器件连接关系表P1序号主要器件名称信号名兼容器件名兼容信号名F10K101

26、电源正极VCCVCC2输出发光管L16U122864CS1253输出发光管L15CS2244输出发光管L14WE235输出发光管L13TLC7528WR226输出发光管L12DACA/B217输出发光管L11TLC549CS198输出发光管L10OUT189输出发光管L9CLK1710数码管M6M6AMS1MS88段显示器信号a1611M6Bb1112M6Cc1013M6Dd914数码管M5M5Ae815M5Bf716M5Cg617M5Ddp518数码管M4M4AMS1MS8动态扫描控制线MS8319M4BMS78320M4CMS68121M4DMS58022数码管M3M3AMS47923M3

27、BMS37824M3CMS27325M3DMS17226数码管M2M2AVGAV-SY7127M2BADM20E(RS232)RXD7028M2CTXD6929M2D67序号主要器件名称信号名兼容器件名兼容信号名F10K1030数码管M1M1AVGARED/JK16631M1BGRE/JK26532M1CBLU6433M1DH-SY6234输出发光管L8TLC7528D76135输出发光管L7D66036输出发光管L6D55937输出发光管L5D45838输出发光管L4D35439输出发光管L3D25340地端GNDGNDP241电源正极VCCVCC424344454647484950扬声器SPU122864A122751数据开关K1A02852数据开关K2A12953数据开关K3A23054数据开关K4A33555数据开关K5A43656数据开关K6A53757数据开关K7A63858数据开关K8A73959数据开关K9A84760数据开关K10A9486

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

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