FPGA(4)--VHDL--4位D触发器

简介: FPGA(4)--VHDL--4位D触发器

一、实验目的


掌握利用VHDL语言,进行基本时序元件的设计。


二、实验内容


利用VHDL语言设计含异步复位(RST)及使能端(EN)的4位D触发器,其中输入D及输出Q均为4位(STD_LOGIC_VECTOR),上升沿触发。通过编译、仿真验证功能正确性。


三、实验设计



1.依据D触发器的VHDL描述以及含异步复位和时钟使能的D触发器的VHDL描述相关知识。其描述如下。


20210714203143549.png20210714203150491.png


2.利用VHDL语言设计含异步复位(RST)及使能端(EN)的4位D触发器,其中输入D及输出Q均为4位(STD_LOGIC_VECTOR),上升沿触发。代码及必要注释如下。


Library Ieee;
Use Ieee.Std_Logic_1164.All;
Entity dff4 is
  port(clk,rst,en: in Std_Logic;
      d: in Std_Logic_Vector(3 downto 0);
      q: out Std_Logic_Vector(3 downto 0));
End Entity dff4;
Architecture bhv of dff4 is
  signal q_s: Std_Logic_Vector(3 downto 0);
  begin
  process(clk)
  begin
    if rst = '1' then q_s <= "0000";
    elsif clk'event and clk='1' then 
    if en='1' then q_s <= d;
    end if;
    end if;
  end process;
  q <= q_s;
End bhv;


四、实验结果及仿真



分别给ret、en、clk和d设置合适的信号进行仿真观察仿真结果,验证功能正确。仿真结果如下。


2021071420333651.png


五、实验思考与总结



在VHDL表述的时序模块中有这样的规律:一般地,凡是独立于时钟的异步控制信号都放在以时钟边沿测试表述clock'EVENT AND clock='1'为条件语句的IF语句以外(或以上),凡是依赖于时钟有效的同步控制信号则放在边沿测试表述以内(或以下)。


相关文章
|
6月前
|
异构计算
FPGA新起点V1开发板(八-语法篇)——状态机
FPGA新起点V1开发板(八-语法篇)——状态机
|
6月前
|
异构计算
FPGA新起点V1开发板(七-语法篇)——程序框架+高级语法(选择性做笔记)
FPGA新起点V1开发板(七-语法篇)——程序框架+高级语法(选择性做笔记)
|
8月前
|
算法 异构计算
m基于FPGA的Alamouti编码verilog实现,包含testbench测试文件
m基于FPGA的Alamouti编码verilog实现,包含testbench测试文件
86 5
|
算法 关系型数据库 MySQL
FPGA:Verilog HDL程序的基本结构
FPGA:Verilog HDL程序的基本结构
173 0
FPGA:Verilog HDL程序的基本结构
|
算法 异构计算
m基于FPGA的NBDP系统ARQ单元模块的verilog实现
m基于FPGA的NBDP系统ARQ单元模块的verilog实现
223 0
m基于FPGA的NBDP系统ARQ单元模块的verilog实现
|
C语言 异构计算
FPGA(1)--VHDL--6选1数据选择器
FPGA(1)--VHDL--6选1数据选择器
459 0
FPGA(1)--VHDL--6选1数据选择器
|
异构计算
FPGA(2)--例化语句--1位全加器
FPGA(2)--例化语句--1位全加器
217 0
FPGA(2)--例化语句--1位全加器
|
人工智能 编译器 异构计算
FPGA(3)--VHDL及原理图--4位全加器
FPGA(3)--VHDL及原理图--4位全加器
669 0
FPGA(3)--VHDL及原理图--4位全加器
|
异构计算
FPGA(0)--quartusⅡ安装
FPGA(0)--quartusⅡ安装
253 0
FPGA(0)--quartusⅡ安装
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第五章:触发器和寄存器
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第五章:触发器和寄存器
135 0