原创 基于FPGA的沿检测

2010-2-11 18:16 3255 10 11 分类: FPGA/CPLD

     沿检测技术大家并不陌生,也在运用。举一个简单的例子,CPLD助学小组里的一个按键消抖程序就用到了下降沿检测技术。但是这里我并不想多说下降沿和上升沿的检测,这里我想从理论上推到双沿的检测,同时也给出上升沿和下降沿检测的代码。


1、上升沿检测


 


always @ (posedge clk or negedge)
  begin
     if(rst_n == 1'b0)
        begin
           r1 <= 1'b0 ;
           r2 <= 1'b0 ;
        end
     else
        begin
           r1 <= data_in ;
           r2 <= r1        ;
        end
  end


 assign r3 = r1 & (~r2);


 


2、下降沿检测


 


always @ (posedge clk or negedge)
  begin
     if(rst_n == 1'b0)
        begin
           r1 <= 1'b0;
           r2 <= 1'b0;
        end
     else
        begin
           r1 <= data_in ;
           r2 <= r1         ;
        end
  end


  assign r3 = ~r1 & r2;


 


3、双沿检测


      顾名思义,既可以检测下降沿又可以检测上升沿,那么双沿检测应该是上升沿检测和下降沿检测的一个并集,用数字电路的表达式应该是或“|”,所以双沿检测的表达式为:


           r3 =  (~r1 & r2) | (r1 & ~r2)


用真值表对上面的表达式化简吧:



       r1             r2               r3


       0              0                0


       0              1                1


       1              0                1


       1              1                0


 很明显r1 和 r2是异或的关系,所以双检测的程序如下:


always @ (posedge clk or negedge)
  begin
     if(rst_n == 1'b0)
        begin
           r1 <= 1'b0 ;
           r2 <= 1'b0 ;
        end
     else
        begin
           r1 <= data_in ;
           r2 <= r1         ;
        end
  end


  assign r3 = r1 ^  r2;


欢迎大家批评指正!


 


 


 

文章评论1条评论)

登录后参与讨论

ash_riple_768180695 2010-2-12 06:45

逻辑化简的方法很好,很清晰。
相关推荐阅读
用户244280 2011-04-09 02:19
有源晶振的EMC设计
    有源晶振的电路设计常见有两种:(1)、 (2)、原理图设计要点:(1)、晶振电源去耦非常重要,建议加磁珠,去耦电容选三个,容值递减。(2)、时钟输出管脚加匹配,具体匹配阻值,可根据测试结果而定...
用户244280 2011-04-05 12:46
三极管开关电路之一(基本电路)
       在板卡设计中,三极管开关电路用得非常多,然而却经常被人忽视。一位同事曾经对我说,都什么时代了,还用三极管。但是用得好的话,绝对事半功倍。        在最近的一次板卡上机调试中,由于板...
用户244280 2010-07-17 00:12
远征军魂
              今天重温了一下那段历史,一段被经历过的老年人时刻萦绕在脑海无法忘却,被浮躁的中年人忘却,被无知的青年一无所知的历史-----中国远征军。        看完凤凰大视野的那段...
用户244280 2010-06-22 22:13
毛主席词一首
     我很喜欢毛主席的一些诗词,经常去诵读,下面是毛主席的一首词,是红军长征过程中,攻占了娄山关后毛主席写的,词如下:  忆秦娥-娄山关    西风烈   长空雁叫霜晨月   霜晨月   马蹄声碎...
用户244280 2010-06-22 22:04
与君分享---我的一首词
南国冬暖阳花红枝未枯枝未枯好景处处无心留顾 十年漫漫寒窗苦满心抱负却无路却无路愁绪千千泪如雨注...
用户244280 2010-06-22 22:03
我的诗两首
     其一 孤坐仰苍穹星辰月当空又是中秋夜愁绪谁能懂          其二荔园初夏杨柳垂,晓风拂来破静水,怎奈此景无限悲,前途何方愁相随!...
我要评论
1
10
关闭 站长推荐上一条 /2 下一条