AMD FPGA设计优化宝典笔记(5)低频全局复位与高扇出

这篇具有很好参考价值的文章主要介绍了AMD FPGA设计优化宝典笔记(5)低频全局复位与高扇出。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AMD FPGA设计优化宝典笔记(5)低频全局复位与高扇出,FPGA,fpga开发,笔记

亚军老师的这本书《AMD FPGA设计优化宝典》,他主要讲了两个东西:
第一个东西是代码的良好风格;
第二个是设计收敛等的本质。
这个书的结构是一个总论,加上另外的9个优化,包含的有:时钟网络、组合逻辑、触发器、移位寄存器、存储器、乘加运算单元、状态机、扇出、布线拥塞。大部头的书看起来比较痛苦,我简化的方式,选择触发器一章入手,这个平时有点了解,也觉得看完会用上的概率大一些。这章是书的第4章,全局复位方面的内容,接前面的我的文章:

全局复位

P197
电路板上的按压开关复位信号,做全局复位,带来的影响是什么?
这种全局复位信号,频率比较低,如果用作FPGA内部的同步复位,那这个信号本身扇出就会很大,再由于频率较低导致的建立时间变小了,容易让不同级的寄存器的复位不在同一个时钟内激活、时序不收敛
流水线寄存器处理数据中,问题可能不大,不同级的寄存器的复位不在同一个时钟内激活,但老数据可以被新数据冲掉,若干时钟周期后,流水线就正常运转了。
但如果这是一条流水线寄存器用作控制路径,无法在同一个时钟周期内激活各个寄存器的复位,会导致信号错误,功能就不对了。

补充信息 名词解释:

1 扇入、扇出系数:

扇入系数是指门电路允许的输入端数目。
扇出系数是指一个门的输出端所驱动同类型门的个数。扇出系数体现了门电路的负载能力。

2 高扇出

高扇出指的是一个逻辑单元驱动的逻辑单元过多。常见于寄存器驱动过多的组合逻辑单元。至于驱动多少逻辑单元算过多,需要根据工艺,后端实现情况以及芯片本身类型来决定。一般来说如果驱动逻辑大于10K以上,算是比较多的了。
高扇出问题,通常是指用一个节点驱动多个下级逻辑器件,此问题会严重影响FPGA布线的稳定性,设计的时候要多加注意,此时采用的是复制寄存器策略。

举个例子:CLK为系统时钟,M为1MHz方波信号,由于M信号驱动的模块较多,所以M的扇出较多,为了减少扇出,用系统时钟采样,将M信号驱动7个D触发器,然后将7个D触发器的输出端分给7个模块,这样每个复制点(DUP0~DUP6)平均扇出变为原来的1/7,M的信号扇出变为7,这样就减少了每个信号的扇出,优化了逻辑,也提高了设计的整体性能。简而言之,就是将一路信号用D触发器和CLK将其分成两路信号,或者是更多路的信号,再让这些信号来驱动下面的各个模块。

高扇出有哪些危害?(从ASIC设计的角度讲的)
危害1:驱动能力下降,时序紧张
扇出过高也就是也就意味了负载电容过大,电路原理基础中,负载电容越大,充放电速度越慢,电平跳变所需要的时间增加,即驱动能力下降,时序更加紧张。面对高扇出的情况,后端工具通常会通过插入buffer增加驱动能力,然后插入buff又会增加延时,造成时序紧张。
危害2:不利于布局布线,会增加走线延时
高扇出的情况通常意味着负载end_point分布在block的各个位置。而驱动的start_point需要放置在相对应的中心位置,这就意味到start_point到end_points的走线延时较大,一旦时序紧张,后端工具需要花费很多时间去优化,往往结果还不理想。

在遇到信号高扇出时三种思路,对于普通信号可采用①寄存器复制或者②设置max_fanout属性优化;而对于复位信号,可③加入BUFG优化
AMD FPGA设计优化宝典笔记(5)低频全局复位与高扇出,FPGA,fpga开发,笔记文章来源地址https://www.toymoban.com/news/detail-825181.html

