实验四_基本时序逻辑电路的VHDL模型
实验四 基本时序逻辑电路的VHDL模型
一 、 实验目的
1掌握简单的VHDL程序设计。
2 掌握VHDL语言对基本时序逻辑电路的建模。
二、实验内容
分别设计并实现锁存器、触发器的VHDL模型。
(一) 寄存(锁存)器
1 实验原理
寄存器用于寄存一组二值代码,广泛用于各类数字系统。因为一个触发器能储存1位二值代码,所以用N个触发器组成的寄存器能储存一组N位的二值代码。
2 实验内容:
实现同步锁存器(同步锁存器指复位和加载功能全部与时钟同步,复位端的优先级最高。在数字系统设计时,采用完全同步的锁存器,可以避免时序错误。)
附:一个8位寄存器的VHDL描述。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY REG IS
PORT(D:IN STD_LOGIC_VECTOR(0 TO 7); CLK:IN STD_LOGIC;
Q:OUT STD_LOGIC_VECTOR(0 TO 7)); END REG;
ARCHITECTURE ART OF REG IS
BEGIN
PROCESS(CLK)
BEGIN
IF(CLK'EVENT AND CLK=‘1’)THEN Q
END IF;
END PROCESS;
END ART;
(二)触发器
实验内容:
1、D触发器
1)、带异步置位的D触发器(当时钟信号或置位信号有跳变时激活进程。如果置位信号有效(高电平),D触发器被置位,输出信号高电平,如果置位
信号无效,此时时钟信号出现上升沿,D触发器输出信号变为输入信号);
2)、带异步复位和置位的D触发器(当时钟信号、复位信号或置位信号有跳变时激活进程。如果复位信号有效(高电平),D触发器被复位,输出信号低电平;如果复位信号无效置,而置位信号有效(高电平),D触发器被置位,输出信号高电平,如果复位信号和置位信号都无效,此时时钟信号出现上升沿,D触发器输出信号变为输入信号)。
附:最简单的D触发器,没有复位和职位信号。 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY DCFQ IS
PORT(D,CLK:IN STD_LOGIC;
Q:OUT STD_LOGIC);
END DCFQ;
ARCHITECTURE ART OF DCFQ IS
BEGIN
PROCESS(CLK)
BEGIN
IF (CLK'EVENT AND CLK=‘1’)THEN -- 时钟上升沿触发
Q
END IF;
END PROCESS;
END ART;
上述触发器为最简单的D触发器,没有复位和职位信号。根据上例写一个
2、JK触发器
从真值表可以看出,PRN=0 时,触发器置数,Q=’1’;CLRN=0 时,触发器清零,Q=’0’;当
PRN=CLRN=J=K=’1’时,在CLK 上升沿的时候,触发器翻转。
3)RS触发器
四、实验报告
1、简要说明实验步骤。
2、写出实验用的VHDL源程序。
3、记录仿真结果(波形),说明输出延时情况。
4、记录实验结果,并分析其结果的正确性。
5、说明实验中遇到的问题及解决方法,写出实验心得体会。
实验心得体会
做完EDA实验,我感到受益匪浅。这不仅使我了解了EDA的实验系统,学习了MAX+PLUSⅡ软件的使用,掌握了基本的电路设计流程、方法以及技巧,更增强了我对EDA设计的兴趣。
在实验的过程中,老师又结合实际详细的教了我们VHDL语言的基本指令及编程方法,教我们熟悉了在PC机上运用MAX+PLUSⅡ软件和EPLD进行电路设计的设计和仿真过程。