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

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

3天內不再提示

如何使用Verilog硬件描述語言描述時序邏輯電路?

冬至子 ? 來源:電子技術實驗XJTU ? 作者:孫敏 ? 2023-09-17 16:22 ? 次閱讀

0****1

時序邏輯電路設計方法

時序邏輯電路的特點是輸出信號不僅與電路的輸入有關,還與電路原來的狀態有關。

因此,電路需要具有記憶功能的存儲電路。FPGA中基本的存儲單元是D觸發器,也是實現時序邏輯的基本單元。

那么,什么樣的語句會被綜合成觸發器呢?在Verilog中,常使用always進程塊描述時序邏輯。此時,always進程塊中的敏感列表一般為時鐘邊沿和異步控制信號,

** always ** @(posedge clk,posedge rst)

always進程塊的執行是在時鐘邊沿觸發下進行的。

時序邏輯電路按狀態變化的特點,可以分為同步時序邏輯電路和異步時序邏輯電路。

同步時序邏輯電路的各個觸發器狀態的轉換在同一時鐘脈沖作用下完成。目前,大多數數字電路都是同步時序電路。我們實驗中所涉及到的也都是同步時序電路。

在設計時需要注意,所有always敏感列表中第一項敏感信號應該為同一時鐘信號,比如,都為系統時鐘clk的上升沿。

圖片

不出現其他派生信號,比如,系統時鐘產生的分頻信號等等。

圖片

異步時序邏輯電路中,沒有統一時鐘,各觸發器狀態轉換是異步完成的。

在always進程塊描述時序邏輯時,賦值語句使用非阻塞賦值,即“<=”。

0****2

時序邏輯電路設計實例

下面來看幾個D觸發器的設計實例,來理解Verilog語句與電路之間的關系。

實例1:基本D觸發器

設計一個簡單的D觸發器,在時鐘上升沿觸發下,輸出等于輸入,其他時間輸出保持不變。

圖片

圖片

使用always語句進行描述,敏感列表為時鐘上升沿。當時鐘信號由0變為1時,執行always語句“q_o=d_i”,如下圖所示。

圖片

我們看到輸入信號d_i不出現在敏感信號列表中,也就表明,輸入的變化不會引發輸出立即變化,只有在時鐘上升沿時才被采樣。

下面是綜合后的原理圖,綜合就是將Verilog設計對應到FPGA內部組成單元上。

圖片

我們看到,綜合出的是D觸發器(FDRE為D觸發器,參見賽靈思官方文檔ug799),其中敏感列表中的clk被綜合為觸發器的時鐘信號C,d_i連接D觸發器輸入端D。D觸發器還包含信號CE(時鐘使能端),以及R(復位端,高有效),在本示例中均未用到。因此,將CE連接高電平,使時鐘始終有效,R連接低電平,使復位無效。

實例2:帶復位(高有效)的D觸發器

下面的例子加入了復位信號。復位分為同步復位和異步復位。

圖片

同步復位中,當復位信號有效時,必須要等到時鐘上升沿到來時,才能執行復位信號相關的行為語句,如仿真波形圖中所示。

圖片圖片

異步復位中的復位信號與時鐘沒有關系,只要復位信號有效,就立即執行復位相關的邏輯行為。要實現異步復位,復位信號要放在敏感列表中。

圖片

圖片

仿真波形圖中可以看到,當rst有效時,輸出立即被復位,下一個clk上升沿到來時,此時,rst信號仍然有效,因此,輸出為0。再一個clk到來時,復位無效,則輸出等于輸入。

實例3:含異步復位(低有效)和同步使能的D觸發器

下面是一個帶有同步使能信號的D觸發器。

圖片

這里我們使用了低電平復位,當復位信號無效,使能信號有效時,在時鐘上升沿觸發下,輸出等于輸入。

圖片

圖片

在綜合后的原理圖中,en使能信號連接在了D觸發器的CE端。復位信號rst_n與CLK的連接經過一個LUT(LUT是FPGA用于實現組合邏輯的基本單元查找表),在Vivado中可以看到該LUT的真值表,它實現的是反相器的功能,這也說明了賽靈思的FPGA中觸發器的復位引腳是高有效的,如果你設計中復位是低有效,這里就會多出一個反相器將其邏輯取反。

03

always進程塊用法總結

always進程塊是最常用的行為描述語句,他可以描述組合邏輯也可以描述時序邏輯。

