色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

為什么在Verilog HDL設計中一定要用同步而不能用異步時序邏輯?

FPGA之家 ? 來源:FPGA之家 ? 2023-03-29 17:40 ? 次閱讀

同步時序邏輯是指表示狀態的寄存器組的值只可能在唯一確定的觸發條件發生時刻改變。只能由時鐘的正跳沿或負跳沿觸發的狀態機就是一例。always @(posedge clock) 就是一個同步時序邏輯的觸發條件, 表示由該 always 控制的 begin end 塊中寄存器變量重新賦值的情形只有可能在 clock 正跳沿發生。

而異步時序邏輯是指觸發條件由多個控制因素組成,任何一個因素的跳變都可以引起觸發。記錄狀態的寄存器組其時鐘輸入端不是都連結在同一個時鐘信號上。例如用一個觸發器的輸出連結到另一個觸發器的時鐘端去觸發的就是異步時序邏輯。

Verilog HDL 設計的可綜合模塊,必須避免使用異步時序邏輯,這不但是因為許多綜合器不支持異步時序邏輯的綜合,而且也因為用異步時序邏輯確實很難來控制由組合邏輯和延遲所產生的冒險和競爭。當電路的復雜度增加時,異步時序邏輯無法調試。工藝的細微變化也會造成異步時序邏輯電路的失效。因為異步時序邏輯中觸發條件很隨意,任何時刻都有可能發生,所以記錄狀態的寄存器組的輸出在任何時刻都有可能發生變化。而同步時序邏輯中的觸發輸入至少可以維持一個時鐘后才會發生第二次觸發。這是一個非常重要的差別,因為我們可以利用這一個時鐘的時間在下一次觸發信號來到前,為電路狀態的改變創造一個穩定可靠的條件。

因此我們可以得出結論:同步時序邏輯比異步時序邏輯具有更可靠更簡單的邏輯關系。如果我們強行作出規定,用 Verilog 來設計可綜合的狀態機必須使用同步時序邏輯,有了這個前提條件,實現自動生成電路結構的綜合器就有了可能 。因為這樣做大大減少了綜合工具的復雜度,為這種工具的成熟創造了條件。也為 Verilog 可綜合代碼在各種工藝和 FPGA 之間移植創造了條件。

Verilog RTL 級的綜合就是基于這個規定的。

下面我們將詳細說明同步與異步時序邏輯的差異。

在同步邏輯電路中,觸發信號是時鐘(clock)的正跳沿(或負跳沿);觸發器的輸入與輸出是經由兩個時鐘來完成的。第一個時鐘的正跳沿(或負跳沿)為輸入作準備,在第一個時鐘正跳沿(或負跳沿)到來后到第二個時鐘正跳沿(或負跳沿)到來之前的這一段時間內,有足夠的時間使輸入穩定。當第二個時鐘正跳沿(或負跳沿)到來時刻,由前一個時鐘沿創造的條件已經穩定,所以能夠使下一個狀態正確地輸出。

若在同一時鐘的正跳沿(或負跳沿)下對寄存器組既進行輸入又進行輸出,很有可能由于門的延遲使輸入條件還未確定時,就輸出了下一個狀態,這種情況會導致邏輯的紊亂。而利用上一個時鐘為下一個時鐘創造觸發條件的方式是安全可靠的。但這種工作方式需要有一個前提:確定下一個狀態所使用的組合電路的延遲與時鐘到各觸發器的差值必須小于一個時鐘周期的寬度。只有滿足這一前提才可以避免邏輯紊亂。在實際電路的實現中,采取了許多有效的措施來確保這一條件的成立,其中主要有以下幾點:

(1)全局時鐘網絡布線時盡量使各分支的時鐘一致;

(2)采用平衡樹結構,在每一級加入緩沖器,使到達每個觸發器時鐘端的時鐘同步。(如圖 1、2 所示)

ebdf8e98-c896-11ed-bfe3-dac502259ad0.png

