1、硬件描述语言及器件概要硬件描述语言及器件实 验 指 导 书电子科学与技术专业组实验一 用硬件描述语言的方法设计一个4位加法器一、实验目的1、掌握4位加法器的功能和设计方法;2、掌握用硬件描述语言的方法设计组合逻辑电路4位加法器。二、实验器材1、台式计算机 1台 2、可编程逻辑逻辑器件实验软件1套 3、下载电缆一套 4、示波器一台三、实验说明1、台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载的平台,供用户使用。 2、可编程逻辑逻辑器件实验软件向硬件描述语言的编写提供平台,并将调试好的程序下载到可编程逻辑逻辑器件中。 3、下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电
2、缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。 4、示波器用于观察可编程逻辑逻辑器件执行程序时输出信号的变化 四、实验内容和步骤1、设计一个8 位的全加器,其框图如图4-1所示。图中的“进位入”Ci-1指的是低位的进位输出,“进位出”Ci即是本位的进位输出。图 1-1 8位全加器原理图2、全加器的17个输入所对应的管脚同17位拨码开关相连,17个输入管脚是a0a7、b0b7和cin a0a7、b0b7代表两个8位二进制数,cin代表进位位;9个输出所对应的管脚同9位发光二极管相连,9个输出管脚是sum0sum7和cout,sum0sum7代
3、表相加结果,cout代表进位位。3、将设计好的逻辑功能转为硬件描述语言的描写4、将设计好的硬件描述语言进行仿真5、将仿真好的硬件描述语言下载到可编程逻辑逻辑器件中 五、实验报告要求 1、 整理实验结果,填写实验报告。 2、 小结实验心得体会。 3、 回答思考题 什么叫全加器,它的作用是什么? 4位加法器和全加器的区别和联系是什么?实验二 用硬件描述语言的方法设计一个分频器一、实验目的1、掌握各种分频器的设计思路2、掌握用硬件描述语言的方法设计各种分频器二、实验器材1、台式计算机 1台 2、可编程逻辑逻辑器件实验软件1套 3、下载电缆一套 4、示波器一台三、实验说明1、台式计算机用于向可编程逻辑
4、逻辑器件实验软件提供编程、仿真、下载的平台,供用户使用。 2、可编程逻辑逻辑器件实验软件向硬件描述语言的编写提供平台,并将调试好的程序下载到可编程逻辑逻辑器件中。 3、下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。 4、示波器用于观察可编程逻辑逻辑器件执行程序时输出信号的变化四、实验内容和步骤1、设计偶数分频器、奇数分频器、半整数分频器和大数目分频器的逻辑功能,即输入输出的关系2、将设计好的逻辑功能转为硬件描述语言的描写3、将设计好的硬件描述语言进行仿真4、将仿真好的硬件描述语言下
5、载到可编程逻辑逻辑器件中5、用示波器观察可编程逻辑逻辑器件输出的信号五、实验报告要求1、整理实验结果,填写实验报告。 2、小结实验心得体会。 3、回答思考题 分频器在数字系统的设计中主要作用是什么,具体的应用有哪些?实验三用硬件描述语言的方法设计一个MOORE状态机一、实验目的掌握MOORE状态机的功能和设计方法二、实验器材1、台式计算机 1台 2、可编程逻辑逻辑器件实验软件1套 3、下载电缆一套 4、示波器一台三、实验说明1、台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载的平台,供用户使用。 2、可编程逻辑逻辑器件实验软件向硬件描述语言的编写提供平台,并将调试好的程序下载到可
6、编程逻辑逻辑器件中。 3、下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。 4、示波器用于观察可编程逻辑逻辑器件执行程序时输出信号的变化四、实验内容和步骤图3-1 状态一图3-2 状态二下面我们以一个存储控制器状态机的设计过程来介绍Moore机的设计。设计要求:设计一个存储控制器状态机。能够根据微处理器的读写周期,分别对存储器输出写使能WE和读使能OE信号。工作过程:存储控制器的输入信号为微处理器的就绪READY及读写read_write信号。当上电复位后,或read有效时,存储控制
7、器开始工作,并在下一个时钟周期判断本次作业任务是读存储器还是写存储器。判断的依据是,当read_write有效时为读操作,否则为写操作。也就是说非读即写。读操作时,OE信号有效,写操作时,WE信号有效。当READY信号有效时,表示读本次作业处理完成,并使控制器恢复到初始状态。控制器真值表见表3-1,状态图见图3-3。图3-3 存储器控制器状态图表3-1 存储控制器真值表状态输出OEWE空闲(IDLE)00判断(DECISION)00写(WRITE)01读(READ)10程序原代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY moore ISP
8、ORT(clk,ready,read_write: IN Std_Logic; oe,we : OUT Std_Logic);END moore;ARCHITECTURE state_machine OF Moore ISTYPE state_type IS (idle,decision,read,write);SIGNAL present_state,next_state: state_type;BEGIN state_comb: PROCESS(present_state,ready,read_write) BEGIN CASE present_state IS WHEN idle = o
9、e=0; we=0; IF(ready=1) THEN next_state=decision; ELSE next_state oe=0; we=0; IF(read_write=1) THEN next_state=read; ELSE next_state oe=1; we=0; IF(ready=1) THEN next_state=idle; ELSE next_state oe=0; we=1; IF(ready=1) THEN next_state=idle; ELSE next_state=write; END IF; END CASE; END PROCESS state_c
10、omb; state_clocked:PROCESS(clk) BEGIN IF(rising_edge(clk) THEN present_state=next_state; END IF; END PROCESS state_clocked;END state_machine;2、输入时钟信号接时钟电路的相应输出(CLK0CLK5),复位信号接拨码开关或按键,输出信号接发光二极管。3、将设计好的逻辑功能转为硬件描述语言的描写4、将设计好的硬件描述语言进行仿真5、将仿真好的硬件描述语言下载到可编程逻辑逻辑器件中五、实验报告要求1、整理实验结果,填写实验报告。 2、小结实验心得体会。 3、回答
11、思考题 MOORE状态机在数字系统的设计中主要作用是什么,具体的应用有哪些?实验四 用硬件描述语言的方法设计一个MEALY状态机一、实验目的掌握MOORE状态机的功能和设计方法二、实验器材1、台式计算机 1台 2、可编程逻辑逻辑器件实验软件1套 3、下载电缆一套 4、示波器一台三、实验说明1、台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载的平台,供用户使用。 2、可编程逻辑逻辑器件实验软件向硬件描述语言的编写提供平台,并将调试好的程序下载到可编程逻辑逻辑器件中。 3、下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、
12、地和信号,一般用红色导线接电源,用黑色导线接地。 4、示波器用于观察可编程逻辑逻辑器件执行程序时输出信号的变化四、实验内容和步骤图4-1 状态一图4-2 状态二Mealy型状态机和其等价的Moore型状态机相比,其输出变化要领先一个时钟周期。下面我们以一个实例来介绍Mealy机的设计过程。状态图和状态框图分别见图4-3和图4-4。如图4-3所示,Mealy机的输出既和当前状态有关,又和所有输入信号有关。也就是说,一旦输入信号发生变化或状态发生变化,输出信号立即发生变化,因此在状态图中,一般把输出信号值画在状态变迁处。例如:假定当前状态为S0,当输入信号为1时,输出信号为“1001”;当输入信号
13、不是1时,输出信号为“0000”。构造Mealy机的方法和Moore机相同,唯一的区别是:组合进程中的输出信号是当前状态和当前输入的函数。图4-3 Mealy机的状态图图4-4 Mealy机的框图输入输出信号仿真波形如下图4-5: 图4-5 波形仿真时序图例程如下:library ieee;use ieee.std_logic_1164.all;entity mealy is port( clk,in1,rst: in std_logic; out1: out std_logic_vector(3 downto 0);end;architecture a of mealy istype sta
14、te_type is (s0,s1,s2,s3);signal state:state_type;begin mealy_process:process(clk,rst) begin if rst=1 then stateif in1=1 then stateif in1=0 then stateif in1=1 then stateif in1=0 then state if in1=1 then out1=”1001”; else out1 if in1=0 then out1=”1100”; else out1 if in1=1 then out1=”1111”; else out1 if in1=0 then out1=”0000”; else out1=”1111”; end if; end case; end process output_process;end a;2、输入时钟信号接时钟电路的相应输出(CLK0CLK5),复位信号接拨码开关或按键,输出信号接发光二极管。3、将设计好的逻辑功能转为硬件描述语言的描写4、将设计好的硬件描述语言进行仿真5、将仿真好的硬件描述语言下载到可编程逻辑逻辑器件中五、实验报告要求1、整理实验结果,填写实验报告。 2、小结实验心得体会。 3、回答思考题 MEALY状态机在数字系统的设计中主要作用是什么,具体的应用有哪些?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1