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

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

3天内不再提示

时序电路为什么在FPGA上综合成了latch?

sanyue7758 来源:ExASIC 2024-02-20 16:12 次阅读

有群友提问,下面的代码为什么在DC里可以综合成DFF,而在FPGA上却综合成了latch。

always@(posedgeclk,negedgerstn,negedgesetn)
  if(!rstn)
    a <= 1'b0;
  else if(!setn)
    a <= 1'b1;
  else 
    a <= a;

我们可以看到这段代码有两个特别之处:

同时有异步复位和异步置位

除了复位和置位,数据要保持

我们可以画出这段代码的逻辑图,如下图。这图也就是DC综合出来的结果。

1dbdbc36-cfc7-11ee-a297-92fbcf53809c.png

那在FPGA上为什么会变成latch呢?有人说FPGA平台没有latch,但quartus里确实报了生成latch的warning。我们来试着把电路等价变换,先把setn端简化掉:

1dd04a0e-cfc7-11ee-a297-92fbcf53809c.png

我们看到上图左边dff的逻辑,当rstn==0时,dff输出0,否则就保持。这不就是latch的逻辑吗?整理出下图:

1ddecf0c-cfc7-11ee-a297-92fbcf53809c.png

由此可见FPGA平台综合成latch也是有可能的。

后来让群友直接看看FPGA平台综合出来的电路图,看看究竟是什么样的电路。群友回复如下:

1df087c4-cfc7-11ee-a297-92fbcf53809c.png

哎,真是神奇!时钟都优化没了,直接用了一个带复位和置位的latch。看了这个电路的逻辑,确实与一开头的RTL等价的,并且还不需要数据loop了,挺简洁的。

所以得出结论,FPGA平台之所以与DC有差异,只是综合策略或者说是综合引擎优化算法的问题。综合结果都是可以用的。




审核编辑:刘清

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

    关注

    1602

    文章

    21320

    浏览量

    593199
  • 时序电路
    +关注

    关注

    1

    文章

    113

    浏览量

    21586
  • 异步复位
    +关注

    关注

    0

    文章

    45

    浏览量

    13251
  • dff
    dff
    +关注

    关注

    0

    文章

    26

    浏览量

    3287

原文标题:时序电路为什么综合成了latch

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    时序电路的分析与设计方法

    逻辑功能,若电路存在问题,并提出改进方法。分析同步时序电路时分为以下几个步骤:分清时序电路的组成.列出方程. 根据时序电路的组合部分,写出
    发表于 08-23 10:28

    什么是时序电路

    什么是时序电路时序电路核心部件触发器的工作原理
    发表于 03-04 06:32

    FPGA从入门到精通——时序电路之触发器

    时间的重要性不言而喻,加上时间这个维度就如同X-Y的平面加上了一个Z轴,如同打开了一个新的世界。所以今天我们就要来聊聊时序电路时序电路中,电路任何时刻的稳定状态输出不仅取决于当前的
    发表于 07-04 08:00

    PLD练习2(时序电路)

    PLD练习2(时序电路)
    发表于 05-26 00:14 20次下载

    同步时序电路

    同步时序电路 4.2.1 同步时序电路的结构和代数法描述
    发表于 01-12 13:31 4790次阅读
    同步<b class='flag-5'>时序电路</b>

    什么是时序电路

    什么是时序电路 任意时刻的稳定输出,不仅与该时刻的输入有关,而且还
    发表于 01-12 13:23 8194次阅读
    什么是<b class='flag-5'>时序电路</b>

    基于FPGA技术的RS232接口时序电路设计方案

    基于FPGA技术的RS232接口时序电路设计方案
    发表于 01-26 11:36 29次下载

    FPGA的设计主要是以时序电路为主吗?

    “时钟是时序电路的控制者” 这句话太经典了,可以说是FPGA设计的圣言。FPGA的设计主要是以时序电路为主,因为组合逻辑电路再怎么复杂也变不
    的头像 发表于 07-21 10:55 4541次阅读

    组合电路时序电路的讲解

    组合电路时序电路是计算机原理的基础课,组合电路描述的是单一的函数功能,函数输出只与当前的函数输入相关;时序电路则引入了时间维度,时序电路
    的头像 发表于 09-25 09:50 2.5w次阅读

    锆石FPGA A4_Nano开发板视频:时序电路的分析与设计

    时序电路,是由最基本的逻辑门电路加上反馈逻辑回路(输出到输入)或器件组合而成的电路,与组合电路最本质的区别在于时序电路具有记忆功能。
    的头像 发表于 09-27 07:10 2201次阅读
    锆石<b class='flag-5'>FPGA</b> A4_Nano开发板视频:<b class='flag-5'>时序电路</b>的分析与设计

    时序电路基本组件及时序逻辑电路应用实例

    时序电路是数字电路的基本电路,也是FPGA设计中不可缺少的设计模块之一。
    的头像 发表于 09-08 14:21 6171次阅读
    <b class='flag-5'>时序电路</b>基本组件及<b class='flag-5'>时序</b>逻辑<b class='flag-5'>电路</b>应用实例

    时序电路之触发器

    时间的重要性不言而喻,加上时间这个维度就如同X-Y的平面加上了一个Z轴,如同打开了一个新的世界。所以今天我们就要来聊聊时序电路。 在时序电路中,电路任何时刻的稳定状态输出不仅取决于当前的输入,还与
    的头像 发表于 01-06 17:07 4464次阅读

    什么是同步时序电路和异步时序电路,同步和异步电路的区别?

    同步和异步时序电路都是使用反馈来产生下一代输出的时序电路。根据这种反馈的类型,可以区分这两种电路时序电路的输出取决于当前和过去的输入。时序电路
    的头像 发表于 03-25 17:29 1.9w次阅读
    什么是同步<b class='flag-5'>时序电路</b>和异步<b class='flag-5'>时序电路</b>,同步和异步<b class='flag-5'>电路</b>的区别?

    时序电路包括两种类型 时序电路必然存在状态循环对不对

    时序电路是由触发器等时序元件组成的数字电路,用于处理时序信号,实现时序逻辑功能。根据时序元件的类
    的头像 发表于 02-06 11:22 408次阅读

    时序电路的分类 时序电路的基本单元电路有哪些

    时序电路是一种能够按照特定的顺序进行操作的电路。它以时钟信号为基准,根据输入信号的状态和过去的状态来确定输出信号的状态。时序电路广泛应用于计算机、通信系统、数字信号处理等领域。根据不同的分类标准
    的头像 发表于 02-06 11:25 651次阅读