微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请问,如何在Verilog内硬件上实现脉冲信号延时?

请问,如何在Verilog内硬件上实现脉冲信号延时?

时间:10-02 整理:3721RD 点击:
需要延时100us左右,由于我现在本身需要在always模块里面实现,所以不能再用always检测脉冲上升沿了,需要延时的脉冲是PWM脉冲,频率为2k,我这是我原本的,但是延时时间不能大于本身脉冲的高电平宽度,所以,我这个思路不行,求大神指导,急~万分感谢
else //Icurr<0;
                begin
                        cnt_ds1=0;// counter reset
                        if(PWM_in1==0)// Delay accroding to PWM1
                                begin
                                        cnt_p1=0;
                                        if(cnt_n1<16)//Tdelay=40
                                                begin
                                                cnt_n1=cnt_n1+1;
                                                PWM_R1=1;
                                                end
                                        else
                                                PWM_R1=0;
                                end
                        else if (PWM_in1==1)
                                begin
                                        cnt_n1=0;
                                        if(cnt_p1<16)
                                                begin
                                                cnt_p1=cnt_p1+1;
                                                PWM_R1=0;
                                                end
                                        else
                                                PWM_R1=1;
                                end
                end

没看明白你表达的什么意思, 能不能检测到脉冲后, 用计数器电路重新产生一个你需要延迟的脉冲呢, 延迟计数还是可以配置的,这样岂不是更好

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top