FPGA基础:触发器和锁存器

目录

  • 锁存器(Latch)
  • D触发器(Flip-Flop)
  • 最基本时序电路
  • 时序块(Sequential blocks):
  • 同步与异步
  • 触发器概念
  • 触发器分类
  • 触发器的Verilog实现
    • 1. 上升沿触发的触发器
    • 2. 带异步复位、上升沿触发的触发器
    • 3. 带异步复位和置位、上升沿触发的触发器
    • 4.带异步复位和同步使能、上升沿触发的触发器
    • 5.带同步复位、上升沿触发的触发器

锁存器(Latch)

module latch(D, clk, Q);
    input D, clk;
    output reg Q;

    always@(D, clk)
       if (clk) 
          Q = D;
endmodule

D触发器(Flip-Flop)

module flipflop(D, clk, Q);
    input D, clk;
    output reg Q;

    always@(posedge clk)
       Q <= D;

endmodule

最基本时序电路

On positive edge of clk, Q <= D(在上升沿时被采样)

D Flip Flop

module dff (
input clk,
input rst,
input D,
output reg Q
alwaysd(posedge clk or posedge rst)begin
  if(rst==1)
    0<=0;
  else
    Q<=D;
end
endmodule

时序块(Sequential blocks):

在时钟上升边缘触发(Will trigger at rising edge of clk):always@(posedge(clk))
在时钟下降边缘触发(Triggers at falling edge of clk):always@(negedge(clk))
使用异步复位(Using an asynchronous reset):always@(posedge(clk) or (posedge(rst))

同步与异步

同步与异步

同步控制信号是指该信号有效的时候必须在有时钟边沿到来的情况下才能对电路起作用。异步控制信号是指该信号在任何时刻只要有效,就会对电路起作用,而不必等时钟边沿信号。在verilog HDL中,异步控制信号用关键字posedge和negedge表示是高有效或者低有效。

触发器概念

(1)有两个稳定状态(简称稳态),正好用来表示逻辑 0 和 1。
(2)在输入信号作用下,触发器的两个稳定状态可相互转换(称为状态的翻转)。输入信号消失后,新状态可长期保持下来,因此具有记忆功能,可存储二进制信息。
(3)一个触发器可存储 1 位二进制数码。
(4)触发器有记忆功能,由它构成的电路在某时刻的输出不仅取决于该时刻的输入,还与电路原来状态有关。而门电路无记忆功能,由它构成的电路在某时刻的输出完全取决于该时刻的输入,与电路原来状态无关。
(5)触发器和门电路是构成数字电路的基本单元。

触发器分类

  1. 上升沿触发的触发器
  2. 带异步复位、上升沿触发的触发器
  3. 带异步复位和置位、上升沿触发的触发器
  4. 带异步复位和同步使能、上升沿触发的触发器
  5. 带同步复位、上升沿触发的触发器

触发器的Verilog实现

1. 上升沿触发的触发器

module dff(d,clk,q,qn);
  input    d, clk;
  output  q, qn;
  reg	q, qn;
  always@(posedge clk)
  begin	
 {q, qn}<={d, ~d};
  end
endmodule

只列出了上升沿触发的时钟clk,而没有将输入d列写进去,是因为输入d要想起作用,必须要有时钟边沿信号的触发。

上升沿触发的触发器

2. 带异步复位、上升沿触发的触发器

module dff_asynrst(data,rst,clk,q);
  input	data,rst,clk;
  output	q;
  reg	q;
always@(posedge clk , posedge rst)
begin	
  if(rst==1’b1)		
    q<=1’b0;	
  else	
    q<=data;
end
endmodule 

3. 带异步复位和置位、上升沿触发的触发器

module dff_asynrst(data,rst,set,clk,q);
   input    data,rst,set,clk;
   output  reg q;
   always@(posedge clk , posedge rst , posedge set)
   begin	
   	if(rst==1’b1)		
		q<=1’b0;
    else if(set==1’b1)
		q<=1’b1;	
	else	
    q<=data;
   end
endmodule 

4.带异步复位和同步使能、上升沿触发的触发器

module dff_asynrst(data,rst,en,clk,q);
   input	data,rst,en,clk;
   output	q;
   reg	q;
always@(posedge clk , posedge rst) begin	
   	if(rst==1’b1)		
      q<=1’b0;
    else if(en==1’b1)
      q<=data;	
end
endmodule 

5.带同步复位、上升沿触发的触发器

module dff_synrst(data,rst,clk,q);
   input	data,rst,clk;
   output	q;
   reg	q;
always@(posedge clk)
begin	
  if(rst==1’b1)		
    q<=1’b0;
  else
    q<=data;	
end
endmodule 


关注微信公众号获取更多资讯:​​​​在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/662673.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

rtsp协议分析

rtsp概述 rtsp (real-time stream protocol)实时流媒体控制协议。RFC2326&#xff1a;这是RTSP的初始定义版本v1.0&#xff0c;由哥伦比亚大学、网景和RealNetworks公司提交给互联网工程任务组&#xff08;IETF&#xff09;作为RFC标准。RFC7826&#xff1a;这是RTSP的后续更新…

【EI会议】第二届计算机、物联网与智慧城市国际会议

第二届计算机、物联网与智慧城市国际会议 快速通道 投稿链接&#xff1a;loading 截稿时间&#xff1a;9月15日 检索&#xff1a;EI检索 一、会议信息 大会官网&#xff1a;www.ciotsc.org 会议地点&#xff1a;湖南株洲 会议时间&#xff1a;2023年11月15日-17日 二、征稿主…

探索AES对称加密:Python代码实战

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;从非对称到对称 二、AES加密机制概述 三、Python实现AES加密与解密 …

FreeRTOS【8】二值信号量使用

1.开发背景 FreeRTOS 提供了队列可以在线程间快速交换信息&#xff0c;那么还有没有其他交互渠道&#xff1f;答案是有的&#xff0c;相对于队列传递信息&#xff0c;还有更轻量级的线程唤醒操作&#xff0c;那就是信号量&#xff0c;而二值信号量就是最简单的一种。 二值信号量…

揭秘希喂、小米、安德迈宠物空气净化器的惊人效果,性价比爆表!

当谈及养猫&#xff0c;首先浮现在脑海中的烦恼无疑是猫咪的掉毛和便臭问题。这些问题对于我们这些爱宠人士来说&#xff0c;无疑是一种持续的挑战。特别是在炎热的夏季&#xff0c;高温本身就让人焦躁不安&#xff0c;而空气中飘散的猫浮毛和便臭更是加剧了这种不适感。 为了…

Linux系统编程(五)多线程创建与退出

目录 一、基本知识点二、线程的编译三、 线程相关函数1. 线程的创建&#xff08;1&#xff09;整型的传入与接收&#xff08;2&#xff09;浮点数的传入与接收&#xff08;3&#xff09;字符串的传入与接收&#xff08;4&#xff09;结构体的传入与接收 2. 线程的退出3. 线程的…

智慧仓储新动力:EasyCVR+AI视频智能监管系统方案助力仓储安全高效管理

一、背景 随着物流行业的快速发展和智能化水平的提升&#xff0c;智慧仓储视频智能监管系统已成为现代仓储管理的重要组成部分。本系统通过综合运用物联网、视频分析、边缘计算等技术手段&#xff0c;实现对仓储环境的全面监控、智能分析和高效管理。 TSINGSEE青犀视频汇聚Ea…

【单片机毕设选题】-智能语音控制风扇

一. 系统功能 此设计采用STM32和SU-03T离线语音模块来控制风扇, 主要功能如下: 1. 通过DHT11温湿度模块来采集环境温湿度。 2. 通过SU-03T语音模块来控制风扇启停加减速等。 3. 通过OLED显示系统状态。 4. 可以通过按键控制风扇启停加减速等。 5. 通过蓝牙模块监视系统状…

【IOT】OrangePi+HomeAssistant+Yolov5智能家居融合

前言 本文将以OrangePi AIpro为基础&#xff0c;在此基础构建HomeAssistant、YOLO目标检测实现智能家居更加灵活智能的场景实现。 表头表头设备OrangePi AIpro(8T)系统版本Ubuntu 22.04.4 LTSCPU4核64位处理器 AI处理器AI算力AI算力 8TOPS算力接口HDMI2、GPIO接口、Type-C、M.2…

06.逻辑回归

文章目录 Generate Model优化边界为线性证明损失函数比较逻辑回归不能用均方误差Generative v.s. DiscriminativeMulti-class Classification逻辑回归的限制自己找线性变换 Generate Model 假设样本符合高斯分布 即找 μ \mu μ和 σ \sigma σ 优化 共用 Σ \Sigma Σ减少…

CSS学习笔记:vw、vh实现移动端适配

移动端适配 移动端即手机端&#xff0c;也称M端 移动端适配&#xff1a;同一套移动端页面在不同屏幕尺寸的手机上可以实现宽度和高度的自适应&#xff0c;也就是页面中元素的宽度和高度可以根据屏幕尺寸的变化等比缩放 之前我在一篇博客中介绍了rem实现移动端适配&#xff0…

这样写代码太优雅了吧

文章目录 优化案例初次优化再次优化看看Spring源码的处理 优化案例 假设一个场景&#xff0c; 开发代码时&#xff0c;需要对类中的方法进行遍历&#xff0c;判断有没有注解NotNull&#xff0c;暂时没有合适的工具类&#xff0c;需要自己手搓一个。 无须多想&#xff0c;分分钟…

CSS学习笔记:响应式布局的原理——媒体查询

什么是响应式布局&#xff1f; 在实际书写代码时&#xff0c;我们不会自己去手写媒体查询来实现响应式布局&#xff0c;我们一般会调用现成的代码库或使用现成的框架&#xff08;但这些代码库或框架的底层原理是媒体查询&#xff0c;所以了解媒体查询也是很有必要的&#xff0…

应用弹窗优先级

背景 由于活动业务越来越多&#xff0c;积累的弹窗越来越多和杂乱&#xff0c;出现如下弹窗交互问题&#xff1a; 弹窗无限重叠&#xff0c;影响操作 弹出顺序无优先级&#xff0c;重要弹窗被隐藏 原因相信大家都一样&#xff0c;产品是一次次迭代的&#xff0c;也可能是不…

ozon卖家精灵,ozon卖家怎么使用

在跨境电商的浪潮中&#xff0c;OZON作为俄罗斯领先的电商平台&#xff0c;吸引了众多卖家争相入驻。然而&#xff0c;面对日益激烈的市场竞争&#xff0c;如何提升店铺的运营效果&#xff0c;成为卖家们迫切需要解决的问题。而OZON卖家精灵作为一款专为OZON卖家打造的辅助工具…

Lua的几个特殊用法

&#xff1a;/.的区别 详细可以参考https://zhuanlan.zhihu.com/p/651619116。最重要的不同就是传递默认参数self。 通过.调用函数&#xff0c;传递self实例 通过 &#xff1a; 调用函数&#xff0c;传递self (不需要显示的传递self参数&#xff0c;默认就会传递&#xff0c;但…

ROS | C++和python实现发布结点和订阅结点

发布者结点&#xff1a; 代码实现&#xff1a; python: C: C和Python发布结点的差异&#xff1a; python: 发布结点pub 大管家rospy调用publisher函数发布话题 (话题,类型&#xff0c;话题长度&#xff09; C: 先定义一个大管家&#xff1a;NodeHandle 然后大管家发布话题…

【C++】二维前缀和

1.题目 2.算法思路 和一维前缀和的方法类似&#xff0c;我们需要预处理一个求和矩阵&#xff0c;然后再求和。 下面是模板&#xff1a; 上面两张图片总结出来了两个公式&#xff0c;这是解决此类问题的关键。 3.代码 #include <iostream> using namespace std; #incl…

【车载开发系列】Vector工具链的安装

【车载开发系列】Vector工具链的安装 【车载开发系列】Vector工具链的安装 【车载开发系列】Vector工具链的安装一. VectorDriver二. DaVinci_Developer三. DaVinci Configurator 一. VectorDriver Vector Driver Setup是Vector产品链中重要的驱动软件,所有的硬件设备进行连接…

看看最新的B端登录界面,你是不是被潮流抛弃了?

毛玻璃风格&#xff08;Frosted Glass Style&#xff09;是新拟态设计风格中的一种分支&#xff0c;它灵感来源于现实世界中的毛玻璃材质。毛玻璃是一种通过在玻璃表面加工处理的方式&#xff0c;使其具有模糊、云翳和透明效果的特殊玻璃。 在设计中&#xff0c;毛玻璃风格通常…