首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 常用文档 > 用VHDL语言设计延时电路

用VHDL语言设计延时电路

资料介绍
DSP/FPGA

用VHDL语言设计延时电路
发布日期:2009-3-22 10:49:38 文章来源:搜电 浏览次数: [pic]345
[pic][pic][pic] 
    用VHDL语言设计延时电路时一般用计数器或计数器的级联来实现。

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

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

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

[pic] 
   
这里采用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对计数器不起控制作用。

 [pic] 

    上述电路的VHDL程序如下:

 [pic] 
    该程序选择N=20,即延时量是4.2
μs,由于要使用时钟来判断SYNC的上升沿情况,因此,如果令N=0,产生的delay
用VHDL语言设计延时电路
本地下载

评论

EEPW网友· 2010-01-03 12:28:05
GGGGGG