Verilog时序逻辑硬件建模设计(一)锁存器D-latch和触发器Flip-Flop

本文深入探讨了Verilog中的时序逻辑硬件建模,重点介绍了D-latch和Flip-Flop。D-latch包括正电平触发和负电平触发两种类型,其输出取决于当前输入和过去的输出。而Flip-Flop作为边缘触发逻辑电路,分为正边沿和负边沿触发D触发器,它们在数字逻辑设计中起到关键作用,常用于存储和传输数据。通过示例和逻辑电路图,文章详细阐述了这些元件的工作原理和Verilog实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

43a13108ec253db62d93139d932fff5f.png

Verilog时序逻辑硬件建模设计(一)锁存器D-latch和触发器Flip-Flop

没有任何寄存器逻辑,RTL设计是不完整的。RTL是寄存器传输级或逻辑,用于描述依赖于当前输入和过去输出的数字逻辑。
dcf6294ab710ed94f7f6d7d87ce7cb9f.png

时序逻辑

时序逻辑被定义为数字逻辑,其输出是当前输入和过去输出的函数。因此,时序逻辑可以保存二进制数据。时序逻辑元件是锁存器和触发器,用于设计给定的功能。对于RTL设计工程师来说,了解基于时钟的逻辑电路的高效RTL设计是至关重要的。在复杂的设计中,时序逻辑元件用于保存大量数据。该逻辑在时钟上触发。在实际应用中,描述可以在时钟的正边缘或负边缘触发的逻辑电路。人们总是期望所设计的电路在有限的时钟周期内产生有限的输出。图5.1描述了在时钟正边缘触发的基本时序逻辑。逻辑输出是当前输入和过去输出的函数。

7bd9a4812498d4221d5d9b808a3016ea.png图5.1基本时序逻辑

正电平触发D锁存器D-latch

锁存器是对电平敏感的元器件。在D锁存器中,D代表数据输入。锁存器对正或负时钟电平或使能敏感。正电平触发锁存器如图5.2所示,真值表如表5.1所述。如表5.1所示,对于锁存器使能E等于正电平(逻辑1)输出,Q等于数据输入D;,否则输出保持在先前状态(过去输出),并由Qn-1显示。时序如图5.3所示。

62794e9b0294aec9f313fb43eeec3e18.png图5.2正电平触发D锁存器表5.1正电平触发D锁存器真值表
EDQ~Q
1001
1110
0XQn−1~Qn−1
8f91f4cc51011fbb13877780d471cb33.png图5.3正电平触发D锁存器的时序

从时序可以清楚地看出,在使能输入“E”等于正电平的时间段内,输出Q等于数据输入D。所以D锁存器在这段时间内是透明的。在“E”的负电平(逻辑“0”)期间,D锁存器保持上一个值。

现在读者心中的重点是如何使用Verilog描述正电平触发D锁存器。可视化和描述设计功能非常简单。示例5.1描述了正电平触发D锁存器的Verilog RTL,综合后硬件如图5.4所示。

d720d519de12f78d54c382933bb2c34c.png示例5.1正电平触发D锁存器的可综合RTL 3cddb647c48f651e6de768fafefe7979.png图5.4正电平触发D锁存器

负电平触发D锁存器

负电平触发D锁存器的真值表如表5.2所述,它具有激活的低电平或负电平触发的锁存器启用(“LE_n”)、数据输入“D”和输出“Q”。等效门级表示如图5.5所示。锁存器在“LE_n”的负电平上起到透明作用(参考上一部分),并在“LE_n”的正电平期间保持数据。时序如图5.6所示。

Verilog RTL描述如例5.2所示,综合硬件如图5.7所示。

表5.2负电平触发D锁存器真值表
LE_nDQ~Q
0001
0110
1XQn-1~Qn−1
81b3c7521b60327259f9b2a60e57a690.png图5.5负电平触发D锁存器 8fb9a3f6b99cb28586bc4a6d1407f88e.png图5.6负电平触发D锁存器的时序 7c25a870168819ed1811ffca8e440818.png示例5.2负电平触发D锁存器的可综合verilog RTL 504924c1ce7cbf786e9959291e6778c2.png图5.7负电平触发锁存器的综合硬件

触发器Flip-Flop

触发器是一种边缘触发逻辑电路。它可以在时钟的正边缘或负边缘触发。触发器可以通过级联使用正负电平触发的锁存器来实现。触发器用作存储器存储元件。触发器分为set-reset (SR), JK, D, 和 toggle触发器。在ASIC/FPGA设计中D触发器用作时序电路元件,其中D代表数据输入。下一节将讨论正、负边缘触发触发器。

正边沿触发D触发器

正边沿触发D触发器是在时钟的正边沿触发的。实际上,没有逻辑门可以在边缘触发!正边沿触发D触发器可以视为负电平敏感锁存器和正电平触发锁存器的连接。正边沿触发D触发器的逻辑电路如图5.8所示。

45a51f2e54b0f908e70e85266e48ae8f.png图5.8正边沿触发D触发器

负边沿触发D触发器

负边沿触发D触发器是在时钟负沿上触发的。负边沿触发D触发器可以视为正电平触发锁存器和负电平触发锁存器的连接。正边沿触发D触发器的逻辑电路如图5.9所示。

9ab0184b19137f954850b960b6bd7566.png图5.9负边沿触发D触发器

82631312fcb3f8b1a70e5f257e58f0bf.png

数字硬件建模综述


b5fa83ddcf3ebb9e5d0d395cf5af2637.png

数字硬件建模-从另一方面理解Verilog(一)


b55365c0f901896ae58bd6bc8c859a8f.png

数字硬件建模-重新从另一方面理解Verilog(二)


ea81a0884be3c75a126846d824738e8e.png

组合逻辑硬件建模设计(一)逻辑门


93e90e31d17cb744eeb22a177da53447.png

组合逻辑硬件建模设计(二)算术电路


5a006b7dd7d9351d9ed0dd5e9fe484fd.png

Verilog/SV代码检查器-Lint 建模规则检查器与 Verilator


a3ba0b64ac4eed99f11c3c2e4d12e7c9.png

Verilog组合逻辑设计指南


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OpenFPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值