通過這些措施基本可以保證時鐘的同步,在后仿真時,若邏輯與預期設計的不一樣,可降低時鐘頻率,就有可能消除由于時鐘過快引起的觸發器輸入端由延遲和冒險競爭造成的不穩定從而使邏輯正確。

在組合邏輯電路中,多路信號的輸入使各信號在同時變化時很容易產生競爭冒險,從而結果難以預料。下面就是一個簡單的組合邏輯的例子:C = a & b;

ebf08392-c896-11ed-bfe3-dac502259ad0.png

a 和 b 變化不同步使 C 產生了一個脈沖。這個結果也許與當初設計時的想法并不一致,但如果我們能過一段時間,待 C 的值穩定后再來取用組合邏輯的運算結果,就可以避免競爭冒險。同步時序邏輯由于用上一個時鐘的跳變沿時刻(置寄存器作為組合邏輯的輸入)來為下一個時鐘的跳變沿時刻的置數(置下一級寄存器作為該組合邏輯的輸出)做準備,只要時鐘周期足夠長,就可以在下一個時鐘的跳變沿時刻得到穩定的置數條件,從而在寄存器組中存入可靠的數據。

而這一點用異步電路是做不到的,因此在實際設計中應盡量避免使用異步時序邏輯。若用彌補的方法來避免競爭冒險,所耗費的人力物力是很巨大的。也無法使所設計的 Verilog HDL代碼和已通過仿真測試的電路模塊結構有知識產權的可能,因為工藝的細微改變就有可能使電路無法正常工作。顯而易見使用異步時序邏輯會帶來設計的隱患,無法設計出能嚴格按同一時間節拍操作控制數據流動方向開關的狀態機。而這種能按時鐘節拍精確控制數據流動開關的狀態機就是同步有限狀態機。它是算法計算過程中數據流動控制的核心。計算結構的合理配置和運算效率的提高與算法狀態機的設計有著非常密切的關系。我們只有通過閱讀有關計算機體系結構的資料和通過大量的設計實踐才能熟練地掌握復雜算法系統的設計。

審核編輯:湯梓紅

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

    關注

    13

    文章

    494

    瀏覽量

    42674
  • Verilog
    +關注

    關注

    28

    文章

    1351

    瀏覽量

    110241
  • HDL
    HDL
    +關注

    關注

    8

    文章

    328

    瀏覽量

    47431
  • 同步時序
    +關注

    關注

    0

    文章

    12

    瀏覽量

    7895
  • 異步時序
    +關注

    關注

    0

    文章

    6

    瀏覽量

    8654

