UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Participant zhangqingsong
Participant
400 次查看
注册日期: ‎07-09-2018

关于TDC的问题

我的设计基于一个使用Carry4原语的延迟行,其中每个执行都连接到一个触发器D,以便对延时线的值进行采样。(TDC设计图像)我正在延迟系统时钟,每当一个命中信号到达时,就会对延迟链上的值进行取样(一个温度计代码存储在FF中)。FF的输出被传递给一个解码器,它将温度计的代码转换成二进制代码。然后,我可以通过对进位原语的延迟值相乘的二进制值来计算命中信号到达的时间。

1.png

因为我直接调用了很多的carry4,然后直接在他们的各自的后面连接上了F-F,然后对FF的输出进行处理。但是现在得到的输出,会出现很多的乱码,想得到例如0000000011111111111(低位连续的1,高位0),这样的代码,可是实际出现的都是像000000011010111111111100000这样的代码,我想到的有两个原因:

1:是不是因为carry4构建的是超前进位的原因,导致有些输出,被提前输出了,所以导致出现00000000111000111100000……

2:是不是因为器件连接之间的wire延迟,因为连接的时候,wire长短不一样,导致有些输出经过了很长的延迟才输出。

3:在第二个原因的基础上,是不是需要做一些限制,把carry4以及连接在它后面的FF放在最接近的地方,这样是不是就可以保证,会有一个依次的输出。关键是,我还不知道该怎么做这些限制,希望各位老师帮帮忙,让我去尝试尝试解决办法。 

0 项奖励