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
    +关注

    关注

    1630

    文章

    21796

    浏览量

    605620
  • 时序电路
    +关注

    关注

    1

    文章

    114

    浏览量

    21738
  • 异步复位
    +关注

    关注

    0

    文章

    47

    浏览量

    13338
  • dff
    dff
    +关注

    关注

    0

    文章

    26

    浏览量

    3442

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

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

收藏 人收藏

    评论

    相关推荐

    数字电路时序电路

    《数字电路之如雷贯耳的“逻辑电路”》、《数字电路之数字集成电路IC》之后,本文是数字电路入门3
    发表于 08-01 10:58 1.9w次阅读
    数字<b class='flag-5'>电路</b>之<b class='flag-5'>时序电路</b>

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

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

    什么是时序电路

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

    同步时序电路

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

    什么是时序电路

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

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

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

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

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

    组合电路时序电路的讲解

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

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

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

    时序电路基本介绍

    组合逻辑和时序逻辑电路是数字系统设计的奠基石,其中组合电路包括多路复用器、解复用器、编码器、解码器等,而时序电路包括锁存器、触发器、计数器、寄存器等。
    的头像 发表于 09-12 16:44 9550次阅读
    <b class='flag-5'>时序电路</b>基本介绍

    什么是时序电路

    那么,如何才能将过去的输入状态反映到现在的输出上呢?「时序电路」到底需要些什么呢?人类总是根据过去的经验,决定现在的行动,这时我们需要的就是—记忆。同样,「时序电路」也需要这样的功能。这种能够实现人类记忆功能的元器件就是触发器。
    的头像 发表于 03-24 10:48 1301次阅读
    什么是<b class='flag-5'>时序电路</b>?

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

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

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

    探讨时序电路中可能存在的状态循环。 首先,同步时序电路是指时序元件按照整个系统的时钟信号进行同步操作的时序电路。常见的同步时序元件有锁存器和
    的头像 发表于 02-06 11:22 1632次阅读

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

    时序电路可以分为同步时序电路和异步时序电路。接下来,我们将详细讨论时序电路的分类以及其基本单元电路。 一、同步
    的头像 发表于 02-06 11:25 2883次阅读

    时序电路基本原理是什么 时序电路由什么组成

    时序电路基本原理是指电路中的输出信号与输入信号的时间相关性。简单来说,就是电路的输出信号要依赖于其输入信号的顺序和时间间隔。 时序电路由时钟信号、触发器和组合逻辑
    的头像 发表于 02-06 11:30 2183次阅读