硬件描述语言及器件实验指导实验指导书最终版Word文件下载.docx
《硬件描述语言及器件实验指导实验指导书最终版Word文件下载.docx》由会员分享,可在线阅读,更多相关《硬件描述语言及器件实验指导实验指导书最终版Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
三、实验说明
1.台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载的平台,供用户使用。
2.可编程逻辑逻辑器件实验软件向原理图的设计提供平台,并将调试好的原理图下载到可编程逻辑逻辑器件中。
3.下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。
4.示波器用于观察可编程逻辑器件执行程序时输出信号的变化。
四、实验内容与要求
用硬件描述语言的方法设计一个三输入与门电路,要求:
(1)根据三输入与门的逻辑表达式,在构造体中直接使用并行赋值语句实现,并进行仿真;
(2)根据三输入与门的真值表,在构造体中使用进程语句实现,并进行仿真;
五、实验步骤(下面七个的实验的软件的使用具体步骤跟本次试验一样不再详述)
1.打开新建菜单选择“textedtiorfile”,这个文件是写程序编程用的。
2.程序写完后点“保存”,注意
(1)保存的格式是.vhd,
(2)保存的地址不能是桌面和硬盘的根目录,否则在后面的编程将出现错误。
3.在file→projectset→projecttocurrentfile,这步是将文件设置在工程里,能够正常编译和下载。
4.在“assign→device”选择下载设备的芯片型号,如果芯片型号选错将导致以后能编译成功但下载到实验箱时无法正常工作。
5.在“max+plux”中选择“compiler”进行编译。
6.在下载到实验箱之前先进行仿真观察结果是否满足实验要求,打开“MAX+PLUS—waveformeditor”做波形仿真
7.点击鼠标右键选择“enternodesfromSNF”,选择输入A,B,C和输出管脚F,点击
8.在file→projectset→projecttocurrentfile,这步是将文件设置在工程里,能够进行正常的仿真,否则后面的过程将不能进行
9.点击如图所示按键设置输入管脚A,B,C的时钟周期,点击“MAX+PLUS”中simulator进行仿真,观察结果是否和预设的一样。
10.仿真结果正确后设置实验箱芯片,点击“MAX+PLUS”中Floorplaneditor,将输入管脚A,B,C和输出管脚F拖到芯片管脚中的I/O管脚中
11.点击“MAX+PLUS”中programmer,在hardwaretype中选择byteblaster(mv),parallelport选择LPT1进行下载。
其他方式都会出现错误。
六、实验报告要求
1、整理实验结果,填写实验报告。
2、小结实验心得体会。
第2章实验二用硬件描述语言的方法设计一个三-八译码器
1.掌握IF语句和CASE语句的使用方法。
2.掌握用硬件描述语言设计三-八译码器的方法。
根据三-八译码器的真值表,用硬件描述语言的方法设计一个三-八译码器,要求:
(1)使用IF语句实现,并进行仿真;
(2)使用CASE语句实现,并进行仿真;
五、实验步骤
1.打开MAX+PLUS软件,点击“file”中“new”建立“textedtiorfile”文档并输入该实验的程序。
2.选择菜单“File”→“SaveAs”,选择为自己建立的工程文件夹,将已编程好的程序保存(注意后缀是.vhd)在此文件夹内。
注意:
文件夹名不能用中文,且不可带空格。
3.在“project”中设置“setprojecttocurrentfile”把文档设置在工程下,否则会在时出现错误。
4.选择“Assign”菜单中“Device”项,弹出Device对话框,在Device对话框中选择实验箱上的芯片型号。
注意如果芯片型号选择错误,后面的过程一定会出现错误。
5.选择“max+plus”菜单中“complier”对实验程序进行编译,检查程序是否有错误。
出现warning时有时可以忽略不计,但出现错误一定要及时修改直至无错误出现。
6.选择“max+plus”菜单中“waveformeditor”,将设置输入、输出管脚的初值和其周期,观察结果是否符合实验要求,如不符合要修改程序来满足实验要求。
7.在“project”中设置“setprojecttocurrentfile”把文档设置在程序编程所在的工程下,否则会在时出现错误。
8.选择“MAX+PLUS”中“Floorplaneditor”,设置输入、输出管脚在芯片I/O上。
9.选择菜单MAX+plus中“Programmer”,同时在Options菜单上选中HardwareSetup,在HardwareType中,选择ByteBlaster,在ParallelPort中,选择LPT1,然后按OK,此时硬件连接完毕。
观察实验箱结果是否符合实验要求,并记录实验结果。
第3章实验三用硬件描述语言的方法设计一个D触发器
1、掌握同步复位和异步复位的实现方法。
2、掌握用硬件描述语言表示上升沿和下降沿的方法。
3、掌握用硬件描述语言设计D触发器的方法。
用硬件描述语言的方法设计一个D触发器,要求:
(1)实现异步复位/置位、上升沿触发的D触发器,并进行仿真;
(2)实现同步复位/置位、下降沿触发的D触发器,并进行仿真;
第4章实验四用硬件描述语言的方法设计一个分频器
1、掌握各种分频器的设计思路
2、掌握用硬件描述语言设计各种分频器的方法
用硬件描述语言的方法设计一个分频器,要求:
(1)实现四分频器,并进行仿真;
(2)实现五分频器,并进行仿真;
3、回答思考题
分频器在数字系统的设计中主要作用是什么,具体的应用有哪些?
第5章
实验五用硬件描述语言的方法设计一个状态机
1、掌握MOORE状态机和MEALY状态机的功能和特点;
2、掌握用硬件描述语言设计状态机的方法。
四、实验内容
用硬件描述语言的方法设计一个状态机,要求:
(1)按照图1所示的状态转换图设计状态机,并进行仿真;
(2)按照图2所示的状态转换图设计状态机,并进行仿真;
图1状态转换图1mealy
图2状态转换图2moore
状态机在数字系统的设计中主要作用是什么,具体的应用有哪些?
第6章实验六用硬件描述语言的方法设计一个MEALY状态机
1、掌握MEALY状态机的功能和特点;
2、掌握用硬件描述语言设计MEALY状态机的方法。
图4-1状态一
图4-2状态二
Mealy型状态机和其等价的Moore型状态机相比,其输出变化要领先一个时钟周期。
下面我们以一个实例来介绍Mealy机的设计过程。
状态图和状态框图分别见图4-3和图4-4。
如图4-3所示,Mealy机的输出既和当前状态有关,又和所有输入信号有关。
也就是说,一旦输入信号发生变化或状态发生变化,输出信号立即发生变化,因此在状态图中,一般把输出信号值画在状态变迁处。
例如:
假定当前状态为S0,当输入信号为‘1’时,输出信号为“1001”;
当输入信号不是‘1’时,输出信号为“0000”。
构造Mealy机的方法和Moore机相同,唯一的区别是:
组合进程中的输出信号是当前状态和当前输入的函数。
图4-3Mealy机的状态图
图4-4Mealy机的框图
输入输出信号仿真波形如下图4-5:
图4-5波形仿真时序图
例程如下:
libraryieee;
useieee.std_logic_1164.all;
entitymealyis
port(clk,in1,rst:
instd_logic;
out1:
outstd_logic_vector(3downto0));
end;
architectureaofmealyis
typestate_typeis(s0,s1,s2,s3);
signalstate:
state_type;
begin
mealy_process:
process(clk,rst)
begin
ifrst=’1’then
state<
=s0;
elsifrising_edge(clk)then
casestateis
whens0=>
ifin1=’1’then
state<
=s1;
endif;
whens1=>
ifin1=’0’then
=s2;
whens2=>
=s3;
whens3=>
endcase;
endif;
endprocessmealy_process;
output_process:
process(state,in1)
casestateis
whens0=>
ifin1=’1’then
out1<
=”1001”;
else
=”0000”;
endif;
whens1=>
ifin1=’0’then
=”1100”;
whens2=>
=”1111”;
whens3=>
endcase;
endprocessoutput_process;
enda;
MEALY状态机在数字系统的设计中主要作用是什么,具体的应用有哪些?