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

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

3天內不再提示

基于阻塞賦值和非阻塞賦值的多級觸發(fā)器級聯(lián)實例

電子工程師 ? 來源:CSDN ? 作者:a14730497 ? 2021-05-08 14:47 ? 次閱讀

下面給出一個基于阻塞賦值和非阻塞賦值的多級觸發(fā)器級聯(lián)實例,要求將輸入數(shù)據(jù)延遲 3 個時鐘周期再輸出,并給出對應的 RTL 級結構圖和仿真結果。

(1)基于 D觸發(fā)器的阻塞賦值語句代碼如下:

module pipeb1 (q3, d, clk);

output [7:0] q3;

input [7:0] d;

input clk;

reg [7:0] q3, q2, q1;

always @(posedge clk)

begin

q1 = d;

q2 = q1;

q3 = q2;

end

endmodule

上述代碼綜合后能得到所期望的邏輯電路嗎? 答案是否定的, 根據(jù)阻塞賦值語句的執(zhí)行過程可以得到執(zhí)行后的結果是 q1 = d;q2 = d。實際只會綜合出一個寄存器,如圖 8-33 所示,并列出下面的警告信息,而不是所期望的三個。其中的主要原因就是采用了阻塞賦值,首先將 d 的值賦給 q1,再將q1 的值賦給q2,依次到q3,但是 q1、q2、q3 的值在賦值前其數(shù)值已經全部被修改為當前時刻的 d 值,因此上述語句等效于 q3=d,這和圖 8-33 所示的 RTL 結構是一致的。

pIYBAGCWNI-AKXz-AADOG74i4Xg491.jpg

(2) 如何才能得到所需要的電路呢?如果把 always 塊中的兩個賦值語句的次序顛倒后再進行分析:先把 q2 的值賦于 q3、再把 q1 的值賦于 q2,最后把 d 賦于q1。這樣在先賦值再修改,可以使得 q2,q3 的值都不再是 d 的當前值。修改后的代碼如下所列。

module pipeb2 (q3, d, clk);

output [7:0] q3;

input [7:0] d;

input clk;

reg [7:0] q3, q2, q1;

always @(posedge clk)

begin

q3 = q2;

q2 = q1;

q1 = d;

end

endmodule

原文標題:FPGA學習:verilog中阻塞的理解與例子

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    1636

    文章

    21841

    瀏覽量

    608497
  • 電路圖
    +關注

    關注

    10369

    文章

    10726

    瀏覽量

    535639
  • Verilog
    +關注

    關注

    28

    文章

    1355

    瀏覽量

    110865

