FPGA实现延时的方法有几种,下面介绍最常用的两种方法:

(1)如果只是作时序的延时,不需要准确定位,可使用门电路进行延时,比如使用两个非门进行延时。一个非门的延时时间大约为350ps到几ns之间吧,具体要根据不同厂家不同芯片的制造工艺,使用门电路进行延时也是比较常用的。

FPGA实现延时的方法有几种

(2)使用时钟计数延时,这种方法可以精准延时,是FPGA使用得最多延时方法,很多时候时序逻辑都需要准确定位。

这种方法就是时钟周期计数,比如时钟为10MHZ,那么一个周期的时间为1/10000000=0.1μs。如需延时10μs则需计数100次,如需延时1ms则需计数10000次。

下面计数作延时输出的例子:clk为输入时钟(10MHZ),d为输入信号,q为输出信号,目的:将d输入的电平信号进行过滤延时,过滤5ms的脉冲,用于防抖处理。

下图为综合后的模块图。 

FPGA实现延时的方法有几种

VHDL语言编程代码具体实现过程如下图所示,具有详细完整的代码。

FPGA实现延时的方法有几种

当d为0时,开始记时钟周期数,计数大于50000次时,q的输出为0,否则为高阻态,50000个时钟周期正好是5ms。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查