ups 发表于 2010-6-26 00:55:04

请教如何实现精确延迟

本帖最后由 fpgaw 于 2010-7-18 09:55 编辑

CPLD中实现 10ns 的延迟,Verilog中的逻辑门延迟是否可以实现?

如一个与门:

and #10 and1(y1, a1, a2);

这样是不是实现了一个10个时间单位的延迟,一个单位时间是多少呢?是不是不同的CPLD的时间单位不同?

UFO 发表于 2010-6-26 02:38:44

这种延迟只能在仿真中实现吧<br>
在CPLD中这种是不可综合的

usb 发表于 2010-6-26 03:14:24

不要试图在数字电路中使用门电路实现延时,这种方法是不可靠的,也是不可取的。

longt 发表于 2010-6-26 03:42:41

哥们:<br>
&nbsp; &nbsp;&nbsp; &nbsp;延时可以通过FPGA/CPLD的LCELL实现,不过占用较多的系统资源,不是很好,不过可以让你的信号通过高频工作下的移位寄存器,然后对输出信号采样就可以了。还可以对信号进行精确的D触发器进行延时,例如时钟频率32M 大约一个时钟周期31ns 。比如对一个信号进行<br>
100ns的延时,将信号顺序经过三个D触发器后,看看结果吧!

FFT 发表于 2010-6-26 04:46:35

原帖由 smartgui 于 2007-3-4 23:33 发表<br>
我想在CPLD中实现 10ns 的延迟,Verilog中的逻辑门延迟是否可以实现?<br>
<br>
如一个与门:<br>
<br>
and #10 and1(y1, a1, a2);<br>
<br>
这样是不是实现了一个10个时间单位的延迟,一个单位时间是多少呢?是不是不同的CPLD的时 ... 不知道具体的项目需求是什么?为什么非要实现10ns的延迟?

UFP 发表于 2010-6-26 04:55:34

其实说10ns只是一个举例.具体是要用CPLD来做一个ISA总线.由于有的信号需要提前几十个ns.<br>
<br>
几十个ns比较难实现,所以才这么提问.

VVIC 发表于 2010-6-26 06:38:46

几十个ns的延时,可能要用上计数器了

tim 发表于 2010-6-26 07:26:12

10ns应该比较难,但长一些的延时通过触发器或计数器很容易实现

ngtim 发表于 2010-6-26 09:24:22

总线时序中的要求提前或滞后多少时间,往往是一个最小值,可以将其放大到时钟周期的倍数,就可以进行数字延时了。

CHANG 发表于 2010-6-26 10:13:27

原帖由 tingwhere 于 2007-3-6 10:00 发表<br>
几十个ns的延时,可能要用上计数器了 前提是他的系统时钟要高些
页: [1] 2
查看完整版本: 请教如何实现精确延迟