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

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

3天内不再提示

组合逻辑生成的时钟有哪些危害

FPGA技术驿站 来源:CSDN技术社区 作者:CSDN技术社区 2020-10-10 10:28 次阅读

组合逻辑生成的时钟,在FPGA设计中应该避免,尤其是该时钟扇出很大或者时钟频率较高,即便是该时钟通过BUFG进入全局时钟网络。

组合逻辑生成时钟的典型特征是在网表中我们能够看到LUT(查找表)的输出直接连接或通过BUFG连接到时序逻辑单元比如触发器的时钟端口。最直接的危害是组合逻辑可能会产生毛刺(Glitch),从而导致电路功能错误。看个案例,如下图所示。由于毛刺的存在,计数器多计数了一次,导致错误。

从时序角度而言,组合逻辑生成的时钟会增加时钟线上的延迟,从而导致过大的Clock Skew,最终造成建立时间和保持时间违例。此外,如果有毛刺,毛刺通常很窄,很可能无法满足触发器的Pulse Width要求。还有的工程中尽管没有直接把LUT的输出当作时钟,而是将其通过一个触发器之后再用作时钟,这可以过滤掉毛刺,但同样会增加时钟线上的延迟,导致Clock Skew过大。因此,在FPGA设计中,要避免此类时钟。

拿到一个网表,如何判定设计中是否包含此类时钟呢?从上面的描述可以看到,这类时钟要么是LUT输出,要么是触发器输出,这是第一个特征。第二个特殊,既然是时钟,时钟网线的类型就是LOCAL_CLOCK,根据这两点就能找到时钟管脚,相应的Tcl脚本如下图所示。

代码第2行是找到所有的时钟网线,第3行对该时钟网线进行过滤筛选,凡是与网线相连的pin是输出端口且其REF_PIN_NAME是O(对应LUT输出)或Q(对应触发器输出)的,即为目标时钟端口。代码第4行则是将找到的对象以图形界面方式显示出来。

找到了这类时钟,如何优化呢?如果这类时钟是在MMCM或PLL可生成频率范围内,那么建议用MMCM或PLL生成,尤其是该时钟扇出比较大的时候。如果MMCM或PLL无法生成,且时钟频率很低,例如低于5MHz,而设计已经到了后期,不太可能大范围修改,那么尝试是否可能将该时钟驱动的逻辑都放在一个时钟区域内,同时保证时钟源也在该时钟区域内,这可通过手工布局的方式(画Pblock)实现。这样做对于降低Clock Skew会有些帮助。
责任编辑人:CC

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

    关注

    10

    文章

    1479

    浏览量

    130306
  • 组合逻辑
    +关注

    关注

    0

    文章

    45

    浏览量

    9993

原文标题:如何快速找到组合逻辑生成的时钟

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA之组合逻辑与时序逻辑、同步逻辑与异步逻辑的概念

    数字电路根据逻辑功能的不同特点,可以分成两大类:一类叫做组合逻辑电路,简称组合电路或组合逻辑;另
    发表于 12-01 09:04 490次阅读

    FPGA中何时用组合逻辑或时序逻辑

    数字逻辑电路分为组合逻辑电路和时序逻辑电路。时序逻辑电路是由组合
    发表于 03-21 09:49 526次阅读

    soc中的组合逻辑和时序逻辑应用说明

    芯片设计是现代电子设备的重要组成部分,其中组合逻辑和时序逻辑是芯片设计中非常重要的概念。组合逻辑和时序
    的头像 发表于 08-30 09:32 878次阅读

    组合逻辑电路实验

    组合逻辑电路实验实验三 组合逻辑电路一、 实验目的1、 掌握组合逻辑电路的功
    发表于 03-20 18:11

    FPGA实战演练逻辑篇47:消除组合逻辑的毛刺

    消除组合逻辑的毛刺本文节选自特权同学的图书《FPGA设计实战演练(逻辑篇)》配套例程下载链接:http://pan.baidu.com/s/1pJ5bCtt 在章节3.2的最后部分对于组合
    发表于 07-08 10:38

    组合逻辑消除竞争

    本帖最后由 inception1900 于 2015-11-16 14:51 编辑 tmp,tmp_num 是std_logic_vector(15 downto 0),tmp输入,tmp_num 输出,如何消除下面VHDL描述组合逻辑出现的竞争(不采用
    发表于 11-16 14:50

    勇敢的芯伴你玩转Altera FPGA连载25:组合逻辑与时序逻辑

    的延时。而在时序逻辑中,该实例除了组合逻辑满足条件外,只有在时钟信号clk的每个上升沿输出z2才会发生变化。这里一个细节大家也需要注意,x
    发表于 11-17 18:47

    【技巧分享】时序逻辑组合逻辑的区别和使用

    简单的例子来区分学习下,如计算c=a+b。在代码层面,时序逻辑代码表示如下,可以看到此代码“posedge“时钟上升沿,即表示一个D触发器,a+b的结果c是在D触发器发出指令后才进
    发表于 03-01 19:50

    在FPGA中何时用组合逻辑或时序逻辑

    odata也将会比idata延迟一拍,最终结果为result和odata同步输出。 · 根据运行速度进行选择 在数字逻辑电路中,中间某一部分为组合逻辑,两侧的输入或者输出也会对延迟或者输入的数据速率
    发表于 03-06 16:31

    第3章 组合逻辑电路

    详细介绍了组合逻辑电路的分析方法,包括加法器、译码器、编码器、分配器、选择器等组合逻辑电路的分析方法
    发表于 01-22 13:13 3次下载

    什么是组合逻辑电路_组合逻辑的分类

    组合逻辑电路是无记忆数字逻辑电路,其任何时刻的输出仅取决于其输入的组合.
    的头像 发表于 06-22 10:53 4.7w次阅读
    什么是<b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>电路_<b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>的分类

    组合逻辑自动测试生成的PDF文件免费下载

    本文档的主要内容详细介绍的是组合逻辑自动测试生成的PDF文件免费下载包括了:• 自动测试生成(ATPG)相关问题 • 组合(Combinat
    发表于 12-01 08:00 2次下载
    <b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>自动测试<b class='flag-5'>生成</b>的PDF文件免费下载

    组合逻辑电路中的危害

    。 在这里,我们将探讨静态 0 危害、静态 1 危害和动态危害。 什么是逻辑危险? 在复杂的逻辑电路中,输出端可能会出现不需要的临时开关事件
    的头像 发表于 01-27 14:18 1147次阅读
    <b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>电路中的<b class='flag-5'>危害</b>

    组合逻辑电路之与或逻辑

    逻辑电路由多个逻辑门组成且不含存储电路,对于给定的输入变量组合将产生确定的输出,则这种逻辑电路称为组合
    的头像 发表于 02-04 11:46 514次阅读
    <b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>电路之与或<b class='flag-5'>逻辑</b>

    什么是组合逻辑电路和时序逻辑电路?它们之间的区别是什么

    决定。它们没有储存器或时钟元件,因此输出仅取决于当前输入的状态。组合逻辑电路不存储任何信息,也没有内部状态。典型的组合逻辑电路包括门电路、多
    的头像 发表于 03-26 16:12 374次阅读