原文標題:為什么在 Verilog HDL 設計中一定要用同步而不能用異步時序邏輯?

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    15條FPGA設計經驗及同步時序設計注意事項

    了用面積復制換取速度的提高。(2)硬件原則:理解HDL本質;(3)系統原則:整體把握;(4)同步設計原則:設計時序穩定的基本原則。2、Verilog作為
    發表于 05-04 08:00

    為什么 Verilog HDL 設計中一定要用同步不能用異步時序邏輯?

    發表于 03-25 15:09

    什么是同步邏輯異步邏輯?

    本文來自芯社區,謝謝。1:什么是同步邏輯異步邏輯? 同步邏輯是時鐘之間有固定的因果關系。
    發表于 07-26 08:26

    什么是同步邏輯異步邏輯

    什么是同步邏輯異步邏輯同步電路和異步電路的區別在哪?時序
    發表于 09-29 07:33

    什么是同步邏輯異步邏輯?

    轉自知乎答主ictown_數字IC設計工程師筆試面試經典100題-有答案-陳恩1:什么是同步邏輯異步邏輯?(漢王)同步
    發表于 11-11 06:13

    異步時序邏輯電路

    異步時序邏輯電路:本章主要從同步時序邏輯電路與異步
    發表于 09-01 09:12 ?0次下載

    Verilog HDL程序基本結構與程序入門

    Verilog HDL程序基本結構與程序入門 Verilog HDL程序基本結構  Verilog
    發表于 02-08 11:43 ?2308次閱讀

    Verilog HDL語言實現時序邏輯電路

    Verilog HDL語言實現時序邏輯電路 Verilog
    發表于 02-08 11:46 ?4737次閱讀

    基本組合邏輯功能雙向管腳的Verilog HDL源代碼

    電子發燒友網核心提示: 本例程是Verilog HDL源代碼:關于基本組合邏輯功能中雙向管腳的功能實現源代碼。 Verilog HDL: B
    發表于 10-15 11:28 ?1625次閱讀

    如何使用Verilog-HDL做CPLD設計的時序邏輯電路的實現

    本文檔的主要內容詳細介紹的是如何使用Verilog-HDL做CPLD設計的時序邏輯電路的實現。
    發表于 12-12 16:25 ?10次下載
    如何使用<b class='flag-5'>Verilog-HDL</b>做CPLD設計的<b class='flag-5'>時序</b><b class='flag-5'>邏輯</b>電路的實現

    Verilog HDL的基礎知識詳細說明

    (4) Verilog HDL時序邏輯語句結構 (5)Verilog HDL 程序設計中需
    發表于 07-03 17:36 ?54次下載
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>的基礎知識詳細說明

    Verilog HDL verilog hdl和vhdl的區別

    Verilog HDL種以文本形式描述數字系統硬件的結構和行為的硬件描述語言,也可描述邏輯電路圖、邏輯表達式等。
    的頭像 發表于 07-23 14:36 ?1.1w次閱讀

    什么是同步邏輯異步邏輯?同步電路與異步電路有何區別?

    什么是同步邏輯異步邏輯?同步電路與異步電路有何區別? 同步
    的頭像 發表于 11-17 14:16 ?2423次閱讀

    verilog同步異步的區別 verilog阻塞賦值和非阻塞賦值的區別

    Verilog種硬件描述語言,用于設計和模擬數字電路。Verilog中,同步異步是用來描
    的頭像 發表于 02-22 15:33 ?1806次閱讀

    Verilog HDL的基礎知識

    本文繼續介紹Verilog HDL基礎知識,重點介紹賦值語句、阻塞與非阻塞、循環語句、同步異步、函數與任務語法知識。
    的頭像 發表于 10-24 15:00 ?544次閱讀
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>的基礎知識
    主站蜘蛛池模板: 果冻传媒妈妈要儿子| 奇虎成人网| 亚洲高清国产拍精品影院| 国内精品自线在拍2020不卡 | 4438全国免费观看| 欧美亚洲日韩欧洲不卡| 国产-第1页-浮力影院| 亚洲人成人77777在线播放| 毛片免费在线播放| 国产99久久| 欲乱艳荡少寡妇全文免费| 亲爱的妈妈6韩国电影免费观看| 国产精品你懂的在线播放| 伊人久久影院| 人妻美妇疯狂迎合| 黄色aa大片| 成人在线免费看片| 一二三四在线播放免费观看中文版视频| 麻豆文化传媒一区二区| 国产福利视频第一导航| 在线观看亚洲AV无码每日更新| 青春草国产成人精品久久| 国产在线观看的| MD传媒MD0021在线观看| 亚洲精品国偷拍自产在线观看蜜臀| 免费撕开胸罩吮胸视频| 国产午夜精品理论片| 99视频在线免费看| 亚洲日本va中文字幕久久| 日本xxxxxx片免费播放18| 精品久久久久久电影网| 边摸边吃奶边做下面视频| 影音先锋av天堂| 午夜日韩久久影院| 欧洲精品不卡1卡2卡三卡四卡| 久久www免费人成_看片高清| 国产精品1区在线播放| jizzxxxx18中国内地| 在线电台收听| 雪恋电影完整版免费观看| 人妻兽虐曲|