在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5657|回复: 10

[原创] 请教下如果寄存器的时钟端用普通信号代替,在DC前端该怎么设置?

[复制链接]
发表于 2010-11-15 18:34:46 | 显示全部楼层 |阅读模式

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

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

x
比如下列代码:
always @ (posedge we or posedge rst)
begin
      if ( rst )
            data  <=  8`b0;
      else
            data  <=  data_in;
end

其中we信号是个普通的信号,并不是电路的时钟信号,我想在we的上升沿来采集数据,那我在DC设计中该怎么设置?是把we信号当成时钟信号一样处理吗?或者代码有没有别的替代写法?谢谢!!!
发表于 2010-11-15 19:22:24 | 显示全部楼层
我也遇到这样的问题,哪位大侠能指点一二??
发表于 2010-11-15 23:08:31 | 显示全部楼层
本帖最后由 gg9132qq 于 2010-11-15 23:10 编辑

我的理解还是用时钟同步的好
always @ (posedge clk or posedge rst)
begin
      if ( rst )
            data  <=  8`b0;
      else if (we == 1)
            data  <=  data_in;
      else
end
如果担心时钟采不到we,最好先把we用时钟同步一下不知道理解的对不
发表于 2010-11-16 08:26:53 | 显示全部楼层
看你的WE信号与系统时钟是不是同一个时钟域。如果是的话,在系统时钟域中处理。
不是的话,比系统时钟低则打两拍采沿,比系统时钟高的话,则需要WE信号的保持宽度至少是一个系统clk周期。
 楼主| 发表于 2010-11-16 20:07:30 | 显示全部楼层
回复3楼:我现在担心的不是采不到we,而是采不到data_in。比如clk的周期是30ns,而data_in的保持建立时间才10ns,用clk采的话很难采到,只有用we的上升沿去采才能稳妥的采到,不知道说明白了没有。



发表于 2010-11-17 20:15:48 | 显示全部楼层
尽管不认为你的理解对,如果你只是说DC里面的约束怎么写,用generated clock
从主时钟派生出你的we时钟,并设定时钟之间的相位差(延时)
 楼主| 发表于 2010-11-17 20:27:39 | 显示全部楼层
回复 6# benjaminweber

请教下该怎么理解才对?我以前是在clk的上升沿然后用we信号的低电平去写data_in的,但是发现如果按照data_sheet上的极限要求的话很可能clk的上升沿还没来,data_in数据已经没了,附图如下。请问我除了用we信号的上升沿去采data_in数据,还有别的方法吗?谢谢指教!
    未命名.bmp
 楼主| 发表于 2010-11-17 20:32:15 | 显示全部楼层
或者这样,比如clk的周期是30ns,而data_in的保持建立时间最小为10ns。
未命名.bmp
发表于 2010-11-18 18:51:01 | 显示全部楼层
在同步电路里面出现了使用逻辑信号当时钟就是个问题。
我不准备说任何关于为什么不合适的话
如果你觉得必须这么做,做下去好了。大家都是这么过来的。
发表于 2010-11-18 19:05:25 | 显示全部楼层
不知道,来学习,似乎最好用时钟来采,否则后续timing问题很多的~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-29 03:37 , Processed in 0.039185 second(s), 11 queries , Gzip On, MemCached On.

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