精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Verilog實(shí)現(xiàn)邊沿檢測(cè)的原理

冬至子 ? 來(lái)源:玩兒轉(zhuǎn)FPGA ? 作者:建東 ? 2023-06-28 15:19 ? 次閱讀

邊沿檢測(cè)原理

邊沿檢測(cè)大致分為:上升沿檢測(cè),下降沿檢測(cè)和,雙沿檢測(cè)。原理都是通過(guò)比輸入信號(hào)快很多的時(shí)鐘去采集信號(hào),當(dāng)出現(xiàn)兩個(gè)連續(xù)的采集值不等的時(shí)候就是邊沿產(chǎn)生處。

圖1為邊沿采集圖,clk為采集時(shí)鐘,sig為被采集信號(hào),現(xiàn)在需要知道什么時(shí)候sig的跳邊沿到來(lái),于是有了一個(gè)sig_buf的2bit信號(hào)用來(lái)存儲(chǔ)被采集的sig信號(hào),當(dāng)前值被放在低位,高位時(shí)是上一個(gè)時(shí)刻的值。也就是

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

從圖中可以看出,sig_buf為2'01的時(shí)候正好是上升沿出現(xiàn)之后,2'b10正是下降沿出現(xiàn)之后。所以正好可以利用這兩個(gè)信號(hào)的出現(xiàn)來(lái)判斷上升沿還是下降沿。這樣也就實(shí)現(xiàn)了邊沿檢測(cè)。

重點(diǎn)

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

圖片

圖1. 邊沿采集示意圖

邊沿采集代碼講解

此代碼可以修改sig_buf的長(zhǎng)度,也就是 不用一個(gè)0和一個(gè)1判斷,而是多個(gè)0和多個(gè)1,但是寬度變了以后對(duì)sig的脈寬要求也就更寬,這點(diǎn)一定要牢記,不然很可能出現(xiàn)檢測(cè)邊沿?zé)o法實(shí)現(xiàn)。

很多人反映tb寫(xiě)不來(lái),不知道tb要寫(xiě)什么,要怎么寫(xiě)。這里順便說(shuō)下怎么寫(xiě),就以邊沿檢測(cè)tb為例。

仿真目的 :產(chǎn)生符合自己要求的激勵(lì)信號(hào),測(cè)試此時(shí)的輸出是否和預(yù)想一致,一致則通過(guò),否則失敗。

仿真步驟 :根據(jù)仿真目的也很容易可以抽象出來(lái)仿真的步驟分為2步,第一步,產(chǎn)生激勵(lì),第二步,查看被測(cè)試模塊輸出。

激勵(lì)產(chǎn)生

周期信號(hào)產(chǎn)生always begin #5 clk=0; #5 clk=1; end //時(shí)鐘信號(hào)

只在最開(kāi)始產(chǎn)生某種特殊波形:initial begin rst = 1 ; #10 rst = 0; end

上述兩種信號(hào)都是關(guān)于時(shí)間的函數(shù)f(t),這種函數(shù)特點(diǎn)決定了可以用延時(shí)命令#xx去產(chǎn)生。

需要結(jié)合當(dāng)前狀態(tài)的信號(hào):這種波形不僅僅時(shí)間的函數(shù),還和某個(gè)信號(hào)相關(guān),比如分頻模塊,分頻值在不停變,那么這個(gè)時(shí)候不如直接調(diào)用一個(gè)已經(jīng)寫(xiě)好的分頻模塊,分頻系數(shù)可以外部狀態(tài)機(jī)控制,這樣就可以解決。換句話(huà)說(shuō),tb只是產(chǎn)生理想激勵(lì),所以需要你不擇手段的去產(chǎn)生自己想要的東西,不管是可綜合還是不可綜合語(yǔ)句。

tb文件的一般代碼結(jié)構(gòu)

1.module定義

2.reg和wire定義,需要被你主動(dòng)控制的信號(hào)定義為reg,有賦值來(lái)源的信號(hào)定義為wire,比如模塊輸入定義為reg,方便自己產(chǎn)生各種波形,輸出定義為wire。

