请教如何实现精确延迟
本帖最后由 fpgaw 于 2010-7-18 09:55 编辑CPLD中实现 10ns 的延迟,Verilog中的逻辑门延迟是否可以实现?
如一个与门:
and #10 and1(y1, a1, a2);
这样是不是实现了一个10个时间单位的延迟,一个单位时间是多少呢?是不是不同的CPLD的时间单位不同? 这种延迟只能在仿真中实现吧<br>
在CPLD中这种是不可综合的 不要试图在数字电路中使用门电路实现延时,这种方法是不可靠的,也是不可取的。 哥们:<br>
延时可以通过FPGA/CPLD的LCELL实现,不过占用较多的系统资源,不是很好,不过可以让你的信号通过高频工作下的移位寄存器,然后对输出信号采样就可以了。还可以对信号进行精确的D触发器进行延时,例如时钟频率32M 大约一个时钟周期31ns 。比如对一个信号进行<br>
100ns的延时,将信号顺序经过三个D触发器后,看看结果吧! 原帖由 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的延迟? 其实说10ns只是一个举例.具体是要用CPLD来做一个ISA总线.由于有的信号需要提前几十个ns.<br>
<br>
几十个ns比较难实现,所以才这么提问. 几十个ns的延时,可能要用上计数器了 10ns应该比较难,但长一些的延时通过触发器或计数器很容易实现 总线时序中的要求提前或滞后多少时间,往往是一个最小值,可以将其放大到时钟周期的倍数,就可以进行数字延时了。 原帖由 tingwhere 于 2007-3-6 10:00 发表<br>
几十个ns的延时,可能要用上计数器了 前提是他的系统时钟要高些
页:
[1]
2