那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Verilog實現邊沿檢測的原理

冬至子 ? 來源:玩兒轉FPGA ? 作者:建東 ? 2023-06-28 15:19 ? 次閱讀

邊沿檢測原理

邊沿檢測大致分為:上升沿檢測,下降沿檢測和,雙沿檢測。原理都是通過比輸入信號快很多的時鐘去采集信號,當出現兩個連續的采集值不等的時候就是邊沿產生處。

圖1為邊沿采集圖,clk為采集時鐘,sig為被采集信號,現在需要知道什么時候sig的跳邊沿到來,于是有了一個sig_buf的2bit信號用來存儲被采集的sig信號,當前值被放在低位,高位時是上一個時刻的值。也就是

sig_buf[1:0] <= {sig_buf[0],sig};

從圖中可以看出,sig_buf為2'01的時候正好是上升沿出現之后,2'b10正是下降沿出現之后。所以正好可以利用這兩個信號的出現來判斷上升沿還是下降沿。這樣也就實現了邊沿檢測。

重點

這種邊沿檢測方法一定要有clk周期小于sig高電平脈寬的條件,不然無法保證能夠每次采集到sig的邊沿。

圖片

圖1. 邊沿采集示意圖

邊沿采集代碼講解

此代碼可以修改sig_buf的長度,也就是 不用一個0和一個1判斷,而是多個0和多個1,但是寬度變了以后對sig的脈寬要求也就更寬,這點一定要牢記,不然很可能出現檢測邊沿無法實現。

很多人反映tb寫不來,不知道tb要寫什么,要怎么寫。這里順便說下怎么寫,就以邊沿檢測tb為例。

仿真目的 :產生符合自己要求的激勵信號,測試此時的輸出是否和預想一致,一致則通過,否則失敗。

仿真步驟 :根據仿真目的也很容易可以抽象出來仿真的步驟分為2步,第一步,產生激勵,第二步,查看被測試模塊輸出。

激勵產生

周期信號產生always begin #5 clk=0; #5 clk=1; end //時鐘信號

只在最開始產生某種特殊波形:initial begin rst = 1 ; #10 rst = 0; end

上述兩種信號都是關于時間的函數f(t),這種函數特點決定了可以用延時命令#xx去產生。

需要結合當前狀態的信號:這種波形不僅僅時間的函數,還和某個信號相關,比如分頻模塊,分頻值在不停變,那么這個時候不如直接調用一個已經寫好的分頻模塊,分頻系數可以外部狀態機控制,這樣就可以解決。換句話說,tb只是產生理想激勵,所以需要你不擇手段的去產生自己想要的東西,不管是可綜合還是不可綜合語句。

tb文件的一般代碼結構

1.module定義

2.reg和wire定義,需要被你主動控制的信號定義為reg,有賦值來源的信號定義為wire,比如模塊輸入定義為reg,方便自己產生各種波形,輸出定義為wire。

3.initial begin end語句,產生初始化激勵,比如復位,使能。initial語句可以寫多個,效果上兩個initial都是同時執行的,仿真的時候你感受不出差別。

4.特殊激勵產生,比如時鐘,狀態機等

5.被測試模塊調用

6.被測試模塊輸出結果合格檢測,這一步如果不會可以忽略,自己看波形。對于復雜設計看波形會非常累,所以建議慢慢養成習慣

仿真結果展示

上升沿檢測波形,mode=0,當輸入信號被檢測到上升沿的時候,信號the_edge就會有一個高脈沖:

圖片

圖2. 上升沿檢測

下降沿檢測波形,mode=1,當輸入信號被檢測到下降沿的時候,信號the_edge就會有一個高脈沖:

圖片

圖3. 下降沿檢測

雙沿檢測波形,mode=2,當輸入信號被檢測到上升沿或者下降沿的時候,信號the_edge就會有一個高脈沖:

圖片

圖4. 雙沿檢測

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 仿真器
    +關注

    關注

    14

    文章

    1019

    瀏覽量

    83939
  • 狀態機
    +關注

    關注

    2

    文章

    492

    瀏覽量

    27652
  • CLK
    CLK
    +關注

    關注

    0

    文章

    127

    瀏覽量

    17236
  • Verilog語言
    +關注

    關注

    0

    文章

    113

    瀏覽量

    8309
