FPGA中的延时设计
当需要对电路中的某一信号作一段延时时,可在信号后串接一些"非门"或其它门电路。但在FPGA中,开发软件会在综合设计时将这些门当作冗余逻辑去掉,达不到延时的效果。用
ALTERA公司的MAXPLUSII开发FPGA时,可以通过插入LCELL原语或调
用延时线模块来产生一定的延时。但这样形成的延时在FPGA芯片中并不稳定,会随温度等
外部环境的改变而改变,这样会影响FPGA的性能。因此,可以用高频时钟来驱动一移位寄
存器,需要延时的信号作为数据输入,按所需延时正确设置移位寄存器的级数,移位寄存
器的输出即为延时后的信号。此方法产生的延时信号有误差,误差大小由高频时钟的周期
来决定。对于数据信号的延时,在输出端用数据时钟对延时后的信号重新采样,就可以消
除误差。当然,当所需延时较长时,这样做比较浪费资源。此外,用VHDL语言进行FP
GA设计时,不能用after语句来实现延时,因为目前的综合工具还不能做到如此精确
的延时,即程序中的after语句不能被综合。 6
页:
[1]