fpga实现tdc,怎么实现啊

如题所述

1.首先在FPGA里面实现TDC有两个基本的工作,即选择合适的FPGA和选取合适的算法。
就FPGA来讲,我经验也不丰富,只是知道Xilinx公司的Vertex系列FPGA能够满足做高精度TDC的要求。其中专用进位链的单元延时在40ps左右,可用作延时单元。
2.TDC的算法的话,最简单的就是延迟线内插法,就是以单元延时作为时间的最小度量单位的方法。
3.选取了这两个方面之后,就可以通过HDL(硬件描述语言,如VerilogHDL或者VHDL)来描述实现简单的TDC模块了。
4.具体的细节问题可能比较多一些,但是大概思路就是这样。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-22
呃,这个东西说来话长。
首先在FPGA里面实现TDC有两个基本的工作,即选择合适的FPGA和选取合适的算法。
就FPGA来讲,我经验也不丰富,只是知道Xilinx公司的Vertex系列FPGA能够满足做高精度TDC的要求。其中专用进位链的单元延时在40ps左右,可用作延时单元。
TDC的算法的话,最简单的就是延迟线内插法,就是以单元延时作为时间的最小度量单位的方法。
选取了这两个方面之后,就可以通过HDL(硬件描述语言,如VerilogHDL或者VHDL)来描述实现简单的TDC模块了。
具体的细节问题可能比较多一些,但是大概思路就是这样。祝好~追问

太难了,我纯用verilog写,好像时序总是达不到要求啊

追答

嗯,确实挺难的,毕竟10年的时候我们学校有一个工程物理系的硕士就是靠这个东西毕业的。你所谓的时序总是达不到要求,时序指的的哪一部分呀?

追问

就是tdc的延迟时间不是线性的

追答

额……这个必然的,因为FPGA里面单元与单元之间不可能做的完全一样……你是用什么实现的呀?

追问

那怎么办啊,我用延迟线啊

追答

额 你的FPGA型号是?采用的什么单元构造延迟线呀?非线性这个问题是FPGA构造TDC必须面对的……

追问

xilinx xc3s500e,什么单元就不知道了,是不是要用原理图来做

追答

额 我用的是Vertex系列的,里面是有专用的carry in链路可以用作延迟线。你的好像是spartan系列的吧,具体的构造不太清楚额……你想达到多少的分辨率?

来自:求助得到的回答本回答被提问者采纳
第1个回答  推荐于2016-06-22
方法详情:
第一种方法,搭建一个时序电路模块,模块用状态机完成相应初始化,写数据等操作。实现lcd,或者数码管的显示。

方法二,利用IP核在fpga内部搭建一个单片机(软核),直接烧写单片机里面的c程序即可,有的fpga里面有硬核的也可以直接写c程序实现显示。
第2个回答  2012-04-28
我也学学。。。。