收藏 人收藏

    評論

    相關推薦

    FPGA設計經驗之邊沿檢測

    在同步電路設計中,邊沿檢測是必不可少的!
    發表于 03-01 09:59 ?5122次閱讀

    FPGA設計經驗:邊沿檢測

    在同步電路設計中,邊沿檢測是必不可少的!
    發表于 08-16 15:19 ?1939次閱讀
    FPGA設計經驗:<b class='flag-5'>邊沿</b><b class='flag-5'>檢測</b>

    關于邊沿檢測的問題

    入圖,有沒有大神分析一下,是怎實現邊沿檢測的,它各個時期的電平狀態是什么
    發表于 04-13 14:36

    fpga應用篇(二):邊沿檢測

    `fpga應用篇(二):邊沿檢測上一篇介紹了阻塞賦值與非阻塞賦值,這次我們利用非阻塞賦值產生一個簡單的應用即邊沿檢測邊沿
    發表于 04-06 21:28

    邊沿檢測設計報告

    邊沿檢測設計報告
    發表于 09-26 15:38

    關于FPGA進行外部邊沿檢測檢測不準確問題?

    程序邊沿檢測下降沿并統計數量(數量到達2后重新計數,并發送動作信號),但是最終發現檢測結果不準確,有時候能檢測到,有時候檢測不到。萬分感謝您
    發表于 08-21 12:58

    基于Verilog-HDL的軸承振動噪聲電壓峰值檢測

    介紹模擬峰值電壓的檢測方式,敘述基于Verilog-HDL 與高速A/D轉換器相結合所實現的數字式快速軸承噪聲檢測方法, 給出相關的Verilog
    發表于 04-16 10:53 ?22次下載

    基于Verilog-HDL的軸承振動噪聲電壓峰值檢測

    摘要:介紹模擬峰值電壓的檢測方式,敘述基于Verilog-HDL與高速A/D轉換器相結合所實現的數字式快速軸承噪聲檢測方法,給出相關的Verilog
    發表于 06-20 15:14 ?999次閱讀
    基于<b class='flag-5'>Verilog</b>-HDL的軸承振動噪聲電壓峰值<b class='flag-5'>檢測</b>

    邊沿檢測與提取-輪廓跟蹤知識詳解

    邊沿檢測與提取程序
    發表于 01-29 14:56 ?0次下載

    用移位寄存器實現邊沿檢測的技巧

    本文記錄一下關于用移位寄存器實現邊沿檢測的技巧。要學會硬件思維式的“模塊式”讀寫代碼,那么請多看別人的代碼,并用ISE或者VIVADO綜合出來看看。 邊沿
    發表于 04-15 10:26 ?3343次閱讀

    邊沿檢測的目的及電路原理分析

    邊沿檢測電路(edge detection circuit)是個常用的基本電路。所謂邊沿檢測就是對前一個clock狀態和目前clock狀態的比較,如果是由0變為1,能夠
    的頭像 發表于 11-19 07:09 ?1.1w次閱讀

    Verilog系統函數和邊沿檢測

    “ 本文主要分享了在Verilog設計過程中一些經驗與知識點,主要包括Verilog仿真時常用的系統任務、雙向端口的使用(inout)、邊沿檢測
    的頭像 發表于 03-15 13:34 ?2416次閱讀

    FPGA學習-邊沿檢測技術

    所謂邊沿檢測,就是檢測輸入信號即上升沿或者下降沿的檢測。 邊沿檢測的電路很好
    的頭像 發表于 11-26 10:20 ?1862次閱讀

    Verilog邊沿檢測的基本原理和代碼實現

    本文將從Verilog邊沿檢測的基本概念入手,介紹Verilog邊沿檢測的原理和應用代碼示例。
    的頭像 發表于 05-12 17:05 ?4144次閱讀
    <b class='flag-5'>Verilog</b><b class='flag-5'>邊沿</b><b class='flag-5'>檢測</b>的基本原理和代碼<b class='flag-5'>實現</b>

    什么是邊沿檢測

    1、什么是邊沿檢測 邊沿檢測用于檢測信號的上升沿或下降沿,通常用于使能信號的捕捉等場景。 2、采用1級觸發器的
    的頭像 發表于 06-17 14:26 ?2684次閱讀
    什么是<b class='flag-5'>邊沿</b><b class='flag-5'>檢測</b>
    赌博堕天录漫画| 百家乐官网赌博软件下载| 狮威百家乐官网的玩法技巧和规则 | 赌博百家乐官网判断决策| 老k百家乐游戏| 深水埗区| 百家乐游戏发展| 网上棋牌室| 百家乐官网免费改单| 扑克百家乐麻将筹码防伪| 百家乐官网策略与心得| 百家乐5式直缆投注法| 64风波| 百家乐遥控牌靴| 云顶国际平台| 风水上看做生意养金毛好吗| 大发888游戏平台103| 怎么赌百家乐官网能赢| LV百家乐赢钱LV| 百家乐官网龙虎桌布| 百家乐园云鼎赌场娱乐网规则 | 新花园百家乐官网的玩法技巧和规则| 金地太阳城二手房| 打百家乐官网最好办法| 大发888中期| 百家乐官网骰盅规则| 大发888游戏平台寒怕| 兄弟百家乐官网的玩法技巧和规则| 德州扑克在线玩| 百家乐赔率技巧| 松滋市| 百家乐百家乐视频游戏世界| 百家乐官网庄闲和概率| 百家乐软件代理打| 百家乐官网等投注网改单| 网上百家乐赌博经历| 红宝石百家乐官网娱乐城 | 惠来县| 名仕百家乐的玩法技巧和规则| 玩百家乐官网怎么能赢吗| 大发888娱乐场17|