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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
123
返回列表 发新帖
楼主: 谁枫而飘

[讨论] 同步器的展宽

[复制链接]
发表于 2015-7-5 00:00:44 | 显示全部楼层




  1. always @(posedge fast_clk or negedge rst_n)
  2. begin
  3.     if(rst_n == 1'b0)
  4.         fast_ext <= 8'h0;
  5.     else
  6.         fast_ext <= {fast_ext[6:0],fast_pls};
  7. end


  8. always @(posedge slow_clk or negedge rst_n)
  9. begin
  10.     if(rst_n == 1'b0)
  11.         begin
  12.             pls_r1 <= 1'b0;
  13.             pls_r2 <= 1'b0;
  14.             pls_r3 <= 1'b0;
  15.         end
  16.     else
  17.         begin
  18.             pls_r1 <= |fast_pls;
  19.             pls_r2 <= pls_r1;
  20.             pls_r3 <= pls_r2;
  21.         end
  22. end


  23. assign pls_pose = pls_r2 & (~pls_r3);


复制代码


这样做是可以的,而且在FPGA很多项目里用过了,但是这样做同步的第一级有组合逻辑。。。你可以可以尝试在快时钟域就把脉冲延拓,然后在慢时钟域就可以纯粹2拍同步。
 楼主| 发表于 2015-7-5 10:53:19 | 显示全部楼层
回复 7# vongy

这个代码我下去实现了下,并不能把原数据展宽10倍,只能让原数据的高电平为时钟周期的10倍,如果原数据高电平周期为时钟周期的10倍,就不会有变化,好像在跨时钟域中这样也能保证数据的正确传输,只是说法不太对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-10 22:24 , Processed in 0.015802 second(s), 6 queries , Gzip On, Redis On.

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