原文標題:FPGA學習:verilog中阻塞的理解與例子

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    “串口阻塞”你真的會用嗎?

    很久才會發(fā)出來,一下子出來很多數(shù)據(jù)”。經過幫客戶檢查應用程序源碼,發(fā)現(xiàn)應用程序在串口阻塞方面沒有做正確的處理,修改后解決。阻塞打開串口open("/dev/tty
    的頭像 發(fā)表于 02-13 11:42 ?332次閱讀
    “串口<b class='flag-5'>阻塞</b>”你真的會用嗎?

    socket編程中的阻塞阻塞

    在網絡編程中, socket 是一個非常重要的概念,它提供了一個抽象層,使得開發(fā)者可以不必關心底層的網絡通信細節(jié)。 socket 編程中的阻塞阻塞模式是兩種不同的操作方式,它們對程序的響應性
    的頭像 發(fā)表于 11-01 16:13 ?367次閱讀

    Verilog HDL的基礎知識

    本文繼續(xù)介紹Verilog HDL基礎知識,重點介紹賦值語句、阻塞阻塞、循環(huán)語句、同步與異步、函數(shù)與任務語法知識。
    的頭像 發(fā)表于 10-24 15:00 ?708次閱讀
    Verilog HDL的基礎知識

    rs觸發(fā)器的工作原理 rs觸發(fā)器和sr觸發(fā)器的區(qū)別

    RS觸發(fā)器(Reset-Set觸發(fā)器)和SR觸發(fā)器(Set-Reset觸發(fā)器)是數(shù)字電路中常用的兩種基本觸發(fā)器。它們在邏輯功能和應用上有所不
    的頭像 發(fā)表于 10-21 10:06 ?5049次閱讀

    怎么用jk觸發(fā)器變成t觸發(fā)器

    將JK觸發(fā)器變成T觸發(fā)器,主要涉及到對JK觸發(fā)器的輸入端口進行適當?shù)倪B接和配置,以實現(xiàn)T觸發(fā)器的邏輯功能。以下是將JK觸發(fā)器轉換為T
    的頭像 發(fā)表于 08-28 09:41 ?3350次閱讀

    d觸發(fā)器和jk觸發(fā)器的區(qū)別是什么

    引言 數(shù)字電路是現(xiàn)代電子技術的基礎,廣泛應用于計算機、通信、控制等領域。觸發(fā)器是數(shù)字電路中的一種基本邏輯元件,具有存儲和傳遞信息的功能。 觸發(fā)器的基本概念 觸發(fā)器是一種具有記憶功能的數(shù)字電路元件
    的頭像 發(fā)表于 08-22 10:37 ?2615次閱讀

    t觸發(fā)器變?yōu)閐觸發(fā)器的條件

    在數(shù)字電路設計中,觸發(fā)器是一種非常重要的存儲元件,用于存儲一位二進制信息。觸發(fā)器的種類很多,其中最為常見的有JK觸發(fā)器、D觸發(fā)器和T觸發(fā)器
    的頭像 發(fā)表于 08-22 10:33 ?1931次閱讀

    socket阻塞阻塞的區(qū)別是什么

    在計算機編程中,socket 是一種通信端點,用于在網絡中進行數(shù)據(jù)傳輸。Socket 可以是阻塞的或阻塞的,這兩種模式在處理數(shù)據(jù)傳輸時有不同的行為。 阻塞模式(Blocking Mo
    的頭像 發(fā)表于 08-16 11:13 ?922次閱讀

    同步觸發(fā)器和邊沿觸發(fā)器的區(qū)別

    同步觸發(fā)器和邊沿觸發(fā)器是數(shù)字電路中兩種常見的觸發(fā)器類型,它們在觸發(fā)方式、工作原理、性能特點以及應用場景等方面存在顯著的差異。
    的頭像 發(fā)表于 08-12 11:26 ?1994次閱讀

    t觸發(fā)器與d觸發(fā)器的區(qū)別和聯(lián)系

    在數(shù)字電路設計中,觸發(fā)器是一種非常重要的存儲元件,用于存儲一位二進制信息。觸發(fā)器的種類很多,其中最為常見的是T觸發(fā)器(Toggle Flip-Flop)和D觸發(fā)器(Data Flip-
    的頭像 發(fā)表于 08-11 09:37 ?3827次閱讀

    邊沿觸發(fā)器和主從觸發(fā)器的區(qū)別是什么

    邊沿觸發(fā)器和主從觸發(fā)器是數(shù)字電路中兩種常見的觸發(fā)器類型,它們在設計和應用上有著明顯的區(qū)別。 觸發(fā)器的基本概念 觸發(fā)器是一種具有記憶功能的數(shù)字
    的頭像 發(fā)表于 08-09 17:33 ?1289次閱讀

    是否可以使用Aurix中的CCU6模塊,以阻塞方式在檢測到GPIO下降沿時觸發(fā)中斷?

    我想知道,是否可以使用 Aurix 中的 CCU6 模塊,以阻塞方式在檢測到 GPIO 下降沿時觸發(fā)中斷? TC397 的示例代碼僅將其用于 PWM 生成和時鐘定時,但我很好奇如何將其用于 GPIO 邊沿檢測。
    發(fā)表于 07-04 07:00

    請問使用lwip創(chuàng)建socket,該如何做到阻塞的接收發(fā)送數(shù)據(jù)?

    請問使用lwip創(chuàng)建socket,該如何做到阻塞的接收發(fā)送數(shù)據(jù)?
    發(fā)表于 06-19 06:02

    為什么指針之間不要隨意賦值呢?

    指針之間也不能隨意賦值。
    的頭像 發(fā)表于 03-28 17:13 ?818次閱讀
    為什么指針之間不要隨意<b class='flag-5'>賦值</b>呢?

    什么是阻塞阻塞?

    什么是阻塞阻塞?我們就用管道的讀寫來舉例子。
    的頭像 發(fā)表于 03-25 10:04 ?617次閱讀