3.initial begin end語(yǔ)句,產(chǎn)生初始化激勵(lì),比如復(fù)位,使能。initial語(yǔ)句可以寫(xiě)多個(gè),效果上兩個(gè)initial都是同時(shí)執(zhí)行的,仿真的時(shí)候你感受不出差別。

4.特殊激勵(lì)產(chǎn)生,比如時(shí)鐘,狀態(tài)機(jī)等

5.被測(cè)試模塊調(diào)用

6.被測(cè)試模塊輸出結(jié)果合格檢測(cè),這一步如果不會(huì)可以忽略,自己看波形。對(duì)于復(fù)雜設(shè)計(jì)看波形會(huì)非常累,所以建議慢慢養(yǎng)成習(xí)慣

仿真結(jié)果展示

上升沿檢測(cè)波形,mode=0,當(dāng)輸入信號(hào)被檢測(cè)到上升沿的時(shí)候,信號(hào)the_edge就會(huì)有一個(gè)高脈沖:

圖片

圖2. 上升沿檢測(cè)

下降沿檢測(cè)波形,mode=1,當(dāng)輸入信號(hào)被檢測(cè)到下降沿的時(shí)候,信號(hào)the_edge就會(huì)有一個(gè)高脈沖:

圖片

圖3. 下降沿檢測(cè)

雙沿檢測(cè)波形,mode=2,當(dāng)輸入信號(hào)被檢測(cè)到上升沿或者下降沿的時(shí)候,信號(hào)the_edge就會(huì)有一個(gè)高脈沖:

圖片