圖片

描述組合邏輯時,敏感列表中為輸入電平信號,而描述時序邏輯時,敏感列表為時鐘邊沿及異步控制信號。Vivado綜合工具會根據always后面的敏感列表的不同形式綜合出相應的電路。

always在仿真中還可以通過延時控制來產生激勵信號。例如,always #5 clk=~clk,表示當執行到該語句時,需要延遲5個時間單位的時間(由`timescales 定義),然后再執行“clk=~clk”。

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

    關注

    9

    文章

    427

    瀏覽量

    26332
  • 反相器
    +關注

    關注

    6

    文章

    295

    瀏覽量

    42793
  • D觸發器
    +關注

    關注

    2

    文章

    158

    瀏覽量

    47497
  • 時序邏輯電路

    關注

    2

    文章

    79

    瀏覽量

    16436
  • CLK
    CLK
    +關注

    關注

    0

    文章

    123

    瀏覽量

    16941
收藏 人收藏

    評論

    相關推薦

    Verilog HDL硬件描述語言

    Verilog HDL硬件描述語言
    發表于 01-13 14:40

    Verilog_HDL硬件描述語言

    Verilog_HDL硬件描述語言 FPGA的資料
    發表于 02-26 14:03

    VHDL硬件描述語言與和數字邏輯電路設計.侯伯亭&顧新

    VHDL硬件描述語言與和數字邏輯電路設計.侯伯亭&顧新
    發表于 05-11 09:22

    Verilog硬件描述語言描述.

    本書簡要介紹了Verilog硬件描述語言的基礎知識,包括語言的基本內容和基本結構 ,以及利用該語言在各種層次上對數字系統的建模方法
    發表于 03-27 23:44 ?101次下載

    VHDL硬件描述語言與數字邏輯電路設計

    VHDL硬件描述語言與數字邏輯電路設計:本書系統地介紹了一種硬件描述語言,即VHDL語言設計數字
    發表于 02-06 16:55 ?362次下載

    verilog硬件描述語言課程講義

    verilog硬件描述語言課程講義
    發表于 05-21 15:01 ?33次下載
    <b class='flag-5'>verilog</b><b class='flag-5'>硬件</b><b class='flag-5'>描述語言</b>課程講義

    [VHDL硬件描述語言與和數字邏輯電路設計].侯伯亭&顧新.掃描版

    電子發燒友網站提供《[VHDL硬件描述語言與和數字邏輯電路設計].侯伯亭&顧新.掃描版.txt》資料免費下載
    發表于 07-10 18:32 ?0次下載

    經典教材-VHDL硬件描述語言與數字邏輯電路設計(第三版)

    電子發燒友網站提供《經典教材-VHDL硬件描述語言與數字邏輯電路設計(第三版).txt》資料免費下載
    發表于 08-27 11:41 ?0次下載

    Verilog硬件描述語言參考手冊

    Verilog硬件描述語言參考手冊,Verilog語法內容介紹
    發表于 11-12 17:20 ?0次下載

    Verilog HDL硬件描述語言

    Verilog HDL硬件描述語言 有需要的下來看看
    發表于 12-29 15:31 ?0次下載

    Verilog硬件描述語言

    VHDL語言編程學習Verilog硬件描述語言
    發表于 09-01 15:27 ?0次下載

    Verilog HDL硬件描述語言

    Verilog HDL硬件描述語言,感興趣的小伙伴們可以瞧一瞧。
    發表于 11-11 11:20 ?11次下載

    VHDL硬件描述語言與數字邏輯電路設計

    VHDL硬件描述語言與數字邏輯電路設計,感興趣的小伙伴們可以瞧一瞧。
    發表于 11-10 14:20 ?0次下載

    基于Verilog硬件描述語言的IEEE標準硬件描述語言資料合集免費下載

    本文檔的主要內容詳細介紹的是基于Verilog硬件描述語言的IEEE標準硬件描述語言資料合集免費下載:1995、2001、2005;Syst
    發表于 06-18 08:00 ?10次下載

    使用Verilog/SystemVerilog硬件描述語言練習數字硬件設計

    HDLBits 是一組小型電路設計習題集,使用 Verilog/SystemVerilog 硬件描述語言 (HDL) 練習數字硬件設計~
    的頭像 發表于 08-31 09:06 ?1274次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>