zoukankan      html  css  js  c++  java
  • 模块边界使用寄存器来做数据的交互

    转载自“ 达尔闻说”公众号:

    在数字电路设计中,要求模块设计中保持寄存器输入输出,这样做有利于时序收敛。

    UG949中给出了参考建议:层级边界输出加寄存器是为了将关键路径限定在单个模块或边界之内。也可以在层级边界考虑输入加寄存器。通常而言,分析并修复位于一个模块中的时序路径比跨多个模块的路径要容易得多。任何在层级边界上的路径为寄存器化,都应在重建层级或扁平化层级的条件下完成综合,以实现跨层级优化。在逻辑边界上寄存数据路径有助于在整个设计进程中保持(用于调试的)可跟踪性,因为这样可以尽量避免跨层级优化,逻辑也不必跨模块移动。这样才能使系统保持更好的时序。

    关于Xilinx器件和Vivado适用的代码风格,《Vivado使用误区与进阶》有以下建议:

    • 多使用Vivado自带的代码模板;
    • 尽量避免使用异步复位;
    • 在模块边界上使用寄存器而非组合逻辑;
    • 使用流水结构来降低逻辑层数;
    • 采用适当的RAM和DSP的实现方式(是否选用硬核);
    • 在综合后或是逻辑优化(opt_design)后的时序报告上分析代码优化的方向。
  • 相关阅读:
    嵌入式开发之hi3519---i2c EEPROM
    can 驱动
    i2c
    嵌入式开发之hi3519---spi nor flash启动
    centos7 安装后需要做的事情
    zookeeper的可视化web界面
    MySQL各类日志文件相关变量介绍
    Outlook 如何初始化邮箱
    一个不错的运维发布系统的文章
    grafana 的面板设置
  • 原文地址:https://www.cnblogs.com/achangchang/p/13404446.html
Copyright © 2011-2022 走看看