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

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

3天内不再提示

单位宽信号如何跨时钟域

FPGA威廉希尔官方网站 驿站 来源:FPGA威廉希尔官方网站 驿站 2023-04-13 09:11 次阅读

单位宽(Single bit)信号即该信号的位宽为1,通常控制信号居多。对于此类信号,如需跨时钟域可直接使用xpm_cdc_single,如下图代码所示。参数DEST_SYNC_FF决定了级联触发器的个数,取值范围为2~10;参数INIT_SYNC_FF决定了仿真时是否使用初始值;参数SIM_ASSERT_CHK用于检查仿真中的问题;参数SRC_INPUT_REG用于是否对输入信号(待跨时钟域信号)在自身时钟下寄存一拍。

21a8d80a-d98f-11ed-bfe3-dac502259ad0.png

从综合结果来看,当DEST_SYNC_FF设置为4,SRC_INPUT_REG设置为1时,形成如下图所示电路。可用看到第一个触发器位于src_clk时钟域下,后续4个触发器位于dest_clk时钟域下。同时,xpm_cdc_single自带约束将图中红色标记触发器到绿色标记触发器之间的路径设置为伪路径,使用set_false_path约束。

21d45a02-d98f-11ed-bfe3-dac502259ad0.png

2201616e-d98f-11ed-bfe3-dac502259ad0.png

从最终的布线结果来看,工具会将后面4个触发器放置的同一个SLICE内,这是因为这4个触发器的属性ASYNC_REG都被设置为TRUE。

221b7e50-d98f-11ed-bfe3-dac502259ad0.png

从仿真结果来看,如果出现如下情形,即输入信号在高有效时无法被接收时钟稳定地采样到至少两次,那么仿真就会给出Error信息

22324d92-d98f-11ed-bfe3-dac502259ad0.png224bc54c-d98f-11ed-bfe3-dac502259ad0.png

满足此条件时,就不会显示此Error信息。这也告诉我们,工程实践中,要确保待跨时钟域信号在高有效时可以被接收时钟至少稳定地采样到两次。

2262ddcc-d98f-11ed-bfe3-dac502259ad0.png

此外,XPM_CDC还提供了xpm_cdc_array_single,与xpm_cdc_single相比只多了一个参数WIDTH,用于指定位宽,但是需要注意的是尽管从形式上看传输的是一个多位宽数据,但实际上,每位是彼此相对独立没有关联的。

22780e86-d98f-11ed-bfe3-dac502259ad0.png

例如,位宽为2,综合结果如下,可以看到其实就是两个xpm_cdc_single合并而成。

22ba4f12-d98f-11ed-bfe3-dac502259ad0.png







审核编辑:刘清

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

    关注

    14

    文章

    1631

    浏览量

    60202
  • XPM
    XPM
    +关注

    关注

    0

    文章

    12

    浏览量

    8618
  • SRC
    SRC
    +关注

    关注

    0

    文章

    58

    浏览量

    17785
  • 时钟信号
    +关注

    关注

    4

    文章

    338

    浏览量

    27948
  • CDC威廉希尔官方网站

    关注

    0

    文章

    9

    浏览量

    6816

原文标题:跨时钟域电路设计(3):单位宽信号如何跨时钟域

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA威廉希尔官方网站 驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA设计中有多个时钟时如何处理?

    FPGA设计中有多个时钟时如何处理?时钟的基本设计方法是:(1)对于单个信号,使用双D触发
    发表于 02-24 15:47

    quartus仿真双口RAM 实现时钟通信

    双口RAM如何实现时钟通信啊?怎么在quartus ii仿真???
    发表于 05-02 21:51

    时钟为什么要双寄存器同步

    出现了题目中的时钟的同步问题?怎么办?十年不变的老难题。为了获取稳定可靠的异步时钟送来的信号
    发表于 08-20 11:32

    如何处理好FPGA设计中时钟问题?

    第二级寄存器的延拍,所以意义是不大的。02方法二:异步双口 RAM处理多 bit 数据的时钟,一般采用异步双口 RAM。假设我们现在有一个信号采集平台,ADC 芯片提供源同步
    发表于 09-22 10:24

    探寻FPGA中三种时钟处理方法

    第二级寄存器的延拍,所以意义是不大的。02方法二:异步双口 RAM处理多 bit 数据的时钟,一般采用异步双口 RAM。假设我们现在有一个信号采集平台,ADC 芯片提供源同步
    发表于 10-20 09:27

    三种时钟处理的方法

    ,所以意义是不大的。  方法二:异步双口RAM  处理多bit数据的时钟,一般采用异步双口RAM。假设我们现在有一个信号采集平台,ADC芯片提供源同步
    发表于 01-08 16:55

    三种FPGA界最常用的时钟处理法式

    的读时钟将格雷码恢复成10进制。这种处理就相当于对单bit数据的时钟处理了。对于格雷码与十进制互换的代码,仅提供给大家作参考:代码使用
    发表于 02-21 07:00

    FPGA初学者的必修课:FPGA时钟处理3大方法

    的读时钟将格雷码恢复成10进制。这种处理就相当于对单bit数据的时钟处理了。对于格雷码与十进制互换的代码,仅提供给大家作参考:代码使用
    发表于 03-04 09:22

    如何处理好FPGA设计中时钟间的数据

    时钟处理是FPGA设计中经常遇到的问题,而如何处理好时钟间的数据,可以说是每个FPGA初
    发表于 07-29 06:19

    如何处理好时钟间的数据呢

    时钟处理是什么意思?如何处理好时钟间的数据呢?有哪几种
    发表于 11-01 07:44

    两级DFF同步器时钟处理简析

    异步bus交互(一)— 两级DFF同步器时钟处理 & 亚稳态处理1.问题产生现在的芯片(比如SOC,片上系统)集成度和复杂度越来越高,通常一颗芯片上会有许多不同的信号工作在不同的
    发表于 02-17 06:34

    FPGA时钟处理简介

    (10)FPGA时钟处理1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA时钟
    发表于 02-23 07:47

    看看Stream信号里是如何做时钟握手的

    逻辑出身的农民工兄弟在面试时总难以避免“时钟”的拷问,在诸多时钟的方法里,握手是一种常见
    发表于 07-07 17:25

    调试FPGA时钟信号的经验总结

    1、时钟信号的约束写法  问题一:没有对设计进行全面的约束导致综合结果异常,比如没有设置异步时钟分组,综合器对异步
    发表于 11-15 14:47

    时钟域电路设计:单位信号如何跨时钟

    单位宽(Single bit)信号即该信号的位宽为1,通常控制信号居多。对于此类信号,如需跨时钟
    的头像 发表于 08-16 09:53 390次阅读
    跨<b class='flag-5'>时钟</b>域电路设计:<b class='flag-5'>单位</b>宽<b class='flag-5'>信号</b>如何跨<b class='flag-5'>时钟</b>域