到了这里,关于AMD FPGA设计优化宝典笔记(5)低频全局复位与高扇出的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA的复位操作

    所谓的“同步”、“异步”,指复位的执行与时钟 (CLK)是否同步,可通过敏感列表中是否包含复位信号判断。 同步复位:复位信号和时钟同步,当时钟上升沿检测到复位信号,执行复位操作。——always@(posedge clk) 异步复位:不受时钟影响,只要复位信号有效,就会进行复位。

    2024年04月23日
    浏览(21)
  • FPGA | 深入理解复位

    复位电路作为数字逻辑设计中一个重要电路,不管是FPGA还是ASIC设计中都会经常使用,可以说复位信号在数字电路里面的重要性仅次于时钟信号。复位的主要目的是使芯片电路进入一个已知的,确定的状态。主要是触发器进入初始状态。复位一般分为同步复位和异步复位,可

    2024年02月01日
    浏览(23)
  • 【FPGA】优化设计指南(一):设计原则

    1.#1000延时语句 2.除法运算/,除非除数为2的整次幂 3.实数类型不可综合(real) 4.综上,使用可综合的HDL代码描述电路。先有电路,再写代码。RTL代码风格应和FPGA芯片结构匹配。 时钟组内的时钟必须有明确的相位关系。最常见的是MMCN/PLL生成的多个时钟,同为时钟组。 “Mix

    2024年04月26日
    浏览(24)
  • Xilinx 7系列 FPGA硬件知识系列(八)——Xilinx FPGA的复位

    目录  概要  Xilinx复位准则 全局复位主要由以下三种方式实现 高时钟频率下的复位时序全局复位对时序的要求真的很关键吗? 独热码状态机的复位        FPGA配置 Xilinx白皮书WP272《Get Smart About Reset: Think Local, Not Global》详细讲述了FPGA的全局复位。在数字系统设计中,我们

    2024年03月11日
    浏览(58)
  • 【FPGA】优化设计指南(二):性能指标

    Fmax可通过时序报告计算得出。在Vivado中,可通过命令report_timing_summary生成时序报告.WNS越大越好. 输入到输出的延迟通常用时钟周期个数来表示,称为Latency,该指标也反映了设计的流水级数。Latency越小越好。但Latency小意味着流水级数低,这可能会导致Fmax降低。 可通过命令

    2024年04月28日
    浏览(23)
  • fpga设计中如何防止信号被优化

    本文分别对quartus和vivado防止信号被优化的方法进行介绍。 ​ 在FPGA开发调试阶段,经常遇到这样的情况,需要临时添加信号,观察信号变化,用来定位代码中存在的问题,很多时候这些临时添加的信号会被综合工具优化掉,为了防止这种情况的发生,可以使用添加虚拟引脚

    2024年02月04日
    浏览(20)
  • verilog设计技巧 (1) :复位技术(同步复位、异步复位、异步复位同步释放)

    一、复位的类型和划分 通常,芯片的复位信号分为两大类, 全局复位 和 局部复位 ; 全局复位: 能够确保每个寄存器都处于可控的状态; 局部复位: 基于软件功能的需求而存在的独立复位,对于某一个模块的单独控制,建议使用局部复位; ( 等待完善 ) 二、同步复位 定义

    2023年04月21日
    浏览(28)
  • 数字IC/FPGA面试宝典--经典60道例题详解

    1.关于亚稳态的描述错误的是(A) A、多用几级寄存器打拍可以消除亚稳态。 B、亚稳态是极不稳定的,理论上来讲处在亚稳态的时间可以无限长。 C、亚稳态稳定到0或者1,是随机的,与输入没有必然的关系。 D、如果数据传输中不满足触发器的建文时间Tsu和保持时间Th,可能

    2024年01月16日
    浏览(39)
  • Xilinx(AMD) 7系列FPGA——主BPI配置模式

    主BPI配置模式用于对启动加载时间有要求的情况下使用,因为BPI模式为并行加载,加载时间较短,适用于需要快速加载的场景;主BPI模式,M[2:0] = 3’b010。主BPI模式进行读写操作时,分为同步与异步两种,对于同步读取,FPGA的CCLK管脚输出必须连接到Flash的CLK引脚;对于异步读

    2024年03月17日
    浏览(36)
  • 面试宝典之JVM优化

    加载、验证、准备、解析、初始化。然后是使用和卸载了 新生代内存不够用时候发生 MGC 也叫 YGC,JVM 内存不够的时候发生 FGC 标记-清除: 这是垃圾收集算法中最基础的,根据名字就可以知道,它的思想就是标记哪些要被回收的对象,然后统一回收。这种方法很简单,但是会有

    2024年01月20日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包