用VHDL语言设计延时电路

用VHDL语言设计延时电路

用VHDL语言设计延时电路时一般用计数器或计数器的级联来实现。

下面以一个实例来说明如何实现任意时间量的延时。

在5 MHz时钟CLK控制下对同步信号SYNC进行N延时(SYNC脉冲宽度为2 μs,脉冲重复频率为1 kHz;0μs≤N≤998 μs)。要求每次在同步脉冲上升沿到来时开始延时,并在延时结束后产生宽度为10 μs的选通信号。

需要产生的延时时序如图2所示(延时量N=4.2μs)。

用VHDL语言设计延时电路

这里采用3个计数器和1个或门产生上述延时信号,如图3所示,模N计数器计延时量;模50计数器计选通信号的宽度;模N+50计数器用于产生使能信号。用VHDL硬件描述语言进行硬件电路设计时,同一个进程中不能用2个时钟来触发,而时序图中又要求在同步脉冲SYNC的上升沿开始延时,为了解决这一问题,采用了模N+50计数器和1个或门。

当同步脉冲为高电平时,模N计数器和模N+50计数器开始计数,并置dly_en为高电平。模N计数器满,置dly_enl为高电平同时产生选通信号。当模N+50计数器计满即选通信号产生完之后置dly_en为低电平。当下一个同步脉冲到来时重复以上过程。这种设计电路的好处是当同步脉冲的宽度改变时对时序控制并无影响,因为在计数过程中只用了SYNC的上升沿,从延时开始到选通信号结束,在或门的作用下SYNC对计数器不起控制作用。

你可能喜欢

  • 延时程序
  • vhdl语言
  • 任意波形发生器
  • 信号发生器设计
  • 定时器的VHDL设计
  • 电子琴设计
  • 语言教程
  • MFC入门

用VHDL语言设计延时电路相关文档

最新文档

返回顶部