关于spartan6输入数据在在IOB输入寄存器同步的问题

2020-02-24 20:31发布

现在做一个工程,输入数据16bit,同步时钟clk,用dcm对clk倍频得到clk2X,然后clk2X在IOB同步16bit数据,同步后的数据出错,个人理解是时序的setup时间不够或者说数据采错了位置。现在还不知道怎么办,需要使用IODELAY2吗,还是更改我的设计呢,请各位多多指教。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
jasondwd
1楼-- · 2020-02-24 22:16
 精彩回答 2  元偷偷看……
sha527
2楼-- · 2020-02-25 02:30
jasondwd 发表于 2013-12-17 11:42
clk2X的时钟是多少M?同步后数据出错是每次同步都错还是偶尔一次出错?

clk=74.25m,clk2X=148.5m,绝大部分数据都是错误的
jasondwd
3楼-- · 2020-02-25 03:03
16bit数据的对应的clk是多少?贴上代码看看
sha527
4楼-- · 2020-02-25 04:09
输入的数据带同步时钟,频率74.25,用dcm得到2倍频i_gv7601_clk_2X1,2倍频频率148.5m。
reg[15:0] gv7601_data1;
always@(negedge i_gv7601_clk_2X1)
begin
    gv7601_data1 <= i_gv7601_data1;
end

//--------------------------------------
// GV7601 Data Output
//--------------------------------------
always@(posedge i_gv7601_clk_2X1,negedge i_gv7601_rstn1)
begin
        if(~i_gv7601_rstn1)
                o_BT1120_data1 <= 0;
        else
                o_BT1120_data1 <= gv7601_data1;
end

o_BT1120_data1 输出给后面的模块使用
hechnology
5楼-- · 2020-02-25 07:45
本帖最后由 hechnology 于 2013-12-17 15:58 编辑

dcm的output clk_2x相位同步了么,同步的话至少每隔一次是对的
sha527
6楼-- · 2020-02-25 10:42
 精彩回答 2  元偷偷看……

一周热门 更多>