原创 【原创】同步脉冲发生器

2009-1-8 22:12 5757 11 12 分类: FPGA/CPLD

在很多情况下,需要根据FPGA的外部输入信号产生一个脉冲去触发内部逻辑或外部器件,在ASIC中经常使用异步脉冲发生器,如下图所示:


4b47d024-998e-42c7-b936-8839a1fe752f.jpg


不过在FPGA中尽量避免使用异步时序设计,因为异步电路在不同的PVTprocess, voltage, and temperature)条件下,结果会有一些差异。下面推荐一种同步脉冲发生器的设计。


module demo(input clk,input trig,output pulse);


  reg temp1,temp2;


  always @(posedge clk)


    begin


      temp1 <= trig;


      temp2 <= temp1;


    end


  assign pulse = temp1 & ~(temp2);


endmodule


综合后通过Technology map ViewerPost-mapping)查看技术映射图:


点击看大图


仿真结果如下:


点击看大图


trig中输入一段高电平,在pulse引脚输出一个周期的脉冲,如果要使脉冲的宽度加大,可以在程序中多加一个temp寄存器,这样输出的脉冲宽度会加大。

文章评论1条评论)

登录后参与讨论

用户1356205 2009-2-19 11:01

这样产生pluse感觉不太可靠,因为输出 assign pulse = temp1 & ~(temp2); 是一个组合逻辑,pluse脉宽会受限制。 可以这样 module demo(input clk,input trig,output pulse); reg[2:0] temp; reg pluse; always @(posedge clk) begin temp <= {temp[1:0],trig}; pluse <= temp[2:1]==2'b01; end endmodule
相关推荐阅读
用户1332143 2009-08-16 21:47
时序电路亚稳态分析
这篇文章是我对电子设计中,亚稳态问题的一种分析和总结。文章通过对数字电路中器件的工作机制的介绍,引出亚稳态问题的发生机制。并通过对亚稳态问题发生机制的探讨,用以得到一种能够清楚地,有的放矢地解决亚稳态...
用户1332143 2009-08-16 10:52
【推荐】ADF4350配置软件下载
p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">  随着现代半导体工艺的不断发展, 几十纳米级的CMOS工艺给数字电路带来了很大的恩惠, 但对模拟...
用户1332143 2009-08-14 12:47
【原创】基于NiosII及FT245BM的USB接口设计
以前做的一个项目,FPGA接收AD采集数据后,通过串口发送回PC机,由于串口传输速率较低,对于实时性要求较高的场合不太适用,因此站长选用FT245BM芯片来实现USB接口传输,本文主要讲解FT245B...
用户1332143 2009-08-13 14:56
【原创】MAXII:UFM中晶振的使用
MAXII系列CPLD中带有UFM模块,本文主要讲解UFM中晶振的使用,具体内容请点击下面链接MAXII:UFM中晶振的使用...
用户1332143 2009-03-01 21:53
【原创】如何使用FPGA进行信号调制
       最近要做一个通信收发系统项目,以前对收发器的射频前段关注的比较多,而对基带部分的信号处理一直没有仔细研究。因此,正好借这个项目,熟悉整个基带部分的信号处理流程。       基带部分主要...
用户1332143 2009-02-27 21:56
寒假回来——FPGA市场评论
寒假在家里电脑不能上网,好久没来更新自己的博客了,首先感谢大家对我博客的支持。回来后马上开始了一个863项目,一直没有时间来写博客,今天总算有时间,上来看看。回来这段时间关注了下FPGA的相关新闻,发...
EE直播间
更多
我要评论
1
11
关闭 站长推荐上一条 /3 下一条