0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Verilog硬件描述语言描述时序逻辑电路?

冬至子 来源:电子技术实验XJTU 作者:孙敏 2023-09-17 16:22 次阅读

0****1

时序逻辑电路设计方法

时序逻辑电路的特点是输出信号不仅与电路的输入有关,还与电路原来的状态有关。

因此,电路需要具有记忆功能的存储电路。FPGA中基本的存储单元是D触发器,也是实现时序逻辑的基本单元。

那么,什么样的语句会被综合成触发器呢?在Verilog中,常使用always进程块描述时序逻辑。此时,always进程块中的敏感列表一般为时钟边沿和异步控制信号,

** always ** @(posedge clk,posedge rst)

always进程块的执行是在时钟边沿触发下进行的。

时序逻辑电路按状态变化的特点,可以分为同步时序逻辑电路和异步时序逻辑电路。

同步时序逻辑电路的各个触发器状态的转换在同一时钟脉冲作用下完成。目前,大多数数字电路都是同步时序电路。我们实验中所涉及到的也都是同步时序电路。

在设计时需要注意,所有always敏感列表中第一项敏感信号应该为同一时钟信号,比如,都为系统时钟clk的上升沿。

图片

不出现其他派生信号,比如,系统时钟产生的分频信号等等。

图片

异步时序逻辑电路中,没有统一时钟,各触发器状态转换是异步完成的。

在always进程块描述时序逻辑时,赋值语句使用非阻塞赋值,即“<=”。

0****2

时序逻辑电路设计实例

下面来看几个D触发器的设计实例,来理解Verilog语句与电路之间的关系。

实例1:基本D触发器

设计一个简单的D触发器,在时钟上升沿触发下,输出等于输入,其他时间输出保持不变。

图片

图片

使用always语句进行描述,敏感列表为时钟上升沿。当时钟信号由0变为1时,执行always语句“q_o=d_i”,如下图所示。

图片

我们看到输入信号d_i不出现在敏感信号列表中,也就表明,输入的变化不会引发输出立即变化,只有在时钟上升沿时才被采样。

下面是综合后的原理图,综合就是将Verilog设计对应到FPGA内部组成单元上。

图片

我们看到,综合出的是D触发器(FDRE为D触发器,参见赛灵思官方文档ug799),其中敏感列表中的clk被综合为触发器的时钟信号C,d_i连接D触发器输入端D。D触发器还包含信号CE(时钟使能端),以及R(复位端,高有效),在本示例中均未用到。因此,将CE连接高电平,使时钟始终有效,R连接低电平,使复位无效。

实例2:带复位(高有效)的D触发器

下面的例子加入了复位信号。复位分为同步复位和异步复位。

图片

同步复位中,当复位信号有效时,必须要等到时钟上升沿到来时,才能执行复位信号相关的行为语句,如仿真波形图中所示。

图片图片

异步复位中的复位信号与时钟没有关系,只要复位信号有效,就立即执行复位相关的逻辑行为。要实现异步复位,复位信号要放在敏感列表中。

图片

图片

仿真波形图中可以看到,当rst有效时,输出立即被复位,下一个clk上升沿到来时,此时,rst信号仍然有效,因此,输出为0。再一个clk到来时,复位无效,则输出等于输入。

实例3:含异步复位(低有效)和同步使能的D触发器

下面是一个带有同步使能信号的D触发器。

图片

这里我们使用了低电平复位,当复位信号无效,使能信号有效时,在时钟上升沿触发下,输出等于输入。

图片

图片

在综合后的原理图中,en使能信号连接在了D触发器的CE端。复位信号rst_n与CLK的连接经过一个LUT(LUT是FPGA用于实现组合逻辑的基本单元查找表),在Vivado中可以看到该LUT的真值表,它实现的是反相器的功能,这也说明了赛灵思的FPGA中触发器的复位引脚是高有效的,如果你设计中复位是低有效,这里就会多出一个反相器将其逻辑取反。

03

always进程块用法总结

always进程块是最常用的行为描述语句,他可以描述组合逻辑也可以描述时序逻辑。

图片

