硬件描述语言及器件概要.docx
《硬件描述语言及器件概要.docx》由会员分享,可在线阅读,更多相关《硬件描述语言及器件概要.docx(14页珍藏版)》请在冰豆网上搜索。
![硬件描述语言及器件概要.docx](https://file1.bdocx.com/fileroot1/2023-5/23/b0a43104-9c01-4bed-b137-825cf07d949b/b0a43104-9c01-4bed-b137-825cf07d949b1.gif)
硬件描述语言及器件概要
硬件描述语言及器件
实验指导书
电子科学与技术专业组
实验一用硬件描述语言的方法设计一个4位加法器
一、实验目的
1、掌握4位加法器的功能和设计方法;
2、掌握用硬件描述语言的方法设计组合逻辑电路——4位加法器。
二、实验器材
1、台式计算机1台
2、可编程逻辑逻辑器件实验软件1套
3、下载电缆一套
4、示波器一台
三、实验说明
1、台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载的平台,供用户使用。
2、可编程逻辑逻辑器件实验软件向硬件描述语言的编写提供平台,并将调试好的程序下载到可编程逻辑逻辑器件中。
3、下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。
4、示波器用于观察可编程逻辑逻辑器件执行程序时输出信号的变化
四、实验内容和步骤
1、设计一个8位的全加器,其框图如图4-1所示。
图中的“进位入”Ci-1指的是低位的进位输出,“进位出”Ci即是本位的进位输出。
图1-18位全加器原理图
2、全加器的17个输入所对应的管脚同17位拨码开关相连,17个输入管脚是a0~a7、b0~b7和cina0~a7、b0~b7代表两个8位二进制数,cin代表进位位;9个输出所对应的管脚同9位发光二极管相连,9个输出管脚是sum0~sum7和cout,sum0~sum7代表相加结果,cout代表进位位。
3、将设计好的逻辑功能转为硬件描述语言的描写
4、将设计好的硬件描述语言进行仿真
5、将仿真好的硬件描述语言下载到可编程逻辑逻辑器件中
五、实验报告要求
1、整理实验结果,填写实验报告。
2、小结实验心得体会。
3、回答思考题
什么叫全加器,它的作用是什么?
4位加法器和全加器的区别和联系是什么?
实验二用硬件描述语言的方法设计一个分频器
一、实验目的
1、掌握各种分频器的设计思路
2、掌握用硬件描述语言的方法设计各种分频器
二、实验器材
1、台式计算机1台
2、可编程逻辑逻辑器件实验软件1套
3、下载电缆一套
4、示波器一台
三、实验说明
1、台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载的平台,供用户使用。
2、可编程逻辑逻辑器件实验软件向硬件描述语言的编写提供平台,并将调试好的程序下载到可编程逻辑逻辑器件中。
3、下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。
4、示波器用于观察可编程逻辑逻辑器件执行程序时输出信号的变化
四、实验内容和步骤
1、设计偶数分频器、奇数分频器、半整数分频器和大数目分频器的逻辑功能,即输入输出的关系
2、将设计好的逻辑功能转为硬件描述语言的描写
3、将设计好的硬件描述语言进行仿真
4、将仿真好的硬件描述语言下载到可编程逻辑逻辑器件中
5、用示波器观察可编程逻辑逻辑器件输出的信号
五、实验报告要求
1、整理实验结果,填写实验报告。
2、小结实验心得体会。
3、回答思考题
分频器在数字系统的设计中主要作用是什么,具体的应用有哪些?
实验三 用硬件描述语言的方法设计一个MOORE状态机
一、实验目的
掌握MOORE状态机的功能和设计方法
二、实验器材
1、台式计算机1台
2、可编程逻辑逻辑器件实验软件1套
3、下载电缆一套
4、示波器一台
三、实验说明
1、台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载的平台,供用户使用。
2、可编程逻辑逻辑器件实验软件向硬件描述语言的编写提供平台,并将调试好的程序下载到可编程逻辑逻辑器件中。
3、下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。
4、示波器用于观察可编程逻辑逻辑器件执行程序时输出信号的变化
四、实验内容和步骤
图3-1状态一
图3-2状态二
下面我们以一个存储控制器状态机的设计过程来介绍Moore机的设计。
设计要求:
设计一个存储控制器状态机。
能够根据微处理器的读写周期,分别对存储器输出写使能WE和读使能OE信号。
工作过程:
存储控制器的输入信号为微处理器的就绪READY及读写read_write信号。
当上电复位后,或read有效时,存储控制器开始工作,并在下一个时钟周期判断本次作业任务是读存储器还是写存储器。
判断的依据是,当read_write有效时为读操作,否则为写操作。
也就是说非读即写。
读操作时,OE信号有效,写操作时,WE信号有效。
当READY信号有效时,表示读本次作业处理完成,并使控制器恢复到初始状态。
控制器真值表见表3-1,状态图见图3-3。
图3-3存储器控制器状态图
表3-1存储控制器真值表
状态
输出
OE
WE
空闲(IDLE)
0
0
判断(DECISION)
0
0
写(WRITE)
0
1
读(READ)
1
0
程序原代码:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmooreIS
PORT(clk,ready,read_write:
INStd_Logic;
oe,we:
OUTStd_Logic);
ENDmoore;
ARCHITECTUREstate_machineOFMooreIS
TYPEstate_typeIS(idle,decision,read,write);
SIGNALpresent_state,next_state:
state_type;
BEGIN
state_comb:
PROCESS(present_state,ready,read_write)
BEGIN
CASEpresent_stateIS
WHENidle=>
oe<='0';
we<='0';
IF(ready='1')THEN
next_state<=decision;
ELSE
next_state<=idle;
ENDIF;
WHENdecision=>
oe<='0';
we<='0';
IF(read_write='1')THEN
next_state<=read;
ELSE
next_state<=write;
ENDIF;
WHENread=>
oe<='1';
we<='0';
IF(ready='1')THEN
next_state<=idle;
ELSE
next_state<=read;
ENDIF;
WHENwrite=>
oe<='0';
we<='1';
IF(ready='1')THEN
next_state<=idle;
ELSE
next_state<=write;
ENDIF;
ENDCASE;
ENDPROCESSstate_comb;
state_clocked:
PROCESS(clk)
BEGIN
IF(rising_edge(clk))THEN
present_state<=next_state;
ENDIF;
ENDPROCESSstate_clocked;
ENDstate_machine;
2、输入时钟信号接时钟电路的相应输出(CLK0~CLK5),复位信号接拨码开关或按键,输出信号接发光二极管。
3、将设计好的逻辑功能转为硬件描述语言的描写
4、将设计好的硬件描述语言进行仿真
5、将仿真好的硬件描述语言下载到可编程逻辑逻辑器件中
五、实验报告要求
1、整理实验结果,填写实验报告。
2、小结实验心得体会。
3、回答思考题
MOORE状态机在数字系统的设计中主要作用是什么,具体的应用有哪些?
实验四用硬件描述语言的方法设计一个MEALY状态机
一、实验目的
掌握MOORE状态机的功能和设计方法
二、实验器材
1、台式计算机1台
2、可编程逻辑逻辑器件实验软件1套
3、下载电缆一套
4、示波器一台
三、实验说明
1、台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载的平台,供用户使用。
2、可编程逻辑逻辑器件实验软件向硬件描述语言的编写提供平台,并将调试好的程序下载到可编程逻辑逻辑器件中。
3、下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。
4、示波器用于观察可编程逻辑逻辑器件执行程序时输出信号的变化
四、实验内容和步骤
图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
state<=s2;
endif;
whens2=>
ifin1=’1’then
state<=s3;
endif;
whens3=>
ifin1=’0’then
state<=s0;
endif;
endcase;
endif;
endprocessmealy_process;
output_process:
process(state,in1)
begin
casestateis
whens0=>
ifin1=’1’then
out1<=”1001”;
else
out1<=”0000”;
endif;
whens1=>
ifin1=’0’then
out1<=”1100”;
else
out1<=”1001”;
endif;
whens2=>
ifin1=’1’then
out1<=”1111”;
else
out1<=”1001”;
endif;
whens3=>
ifin1=’0’then
out1<=”0000”;
else
out1<=”1111”;
endif;
endcase;
endprocessoutput_process;
enda;
2、输入时钟信号接时钟电路的相应输出(CLK0~CLK5),复位信号接拨码开关或按键,输出信号接发光二极管。
3、将设计好的逻辑功能转为硬件描述语言的描写
4、将设计好的硬件描述语言进行仿真
5、将仿真好的硬件描述语言下载到可编程逻辑逻辑器件中
五、实验报告要求
1、整理实验结果,填写实验报告。
2、小结实验心得体会。
3、回答思考题
MEALY状态机在数字系统的设计中主要作用是什么,具体的应用有哪些?