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

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

3天内不再提示

进行design partition时,为什么推荐使用register out的方式

lhl545545 来源:IP与SoC设计 作者:IP与SoC设计 2022-08-18 11:54 次阅读

使用Verilog设计电路模块时,为什么推荐使用register out的方式?

在进行design partition时,相比register in更推荐register out,请问为什么呢?如果前后两个模块时钟域不同,register in会有什么问题?

@0431大小回:

1.为了logic level可控:因为一般大一点的工程都是多人负责的模块化设计,如果你的输出不是寄存器输出,而是组合逻辑直接输出,这样别人在衔接你这个模块的时候,根本不知道你的输出前有多少级组合逻辑级数。如果在输入的时候寄存也可以,但是这样就相当于我们把自己该做好的事情让别人来做了,所以这个时候就约定俗成的让输出都寄存。这样可以在写或者修改该模块的设计者能掌握好自己设计的逻辑级数.

2.为了约束:以FPGA设计为例,在后续做implementation的时候,有的时候发现wns比较差是因为fanout比较高,比如某些关键使能信号驱动了多个大位宽数据。这个时候可以在顶层模块例化连接找到这个信号,显式限制(max_fanout = xxx)。但是在vivado里这个语句只适用于寄存器,而不适用于wire形变量,所以我猜测还有一些其他的显示约束方法对寄存器输出有强需求。

@顽猴溜溜:

你这个问题,必须从物理实现的角度来解释。

1.如果fanout目标一个在东、一个在西,那么register out很容易clone成东西两个register,来优化布线,且不会引入任何额外的延时。register in的优化就没这么简单了。

2.如果fanout目标成千上万(high fanout),那么register out很容易clone成多组register,来降低fanout优化布线,且不会引入任何额外的延时。register in的优化就没这么简单了。

3.如果连线过长需要引入额外的延时,那么register out很容易插入repeater或pipeline,而register in的处理相对更困难。

4.register out的时序行为更容易描述,且不会出现毛刺,所以工艺迁移更容易,标准IP也更喜欢。

审核编辑:彭静

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

    关注

    31

    文章

    5425

    浏览量

    123602
  • 时钟
    +关注

    关注

    11

    文章

    1886

    浏览量

    132926
  • Register
    +关注

    关注

    0

    文章

    36

    浏览量

    14136

原文标题:使用Verilog设计电路模块时,为什么推荐使用register out的方式?

文章出处:【微信号:IP与SoC设计,微信公众号:IP与SoC设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐
    热点推荐

    基于RK3576开发板的HDMI-OUT使用

    EASY EAI Orin-Nano的HDMI OUT接口支持2.1协议,并且向下兼容2.0,1.4。具体分辨率与帧率,可对接入的屏幕进行自适应。
    的头像 发表于 05-06 15:59 257次阅读
    基于RK3576开发板的HDMI-<b class='flag-5'>OUT</b>使用

    请问如何设置为Pad Control Register IOMUXC_SW_PAD_CTL_PAD_BOOT_MODE1?

    我想将 imx8mm 中 Pad Control Register IOMUXC_SW_PAD_CTL_PAD_BOOT_MODE1 的任何值设置为。 在 i.MX8M Mini
    发表于 04-08 06:54

    如何使用S32 Design Studio for ARM将自定义数据放入SRAM中以进行S32K146?

    如何使用 S32 Design Studio for ARM 将自定义数据放入 SRAM 中以进行S32K146?
    发表于 04-01 08:27

    Design House与Fab的关系

    (Fab)形成互补关系。它负责芯片的功能设计与验证,将最终设计成果交付晶圆厂进行制造。设计公司不直接参与生产,而是通过EDA(电子设计自动化)工具、算法优化和设计规则约束,实现高效的芯片研发。 可以将Design House理解为“芯片建筑师”,而Fab是“芯片施工队”。
    的头像 发表于 01-07 09:59 758次阅读

    ADS1282 Register mode(PIN=0)需要我们进行配置吗?

    这是ADS1282数据手册上的,那个Register mode(PIN=0)需要我们进行配置吗,是在哪里配置啊
    发表于 01-06 07:11

    TLV320AIC3104上电时是不是只要控制Register 43与Register 44,将其Mute就可以控制上电爆音了?

    大家好 有个问题TLV320AIC3104上电时是不是只要控制Register 43(Left-DAC Digital Volume Control Register)与Register 44
    发表于 11-08 06:32

    使用Filter Design Tool工具进行低通或者高通滤波器设计时,如何调整电阻或者电容的值?

    请问再使用Filter Design Tool 工具进行低通或者高通滤波器设计时,如何调整电阻或者电容 的值?谢谢!
    发表于 10-15 06:17

    编译例程partition_mmap,报错no such vaddr range怎么解决?

    内存映射问题:编译例程partition_mmap,报错no such vaddr range怎么解决?
    发表于 09-26 07:03

    FPGA Verilog HDL有什么奇技巧?

    :使用Verilog设计电路模块时,为什么推荐使用register out方式? 在进行design
    发表于 09-12 19:10

    THS4503全差分放大器OUT+和OUT-有重叠是怎么回事?如何消除?

    用TI公司的全差分放大器(比如THS4503)的pspise模型进行仿真,IN+接一个1kHz的信号(0~1V),IN-接地,OUT+和OUT-对称反馈,增益设置为2,OUT+范围为
    发表于 08-06 06:57

    rk3568在.config中配置了CONFIG_OPTEE_ALWAYS_USE_SECURITY_PARTITION =y,parameter.txt却没有security分区

    security partition Authentication key not yet programmed E/TC:? 0 tee_rpmb_verify_key_sync_counter:1019
    发表于 07-29 12:14

    使用NVS Partition Generator Utility nvs读取不到key值,是怎么回事?

    分区表也进行了修改 # Espressif ESP32 Partition Table # # Note: if you change the phy_init or app partition
    发表于 06-26 07:37

    为什么nvs_partition_gen.py无法对csv文件转换成bin文件?

    对应的 NVS 分区: $IDF_PATH/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py --input
    发表于 06-25 06:25

    配置ble mesh保存节点信息时初始化partition失败了怎么处理?

    Flash Size : 4MB I (54) boot: Enabling RNG early entropy source... I (60) boot: Partition Table: I
    发表于 06-24 07:39

    擦除flash的API函数esp_partition_erase_range(),擦除的扇区大小能否设置呢?

    前提:如题,esp_partition_erase_range()函数擦除flash要求偏移offset与大小size必须对齐4KByte,即整片扇区擦除; 使用场景:我需要
    发表于 06-20 06:26