圖4. 雙沿檢測(cè)

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1016

    瀏覽量

    83638
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    492

    瀏覽量

    27478
  • CLK
    CLK
    +關(guān)注

    關(guān)注

    0

    文章

    127

    瀏覽量

    17126
  • Verilog語(yǔ)言
    +關(guān)注

    關(guān)注

    0

    文章

    113

    瀏覽量

    8214
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA設(shè)計(jì)經(jīng)驗(yàn)之邊沿檢測(cè)

    在同步電路設(shè)計(jì)中,邊沿檢測(cè)是必不可少的!
    發(fā)表于 03-01 09:59 ?5092次閱讀

    FPGA設(shè)計(jì)經(jīng)驗(yàn):邊沿檢測(cè)

    在同步電路設(shè)計(jì)中,邊沿檢測(cè)是必不可少的!
    發(fā)表于 08-16 15:19 ?1882次閱讀
    FPGA設(shè)計(jì)經(jīng)驗(yàn):<b class='flag-5'>邊沿</b><b class='flag-5'>檢測(cè)</b>

    關(guān)于邊沿檢測(cè)的問(wèn)題

    入圖,有沒(méi)有大神分析一下,是怎實(shí)現(xiàn)邊沿檢測(cè)的,它各個(gè)時(shí)期的電平狀態(tài)是什么
    發(fā)表于 04-13 14:36

    fpga應(yīng)用篇(二):邊沿檢測(cè)

    `fpga應(yīng)用篇(二):邊沿檢測(cè)上一篇介紹了阻塞賦值與非阻塞賦值,這次我們利用非阻塞賦值產(chǎn)生一個(gè)簡(jiǎn)單的應(yīng)用即邊沿檢測(cè),邊沿
    發(fā)表于 04-06 21:28

    邊沿檢測(cè)設(shè)計(jì)報(bào)告

    邊沿檢測(cè)設(shè)計(jì)報(bào)告
    發(fā)表于 09-26 15:38

    關(guān)于FPGA進(jìn)行外部邊沿檢測(cè)檢測(cè)不準(zhǔn)確問(wèn)題?

    程序邊沿檢測(cè)下降沿并統(tǒng)計(jì)數(shù)量(數(shù)量到達(dá)2后重新計(jì)數(shù),并發(fā)送動(dòng)作信號(hào)),但是最終發(fā)現(xiàn)檢測(cè)結(jié)果不準(zhǔn)確,有時(shí)候能檢測(cè)到,有時(shí)候檢測(cè)不到。萬(wàn)分感謝您
    發(fā)表于 08-21 12:58

    基于Verilog-HDL的軸承振動(dòng)噪聲電壓峰值檢測(cè)

    介紹模擬峰值電壓的檢測(cè)方式,敘述基于Verilog-HDL 與高速A/D轉(zhuǎn)換器相結(jié)合所實(shí)現(xiàn)的數(shù)字式快速軸承噪聲檢測(cè)方法, 給出相關(guān)的Verilog
    發(fā)表于 04-16 10:53 ?22次下載

    基于Verilog-HDL的軸承振動(dòng)噪聲電壓峰值檢測(cè)

    摘要:介紹模擬峰值電壓的檢測(cè)方式,敘述基于Verilog-HDL與高速A/D轉(zhuǎn)換器相結(jié)合所實(shí)現(xiàn)的數(shù)字式快速軸承噪聲檢測(cè)方法,給出相關(guān)的Verilog
    發(fā)表于 06-20 15:14 ?974次閱讀
    基于<b class='flag-5'>Verilog</b>-HDL的軸承振動(dòng)噪聲電壓峰值<b class='flag-5'>檢測(cè)</b>

    邊沿檢測(cè)與提取-輪廓跟蹤知識(shí)詳解

    邊沿檢測(cè)與提取程序
    發(fā)表于 01-29 14:56 ?0次下載

    用移位寄存器實(shí)現(xiàn)邊沿檢測(cè)的技巧

    本文記錄一下關(guān)于用移位寄存器實(shí)現(xiàn)邊沿檢測(cè)的技巧。要學(xué)會(huì)硬件思維式的“模塊式”讀寫(xiě)代碼,那么請(qǐng)多看別人的代碼,并用ISE或者VIVADO綜合出來(lái)看看。 邊沿
    發(fā)表于 04-15 10:26 ?3251次閱讀

    邊沿檢測(cè)的目的及電路原理分析

    邊沿檢測(cè)電路(edge detection circuit)是個(gè)常用的基本電路。所謂邊沿檢測(cè)就是對(duì)前一個(gè)clock狀態(tài)和目前clock狀態(tài)的比較,如果是由0變?yōu)?,能夠
    的頭像 發(fā)表于 11-19 07:09 ?1.1w次閱讀

    Verilog系統(tǒng)函數(shù)和邊沿檢測(cè)

    “ 本文主要分享了在Verilog設(shè)計(jì)過(guò)程中一些經(jīng)驗(yàn)與知識(shí)點(diǎn),主要包括Verilog仿真時(shí)常用的系統(tǒng)任務(wù)、雙向端口的使用(inout)、邊沿檢測(cè)
    的頭像 發(fā)表于 03-15 13:34 ?2305次閱讀

    FPGA學(xué)習(xí)-邊沿檢測(cè)技術(shù)

    所謂邊沿檢測(cè),就是檢測(cè)輸入信號(hào)即上升沿或者下降沿的檢測(cè)邊沿檢測(cè)的電路很好
    的頭像 發(fā)表于 11-26 10:20 ?1719次閱讀

    Verilog邊沿檢測(cè)的基本原理和代碼實(shí)現(xiàn)

    本文將從Verilog邊沿檢測(cè)的基本概念入手,介紹Verilog邊沿檢測(cè)的原理和應(yīng)用代碼示例。
    的頭像 發(fā)表于 05-12 17:05 ?3756次閱讀
    <b class='flag-5'>Verilog</b><b class='flag-5'>邊沿</b><b class='flag-5'>檢測(cè)</b>的基本原理和代碼<b class='flag-5'>實(shí)現(xiàn)</b>

    什么是邊沿檢測(cè)

    1、什么是邊沿檢測(cè) 邊沿檢測(cè)用于檢測(cè)信號(hào)的上升沿或下降沿,通常用于使能信號(hào)的捕捉等場(chǎng)景。 2、采用1級(jí)觸發(fā)器的
    的頭像 發(fā)表于 06-17 14:26 ?2473次閱讀
    什么是<b class='flag-5'>邊沿</b><b class='flag-5'>檢測(cè)</b>