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

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

3天内不再提示

FPGA设计小技巧(时钟/性能/编程)

454398 来源:FPGA技术联盟 作者:FPGA技术联盟 2020-12-11 10:26 次阅读

时钟

选用全局时钟缓冲区(BUFG)作为时钟输入信号,BUFG是最稳定的时钟输入源,可以避免误差。

只用一个时钟沿来寄存数据,使用时钟的两个沿是不可靠的,如果时钟沿“漂移”,就会导致时序错误。

不要随意将内部信号作为时钟,如门控时钟和分频时钟,而要使用CLKDLL或者DCM产生的时钟,或者可以通过建立时钟使能或者DCM产生不同的时钟信号。

FPGA尽量采取同步设计,也就是所有时钟都是同一个源头,如果使用两个没有相位关系的异步时钟,必须要解决跨时钟域问题。

性能篇

逻辑级的时延不要超过时序预算的百分之五十,否则会影响系统的运行频率。可以通过分析时序报告中某个路径的时序统计量来掌握系统的逻辑级时延。

对于关键的输出选择快速转换速率,可以为LVCMOS和LVTTL电平选择转换速率来降低输出时延。

如果设计允许增加延迟,可以对组合逻辑采用流水操作来提高性能。

利用四种全局约束来对设计进行全局约束,周期、偏置、输入/输出,管脚到管脚。

I/O寄存器提供了最快的时钟到输入、输出到时钟的延时,对于输入、输出信号,管脚到寄存器、寄存器到管脚都不可以有组合逻辑存在,对于三态寄存器,必须低电平有效,才能被综合到IOB当中。

尽量使用IP核进行设计,因为IP核都是针对FPGA器件进行了优化,性能更高。

编程

使用Case语句而不是if-then-else语句

复杂的if-then-else语句在综合布局布线以后会生成优先级译码逻辑,增加路径上的时延。然而,case语句则综合为并行逻辑,没有时延。

有限状态机尽量不要包含有算术逻辑、数据通路逻辑以及其它与状态机不相关的组合逻辑;

状态机编写的时候,下一状态逻辑和输出译码逻辑必须放在独立的进程中或者always语句中,综合工具在输出和下一状态逻辑之间不允许共享资源。

尽量使用一位编码有限状态机;

使用不同风格的计数器,二进制计数器是非常慢的,可以考虑LFSR,Pre -scalar,Johnson.

代码设计要按照功能块划分成不同的层次,层次化有助于设计更加容易读懂,也容易调试和复用。

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

    关注

    1602

    文章

    21320

    浏览量

    593192
收藏 人收藏

    评论

    相关推荐

    FPGA时序约束之衍生时钟约束和时钟分组约束

    FPGA设计中,时序约束对于电路性能和可靠性非常重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的主时钟约束。
    发表于 06-12 17:29 1438次阅读

    基于lmk03806的高性能编程时钟发生器的设计与fpga实现 毕...

    我要做毕业设计 叫 基于lmk03806的高性能编程时钟发生器的设计与fpga实现,需要有protel 99se画 lmk03806的原理图和fp
    发表于 05-03 23:06

    时钟IC怎么满足高性能时序需求?

    时钟设备设计使用 I2C 可编程小数锁相环 (PLL),可满足高性能时序需求,这样可以产生零 PPM(百万分之一)合成误差的频率。高性能时钟
    发表于 08-12 06:50

    FPGA时钟是什么意思

    (08)FPGA时钟概念1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA时钟概念5)结语1.2
    发表于 02-23 07:26

    基于FPGA时钟设计

    FPGA设计中,为了成功地操作,可靠的时钟是非常关键的。设计不良的时钟在极限的温度、电压下将导致错误的行为。在设计PLD/FPGA时通常采用如下四种类型
    发表于 09-21 18:38 3505次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>时钟</b>设计

    编程PLL硅时钟提供一流抖动性能

    设计中还需要半定制化时钟和可编程时钟以提升系统的性能和设计灵活性。这些应用趋势对时钟产生技术及频率元件提出了更高的要求,市场迫切需要能够满足
    发表于 11-22 10:50 1393次阅读

    如何满足高性能时钟IC需求

    时钟设备设计使用I2C可编程小数锁相环(PLL),可满足高性能时序需求,这样可以产生零PPM(百万分之一)合成误差的频率。高性能时钟IC具有
    的头像 发表于 08-30 11:04 4317次阅读
    如何满足高<b class='flag-5'>性能</b><b class='flag-5'>时钟</b>IC需求

    (10)FPGA时钟域处理

    (10)FPGA时钟域处理1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA时钟域处理5)结语1.2
    发表于 12-29 19:40 7次下载
    (10)<b class='flag-5'>FPGA</b>跨<b class='flag-5'>时钟</b>域处理

    (08)FPGA时钟概念

    (08)FPGA时钟概念1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA时钟概念5)结语1.2
    发表于 12-29 19:41 2次下载
    (08)<b class='flag-5'>FPGA</b><b class='flag-5'>时钟</b>概念

    (12)FPGA时钟设计原则

    (12)FPGA时钟设计原则1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA时钟设计原则5)结语1.2
    发表于 12-29 19:41 17次下载
    (12)<b class='flag-5'>FPGA</b><b class='flag-5'>时钟</b>设计原则

    (29)FPGA原语设计(差分时钟转单端时钟

    (29)FPGA原语设计(差分时钟转单端时钟)1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA原语设计(差分
    发表于 12-29 19:41 5次下载
    (29)<b class='flag-5'>FPGA</b>原语设计(差分<b class='flag-5'>时钟</b>转单端<b class='flag-5'>时钟</b>)

    (30)FPGA原语设计(单端时钟转差分时钟

    (30)FPGA原语设计(单端时钟转差分时钟)1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA原语设计(单端
    发表于 12-29 19:41 10次下载
    (30)<b class='flag-5'>FPGA</b>原语设计(单端<b class='flag-5'>时钟</b>转差分<b class='flag-5'>时钟</b>)

    性能时钟有哪些特点 Xilinx 7系列时钟管理技术解析

      业界高端FPGA的卓越性能和高口碑声誉都有哪些因素了?其中很重要的一个因素就是FPGA内部丰富的时钟资源使得FPGA在处理复杂
    发表于 08-31 10:44 567次阅读

    FPGA为什么有时候还需要一个时钟配置芯片提供时钟呢?

    FPGA为什么有时候还需要一个时钟配置芯片提供时钟呢? FPGA(Field Programmable Gate Array)是一种可编程
    的头像 发表于 10-25 15:14 1152次阅读

    FPGA输入的时钟信号必须是方波么?正弦波会有影响么?

    FPGA输入的时钟信号必须是方波么?正弦波会有影响么? FPGA是一种可编程逻辑器件,通常用于实现数字电路。输入时钟信号是
    的头像 发表于 01-31 11:31 1516次阅读