Verilog中的Latch
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相关推荐
- FPGA 中的latch 锁存器
一直都知道fpga中有latch这么一回事,但是一直都不太清楚到底什么是锁存器,它是怎么产生的,它到底和寄存器有多少区别,它怎么消除.为什么说他不好? 一,是什么 锁存器是一种在异步时序电路系统中,对 ...
- Verilog 中 wire 和 reg 数据类型区别
两者差别很大,完全不能取消. 在Verilog中,wire永远是wire,就是相当于一条连线,用来连接电路,不能存储数据,无驱动能力,是组合逻辑,只能在assign左侧赋值,不能在always @ 中 ...
- Verilog中同步复位和异步复位比较
[Verilog] 同步复位和异步复位比较 同步复位 sync 异步复位 async 特点 复位信号只有在时钟上升沿到来时才能有效. 无论时钟沿是否到来,只要复位信号有效,就进行复位. Verilo ...
- verilog中数组的定义_开源仿真工具Icarus Verilog中的verilog parser
前面提到用flex和bison开处理命令行参数,回顾一下:开源仿真工具Icarus Verilog中的命令行参数处理方法. 那么Verilog的parser又是怎么实现的呢?简单地说,与做命令行参数的 ...
- FPGA的设计艺术(18)如何使用Verilog中的数组对存储器进行建模?
前言 Verilog中的二维数组很有用,可以使用for以及generate for配合二维数组进行使用,可以代替大量寄存器的场合,其实大量同类寄存器可以使用存储器进行代替,Verilog中可以使用二维 ...
- Verilog初级教程(21)Verilog中的延迟控制语句
文章目录 前言 正文 延迟控制语句 事件控制语句 Named Events Event or operator 往期回顾 参考资料及推荐关注 前言 Verilog中的延迟控制有两种类型–延迟和事件表达 ...
- Verilog初级教程(20)Verilog中的`ifdef 条件编译语句
文章目录 前言 正文 语法 示例 Testbench文件 往期回顾 参考资料及推荐关注 前言 `ifdef条件编译语句在逻辑设计中还是很常见的,但也常见一些滥用的情况,这应该避免. 应该在什么情况下使 ...
- Verilog初级教程(15)Verilog中的阻塞与非阻塞语句
文章目录 前言 正文 阻塞赋值 非阻塞赋值 往期回顾 参考资料以及推荐关注 前言 本文通过仿真的方式,形象的说明阻塞赋值以及非阻塞赋值的区别,希望和其他教程相辅相成,共同辅助理解. 正文 阻塞赋值 阻 ...
- Verilog初级教程(14)Verilog中的赋值语句
文章目录 前言 正文 合理的左值 过程性赋值(Procedural assignment) 连续赋值 过程连续性赋值 往期回顾 前言 何为赋值语句?即将值放到线网或者变量上,这种操作称为赋值,英文:a ...
- Verilog初级教程(12)Verilog中的generate块
文章目录 前言 正文 generate for generate if generate case 参考资料 本系列博文 前言 verilog中的generate块可以称为生成块,所谓生成,可以理解为 ...
最新文章
- 你和区块链的距离就差这篇文章!
- php类方法语法错误捕获,php语法错误捕获
- 对Document library中修改文档的Author之实现修改在list(三)
- 【云ERP】SAP S/4 HANA CLOUD 采购订单处理基本操作
- Spring+Mybatis多数据源配置(一)——MySQL与Oracle通过配置切换
- 玩转 VS Code 专栏
- STM32相关手册使用记录
- 进制转换演示及其Python示例
- Java 调用 pytorch_5分钟!用Java实现目标检测 | PyTorch
- Keil安装(带安装软件)
- java-微信语言amr文件转码为Mp3文件
- IT服务公司经理专栏:小公司管理(3)
- Windows10+MinGW+Codelite完成C++编写平台安装
- table添加一行且可编辑 vue_Vue使用AntDesign 表格可添加 可编辑行 可选择
- net core mysql开源框架_.NetCore开源集成框架
- Ubuntu 18.04 与 Win10 双系统
- C语言代码实现卡塔尔世界杯球员管理系统
- 《软件设计的哲学》(十九)【代码应该是显而易见的】
- 不到 20 人的互联网公司,该去吗?
- android 获取wifi主频,史上最全最详细无线通信频率分配表(绝对收藏)
热门文章
- 上海提取公积金所需材料
- org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets out of range with no configured
- spark idea报错:json standard allows only one-top level
- python花瓣长度和花瓣宽度散点图鸢尾花_matplotlib可视化操作及案例分析
- 弱占优策略--Weakly Dominant Strategy
- GPS同步时钟(NTP时间服务器)网口物理隔离的好处
- 计算机机械硬盘寿命,有问有答:电脑的机械硬盘和固态硬盘哪个寿命更长?
- Android开发 人民币符号(¥)显示不一致的问题
- 台式电脑计算机怎么用,怎么用键盘开机电脑_台式电脑键盘怎么开机-win7之家
- 保险精算笔记Chapter02