描述组合逻辑时,敏感列表中为输入电平信号,而描述时序逻辑时,敏感列表为时钟边沿及异步控制信号。Vivado综合工具会根据always后面的敏感列表的不同形式综合出相应的电路。

always在仿真中还可以通过延时控制来产生激励信号。例如,always #5 clk=~clk,表示当执行到该语句时,需要延迟5个时间单位的时间(由`timescales 定义),然后再执行“clk=~clk”。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA设计
    +关注

    关注

    9

    文章

    378

    浏览量

    26127
  • 反相器
    +关注

    关注

    6

    文章

    193

    浏览量

    42186
  • D触发器
    +关注

    关注

    2

    文章

    122

    浏览量

    46999
  • 时序逻辑电路

    关注

    2

    文章

    66

    浏览量

    16074
  • CLK
    CLK
    +关注

    关注

    0

    文章

    76

    浏览量

    16794
收藏 人收藏

    评论

    相关推荐

    VHDL硬件描述语言与和数字逻辑电路设计.侯伯亭&顾新

    硬件描述语言与和数字逻辑电路设计.侯伯亭&顾新
    发表于 05-11 09:22

    Verilog硬件描述语言描述.

    Verilog硬件描述语言的基础知识,包括语言的基本内容和基本结构 ,以及利用该语言在各种层次上对数字系统的建模方法。书中列举了大量实例,帮助读者掌握语
    发表于 03-27 23:44 101次下载

    VERILOG HDL硬件描述语言

    Verilog硬件描述语言的基础知识,包括语言的基本内容和基本结构 ,以及利用该语言在各种层次上对数字系统的建模方法。书中列举了大量实例,帮助读者掌握
    发表于 07-20 11:36 99次下载

    VHDL硬件描述语言与数字逻辑电路设计

    硬件描述语言与数字逻辑电路设计:本书系统地介绍了一种硬件描述语言,即VHDL语言设计数字逻辑电路和数字系统的新方法。这是电子电路设计方法上一次革命性的变化,也是迈
    发表于 02-06 16:55 355次下载

    verilog硬件描述语言课程讲义

    verilog硬件描述语言课程讲义
    发表于 05-21 15:01 33次下载
    <b>verilog</b><b>硬件</b><b>描述语言</b>课程讲义

    经典教材-VHDL硬件描述语言与数字逻辑电路设计(第三版)

    硬件描述语言与数字逻辑电路设计(第三版).txt》资料免费下载
    发表于 08-27 11:41 19次下载

    Verilog硬件描述语言参考手册

    Verilog硬件描述语言参考手册,Verilog语法内容介绍
    发表于 11-12 17:20 11次下载

    Verilog HDL硬件描述语言

    Verilog HDL硬件描述语言 有需要的下来看看
    发表于 12-29 15:31 5次下载

    Verilog硬件描述语言

    语言编程学习
    发表于 09-01 15:27 24次下载

    硬件描述语言Verilog第四版PDF电子书免费下载

    逻辑综合的组合电路时序电路的行为模型、FSM 数据通道模型以及周期精确的描述。行为综合是新添加的一章 ,讲述了怎样使用这些方式来实现周期精确的描述。对那些有兴趣描述、模拟和综合数字系统的工程师和学生来说 ,《硬件描述语言
    发表于 11-11 08:00 168次下载

    基于Verilog硬件描述语言的IEEE标准硬件描述语言资料合集免费下载

    Verilog硬件描述语言的IEEE标准硬件描述语言资料合集免费下载:1995、2001、2005;SystemVerilog标准:2005、2009
    发表于 06-18 08:00 9次下载

    Verilog硬件描述语言的学习课件免费下载

    Verilog硬件描述语言的学习课件免费下载。
    发表于 01-22 12:13 17次下载
    <b>Verilog</b><b>硬件</b><b>描述语言</b>的学习课件免费下载

    使用Verilog/SystemVerilog硬件描述语言练习数字硬件设计

    电路设计习题集,使用 Verilog/SystemVerilog 硬件描述语言 (HDL) 练习数字硬件设计~
    的头像 发表于 08-31 09:06 882次阅读