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语句以外(或以上),凡是依赖于时钟有效的同步控制信号则放在边沿测试表述以内(或以下)。


相关文章
|
敏捷开发 Devops 测试技术
自动化测试中的持续集成与持续部署
在现代软件开发实践中,自动化测试是确保软件质量和快速迭代的关键。本文将探讨自动化测试如何与持续集成(CI)和持续部署(CD)流程相结合,以提高开发效率和软件质量。我们将分析CI/CD管道中自动化测试的最佳实践,以及如何克服实施过程中的挑战。
200 6
|
Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第24题)- 2024年修正版
这是关于Oracle 19c OCP认证考试082题库的修正版,包含90道题目,通过分数为60%,考试时间为150分钟。本文由CUUG原创整理,解析了考试题目,并提供了正确答案和详细解释。通过该认证需完成两门科目考试,合格后可获得OCP证书。
349 4
|
JavaScript Java 测试技术
基于SpringBoot+Vue的大学校园旧物捐赠网站的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的大学校园旧物捐赠网站的详细设计和实现(源码+lw+部署文档+讲解等)
209 1
|
Java API
Java一分钟之-Java日期与时间API:LocalDate, LocalDateTime
【5月更文挑战第13天】Java 8引入`java.time`包,改进日期时间API。`LocalDate`代表日期,`LocalDateTime`包含日期和时间。本文概述两者的基本用法、常见问题及解决策略。创建日期时间使用`of()`和`parse()`,操作日期时间有`plusDays()`、`minusMonths()`等。注意点包括:设置正确的`DateTimeFormatter`,考虑闰年影响,以及在需要时区信息时使用`ZonedDateTime`。正确使用这些类能提升代码质量。
546 3
|
API 调度
从操作系统层面描述线程的五种状态
从操作系统层面描述线程的五种状态
151 0
|
资源调度 Serverless 计算机视觉
高斯函数 Gaussian Function
**高斯函数,或称正态分布,以数学家高斯命名,具有钟形曲线特征。关键参数包括期望值μ(决定分布中心)和标准差σ(影响分布的宽度)。当μ=0且σ²=1时,分布为标准正态分布。高斯函数广泛应用于统计学、信号处理和图像处理,如高斯滤波器用于图像模糊。其概率密度函数为e^(-x²/2σ²),积分结果为误差函数。在编程中,高斯函数常用于创建二维权重矩阵进行图像的加权平均,实现模糊效果。
2194 1
|
监控 测试技术 Linux
性能工具之 Apache Bench 入门使用
ab 全称为:apache bench,ab 为小型压力工具,对于在 Linux 中简单压测 HTTP 接口轻巧灵活。
376 1
|
存储
NameNode 故障无法重新启动解决方法
当NameNode进程挂掉时,若无数据丢失,可直接使用`hdfs --daemon start namenode`重启。但若数据丢失,需从SecondaryNameNode恢复。首先查看启动日志,确认因数据丢失导致的未启动成功问题。接着,将SecondaryNameNode的备份数据拷贝至NameNode的数据存储目录,目录路径在`core-site.xml`中设定。进入NameNode节点,使用`scp`命令从SecondaryNameNode复制数据后,重启NameNode进程,故障即可修复。
1748 0
|
Linux Windows Ubuntu
Windows 使用 Linux 子系统,轻轻松松安装多个linux
Windows 使用 Linux 子系统,轻轻松松安装多个linux
1633 0
Windows 使用 Linux 子系统,轻轻松松安装多个linux
|
IDE 开发工具 开发者
Qt-Qt Creator的下载、安装与配置(Windows)
Qt-Qt Creator的下载、安装与配置(Windows)
7221 1