VHDL實(shí)現(xiàn)雙信號(hào)邊沿判斷的一種方法

今天在使用quartus編寫VHDL程序的時(shí)候,需要寫一個(gè)使能信號(hào)子模塊,具體的效果是當(dāng)檢測(cè)到輸入信號(hào)的邊沿時(shí)(按下按鍵),輸出一個(gè)持續(xù)0.5秒的高電平使能信號(hào)。編寫的過程中需要在一個(gè)進(jìn)程中檢測(cè)兩個(gè)信號(hào)的邊沿,由于編譯器不支持雙信號(hào)的邊沿檢測(cè),所以需要一些技巧來達(dá)到我們的目的,另外,經(jīng)過我的推測(cè),此方法也適用于單信號(hào)的雙邊沿檢測(cè),這就很厲害了!話不多說,直接上代碼:

其實(shí)原理很簡單,就是多寫一個(gè)process進(jìn)程,通過if語句生成一個(gè)觸發(fā)器,把輸入信號(hào)延后一個(gè)時(shí)鐘,在另一個(gè)進(jìn)程中用 ? if(refresh_deley='0' and refresh='1'),就能實(shí)現(xiàn)判斷上升沿的效果,如下圖:


但顯然,此技巧有一定局限性,由上圖我們可以看出,我們判斷出的上升沿和下降沿有一定的延時(shí)性,但不會(huì)超過一個(gè)時(shí)鐘周期,且原信號(hào)持續(xù)信號(hào)必須大于一個(gè)時(shí)鐘周期才能被檢測(cè)到,所以要求我們輸入的時(shí)鐘信號(hào)應(yīng)該要盡量大一些,這樣才能保證結(jié)果的正確性。最后上一個(gè)仿真結(jié)果圖:



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 教程一:視頻截圖(Tutorial 01: Making Screencaps) 首先我們需要了解視頻文件的一些基...
    90后的思維閱讀 4,980評(píng)論 0 3
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,761評(píng)論 25 709
  • 沙盒是用來存入緩沖區(qū)的,APP關(guān)掉,緩存被自動(dòng)清理。 可以寫入沙盒的有字符串 數(shù)組(最簡單的數(shù)組,復(fù)雜的寫入不了(...
    小小東閱讀 709評(píng)論 0 1
  • 幸福的人,才會(huì)早早休息。
    沒刃余閱讀 230評(píng)論 0 0

友情鏈接更多精彩內(nèi)容