跨时钟域求助
时间:10-02
整理:3721RD
点击:
设计中遇到一个跨时钟域问题,上一个时钟域的一个高电平信号作为下一个时钟域的触发信号,用chipscope 观察 我这个触发信号没有起到作用,请问大家是怎样解决类似的问题,需要算建立、保持时间,在ucf文件中加时钟约束吗? 请教各位有经验的前辈。
你确定你上个时钟域的信号被下一个时钟域的采到了?
一般来说慢时钟域往快时钟域同步的话,是可以采到的,但是反过来就不一定了。约束什么的都是最后看的,先看看两个时钟域的频率先。
就是没有被采到 才来求助的~
感谢
不加约束 那还需要什么特殊处理吗~
谢谢
跨时钟域的信号要做跨时钟域处理,慢时钟到快时钟用寄存器打两拍,快到慢用握手或者pulse—synchronization,这是对一个bit的信号来说的
快->慢的,先在快的clock1 domain用一个register把信号latch住,然后到另一个clock2 domain打3拍,用clock2打过2拍的信号同步到clock1,把latch信号清零。
input sig_pulse_clk1;
reg sig_pulse_latch_clk1;
reg syn_sig_pulse_latch_q1_clk2;
reg syn_sig_pulse_latch_q2_clk2;
reg syn_sig_pulse_latch_q3_clk2;
reg ret_sig_pulse_latch_q1_clk1;
reg ret_sig_pulse_latch_q2_clk1;
这个不是握手吗?
学习了
一直没有好的方法处理跨时钟域呢……
7楼是握手啊
學習了
可以试试,将数据线和控制线拼在一起,通过FIFO跨时钟,
让控制线跟数据线一起走,这样对齐关系最可靠。
