在线咨询 开启辅助访问 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

EETOP 创芯网论坛 (原名:电子顶级开发网)

便捷登录,只需一步

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 302|回复: 8

[讨论] 高频时钟同步的时钟与数据

[复制链接]
发表于 2022-1-13 23:44:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
verilog设计了一个子模块A,其用高频时钟clk分频产生了一个时钟clkdiv,并且用高频时钟产生了一组数据dat,数据dat的跳变沿和clkdiv的上升沿是相对应的;在另一个子模块B中,clkdiv和dat作为输入信号,使用clkdiv的上升沿来采样dat,得到采样后的数据,期望得到的采样后的数据如下图中的dsyn2,而在VCS中仿真得到的实际采样后的数据为dsyn。



个人的分析如下,因为clkdiv和dat均是由clk的上升沿产生,那么clkdiv的上升沿和dat的跳变沿在VCS仿真时,delay就是0,那么vcs采样时,采样到的数据就是dat跳变沿之后的。
实际电路中,如果两个子模块分开做DC,那么可以在子模块B中,将dat约束为clkdiv产生的数据,但在需要用VCS直接仿真包含子模块A和B的顶层时,该如何操作,才能在子模块B中得到期望的采样到的数据dsyn2呢?
目前,我人为给dat加了delay,这样VCS仿真能得到想要的结果,但是DC之后,得到的网表进行前仿,得到的采样后的数据却依然是dsyn;
针对这种情况,有没有什么好的办法?
微信图片_20220113234506.jpg
发表于 2022-1-14 08:37:04 | 显示全部楼层
简单,先用clkdiv下降沿打一拍,再用clkdiv上升沿打一拍
回复 支持 1 反对 0

使用道具 举报

发表于 2022-1-14 09:12:01 | 显示全部楼层
dat  多打一拍?
回复 支持 反对

使用道具 举报

发表于 2022-1-14 09:42:33 | 显示全部楼层
clk_div和dat属于一个region,在不带时序的仿真中同一个沿打出先后顺序是不保证的。后仿就正常了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-14 19:10:31 | 显示全部楼层


A120 发表于 2022-1-14 08:37
简单,先用clkdiv下降沿打一拍,再用clkdiv上升沿打一拍


目前就是这么做的,就是觉得有点浪费资源
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-14 19:11:47 | 显示全部楼层


2ki 发表于 2022-1-14 09:42
clk_div和dat属于一个region,在不带时序的仿真中同一个沿打出先后顺序是不保证的。后仿就正常了。 ...


主要是怕DC和布线的时候,也当作VCS仿真那样来处理
回复 支持 反对

使用道具 举报

发表于 2022-1-14 21:55:52 | 显示全部楼层


ningyuan198 发表于 2022-1-14 19:11
主要是怕DC和布线的时候,也当作VCS仿真那样来处理


感觉楼主和https://bbs.eetop.cn/thread-920146-1-3.html这个朋友问的问题本质是一样的。

还是违背基本的同步数字电路设计原则。

这不就是典型的源同步采样嘛。咋个就可以不在设计原理上保证采样触发器的时钟沿和数据错开呢?只要是触发器,设计者就义务在原理上确保不违背它的建立/保持时间要求。
如果是源端(A模块)控制,按你这个描述,最简单不就是在clkdiv下降沿输出dat吗?
如果是目的端(B模块)控制,要嘛你用clkdiv下降沿采样,要嘛你延迟clkdiv,要嘛你延迟dat,总之得将dat的变化边沿与采样时钟有效沿错开。

至于你说的


目前,我人为给dat加了delay,这样VCS仿真能得到想要的结果,但是DC之后,得到的网表进行前仿,得到的采样后的数据却依然是dsyn

实话说,VCS和DC是干啥的我都不知道,但猜都猜得出来,你所谓人为给dat加delay,应该是RTL仿真的testbenc中添加的非可综合延迟,估计DC是一个综合工具,你添加的延迟代码根本就不是可综合的延迟,所以就这样咯。。。

回复 支持 反对

使用道具 举报

发表于 2022-1-16 10:30:16 | 显示全部楼层
very good
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
lz如果把二分频的时钟作为数据打拍的使能信号,这样数据无论怎么处理,都是在一个时钟域下,可以减少跨时钟域分析时序的过程,应该也能实现lz的数据延时功能。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

关闭

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网 ( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2022-1-27 14:11 , Processed in 0.065311 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表