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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: yiyunzisu

[求助] 求解关于一道笔试题,用Verilog编一个接口转换电路

[复制链接]
发表于 2013-7-4 15:35:24 | 显示全部楼层
从快时钟域到慢时钟域用结绳法如何?
发表于 2013-9-14 01:37:51 | 显示全部楼层
这不是全志科技的笔试题吗
发表于 2014-7-5 15:07:52 | 显示全部楼层
学习了
发表于 2014-8-22 16:53:59 | 显示全部楼层
看看,很不错,正在做这道题目
发表于 2014-8-23 22:51:01 | 显示全部楼层
gjb649666926 代码是合理的
多位数据跨时钟域交互的时候,必须如前面版主说的,用握手信号。寄存器打2拍只适用于单路信号。
发表于 2014-8-26 21:30:38 | 显示全部楼层
学习了啊
发表于 2014-8-26 21:34:33 | 显示全部楼层
这是一个串到并的转换电路,并且是异步时钟,由于写方连续写8b的间隔足够大,所以比较简单.
发表于 2014-8-26 22:23:26 | 显示全部楼层
出题人很有意思, 说clka频率只有clkb的一半, 画图却是 clka频率是clkb的两倍, 这是什么情况?

这个题目中“输出数据” 只要通过wra_n来锁定移位寄存器实现就好了, 不用再去同步,真的没必要, 因为给出 数据输出标志有效时, 数据肯定是稳定的, 同步没用
这道题目实际就是 要求通过同步wra_n上沿产生一个clkb时钟域的数据有效标志就好了,搞复杂了真没必要
发表于 2014-8-26 22:39:39 | 显示全部楼层
本帖最后由 goswami 于 2014-8-28 11:25 编辑

module top
        (
                input clka,clkb,rst_n,wra_n,da,
                output wrb,
                output [7:0]db
        );

        reg [7:0] da_p;
        always@(posedge clka or negedge rst_n)
                if(!rst_n)
                   da_p <= 8'h00;
                else if (!wra_n)
                   da_p <= {da_p[6:0], da};
       
        reg                wra_r1,wra_r2,wra_r3;
        always@(posedge clkb or negedge rst_n)
                if(!rst_n)
                        {wra_r1,wra_r2,wra_r3} <= 3'b000;
                else
                        {wra_r1,wra_r2,wra_r3} <= {~wra_n,wra_r1,wra_r2};

        assign db = da_p;
        assign wrb = ~wra_r2 & wra_r3;                 //两级寄存器用来去除亚稳态
endmodule
发表于 2014-10-23 14:24:57 | 显示全部楼层
感觉9楼的是对的,略微改动后,已通过前仿真
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-10 05:20 , Processed in 0.027822 second(s), 8 queries , Gzip On, Redis On.

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