Latch介绍

功能描述

  • Latches are level-sensitive (not edge-sensitive) circuits, so in an always block, they use level-sensitive sensitivity lists.
  • However, they are still sequential elements, so should use non-blocking assignments.
  • A D-latch acts like a wire (or non-inverting buffer) when enabled, and preserves the current value when disabled.

代码实现

module top_module (input d, input ena,output q);assign q=(ena)?d:q;
endmodule

生成电路


module top_module (input d, input ena,output reg q);always @(*)beginq <= (ena) ? d : q;end
endmodule

生成电路


module top_module (input d, input ena,output reg q);always @(*)beginq = (ena) ? d : q;end
endmodule

生成电路


总结

可以看出上述3种描述方式生成最终电路是相同的。

Verilog中的Latch相关推荐

  1. FPGA 中的latch 锁存器

    一直都知道fpga中有latch这么一回事,但是一直都不太清楚到底什么是锁存器,它是怎么产生的,它到底和寄存器有多少区别,它怎么消除.为什么说他不好? 一,是什么 锁存器是一种在异步时序电路系统中,对 ...

  2. Verilog 中 wire 和 reg 数据类型区别

    两者差别很大,完全不能取消. 在Verilog中,wire永远是wire,就是相当于一条连线,用来连接电路,不能存储数据,无驱动能力,是组合逻辑,只能在assign左侧赋值,不能在always @ 中 ...

  3. Verilog中同步复位和异步复位比较

    [Verilog] 同步复位和异步复位比较  同步复位 sync 异步复位 async 特点 复位信号只有在时钟上升沿到来时才能有效. 无论时钟沿是否到来,只要复位信号有效,就进行复位. Verilo ...

  4. verilog中数组的定义_开源仿真工具Icarus Verilog中的verilog parser

    前面提到用flex和bison开处理命令行参数,回顾一下:开源仿真工具Icarus Verilog中的命令行参数处理方法. 那么Verilog的parser又是怎么实现的呢?简单地说,与做命令行参数的 ...

  5. FPGA的设计艺术(18)如何使用Verilog中的数组对存储器进行建模?

    前言 Verilog中的二维数组很有用,可以使用for以及generate for配合二维数组进行使用,可以代替大量寄存器的场合,其实大量同类寄存器可以使用存储器进行代替,Verilog中可以使用二维 ...

  6. Verilog初级教程(21)Verilog中的延迟控制语句

    文章目录 前言 正文 延迟控制语句 事件控制语句 Named Events Event or operator 往期回顾 参考资料及推荐关注 前言 Verilog中的延迟控制有两种类型–延迟和事件表达 ...

  7. Verilog初级教程(20)Verilog中的`ifdef 条件编译语句

    文章目录 前言 正文 语法 示例 Testbench文件 往期回顾 参考资料及推荐关注 前言 `ifdef条件编译语句在逻辑设计中还是很常见的,但也常见一些滥用的情况,这应该避免. 应该在什么情况下使 ...

  8. Verilog初级教程(15)Verilog中的阻塞与非阻塞语句

    文章目录 前言 正文 阻塞赋值 非阻塞赋值 往期回顾 参考资料以及推荐关注 前言 本文通过仿真的方式,形象的说明阻塞赋值以及非阻塞赋值的区别,希望和其他教程相辅相成,共同辅助理解. 正文 阻塞赋值 阻 ...

  9. Verilog初级教程(14)Verilog中的赋值语句

    文章目录 前言 正文 合理的左值 过程性赋值(Procedural assignment) 连续赋值 过程连续性赋值 往期回顾 前言 何为赋值语句?即将值放到线网或者变量上,这种操作称为赋值,英文:a ...

  10. Verilog初级教程(12)Verilog中的generate块

    文章目录 前言 正文 generate for generate if generate case 参考资料 本系列博文 前言 verilog中的generate块可以称为生成块,所谓生成,可以理解为 ...

最新文章

  1. 你和区块链的距离就差这篇文章!
  2. php类方法语法错误捕获,php语法错误捕获
  3. 对Document library中修改文档的Author之实现修改在list(三)
  4. 【云ERP】SAP S/4 HANA CLOUD 采购订单处理基本操作
  5. Spring+Mybatis多数据源配置(一)——MySQL与Oracle通过配置切换
  6. 玩转 VS Code 专栏
  7. STM32相关手册使用记录
  8. 进制转换演示及其Python示例
  9. Java 调用 pytorch_5分钟!用Java实现目标检测 | PyTorch
  10. Keil安装(带安装软件)
  11. java-微信语言amr文件转码为Mp3文件
  12. IT服务公司经理专栏:小公司管理(3)
  13. Windows10+MinGW+Codelite完成C++编写平台安装
  14. table添加一行且可编辑 vue_Vue使用AntDesign 表格可添加 可编辑行 可选择
  15. net core mysql开源框架_.NetCore开源集成框架
  16. Ubuntu 18.04 与 Win10 双系统
  17. C语言代码实现卡塔尔世界杯球员管理系统
  18. 《软件设计的哲学》(十九)【代码应该是显而易见的】
  19. 不到 20 人的互联网公司,该去吗?
  20. android 获取wifi主频,史上最全最详细无线通信频率分配表(绝对收藏)

热门文章

  1. 上海提取公积金所需材料
  2. org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets out of range with no configured
  3. spark idea报错:json standard allows only one-top level
  4. python花瓣长度和花瓣宽度散点图鸢尾花_matplotlib可视化操作及案例分析
  5. 弱占优策略--Weakly Dominant Strategy
  6. GPS同步时钟(NTP时间服务器)网口物理隔离的好处
  7. 计算机机械硬盘寿命,有问有答:电脑的机械硬盘和固态硬盘哪个寿命更长?
  8. Android开发 人民币符号(¥)显示不一致的问题
  9. 台式电脑计算机怎么用,怎么用键盘开机电脑_台式电脑键盘怎么开机-win7之家
  10. 保险精算笔记Chapter02