哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

Verilog HDL語言中連續(xù)賦值的特征

電子工程師 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2021-03-05 15:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)據(jù)流模型化

本章講述Verilog HDL語言中連續(xù)賦值的特征。連續(xù)賦值用于數(shù)據(jù)流行為建模;相反,過程賦值用于(下章的主題)順序行為建模。組合邏輯電路的行為最好使用連續(xù)賦值語句建模。

7.1 連續(xù)賦值語句

連續(xù)賦值語句將值賦給線網(wǎng)(連續(xù)賦值不能為寄存器賦值),它的格式如下(簡單形式):assignLHS_target = RHS_expression ;例如,wire [3:0] Z, Preset, Clear; // 線網(wǎng)說明assign Z = Preset & Clear; //連續(xù)賦值語句連續(xù)賦值的目標為 Z,表達式右端為“ Preset & Clear”。注意連續(xù)賦值語句中的關(guān)鍵詞assign。連續(xù)賦值語句在什么時候執(zhí)行呢 ?

只要在右端表達式的操作數(shù)上有事件 (事件為值的變化)發(fā)生時,表達式即被計算;如果結(jié)果值有變化,新結(jié)果就賦給左邊的線網(wǎng)。在上面的例子中,如果 P re s e t或C l e a r變化,就計算右邊的整個表達式。如果結(jié)果變化,那么結(jié)果即賦值到線網(wǎng)Z。連續(xù)賦值的目標類型如下:

1) 標量線網(wǎng)

2)。 向量線網(wǎng)

3) 向量的常數(shù)型位選擇4) 向量的常數(shù)型部分選擇5) 上述類型的任意的拼接運算結(jié)果下面是連續(xù)賦值語句的另一些例子:assgin BusErr = Parity| (One & OP) ;assign Z = ~ (A | B) & (C | D) & (E | F) ;只要A、B、C、D、E或F的值變化,最后一個連續(xù)賦值語句就執(zhí)行。在這種情況下,計算右邊整個表達式,并將結(jié)果賦給目標 Z。

在下一個例子中,目標是一個向量線網(wǎng)和一個標量線網(wǎng)的拼接結(jié)果。wireCout, C i n ;wire [3:0] Sum, A, B;。 。 .assign{Cout, Sum} = A + B + Cin;因為A和B是4位寬,加操作的結(jié)果最大能夠產(chǎn)生 5位結(jié)果。左端表達式的長度指定為 5位(Cout 1位,Sum 4位)。

賦值語句因此促使右端表達式最右邊的 4位的結(jié)果賦給S u m,第5位(進位位)賦給C o u t。下例說明如何在一個連續(xù)賦值語句中編寫多個賦值方式。assgin M u x = (S = = 0)?

A : ‘bz, M u x = (S = = 1)?

B : ’bz, M u x = (S = = 2)?

C : ‘bz, M u x = (S = = 3)?

D : ’bz;這是下述4個獨立的連續(xù)賦值語句的簡化書寫形式。

assign M u x = (S = = 0)? A : ‘bz;assign M u x = (S = = 1)? B : ’bz;assign M u x = (S = = 2)? C : ‘bz;assign M u x = (S = = 3)? D : ’bz;

7.2 舉例

下例采用數(shù)據(jù)流方式描述1位全加器。

在本例中,有兩個連續(xù)賦值語句。這些賦值語句是并發(fā)的,與其書寫的順序無關(guān)。只要連續(xù)賦值語句右端表達式中操作數(shù)的值變化 (即有事件發(fā)生), 連續(xù)賦值語句即被執(zhí)行。如果 A變化,則兩個連續(xù)賦值都被計算,即同時對右端表達式求值,并將結(jié)果賦給左端目標。

7.3 線網(wǎng)說明賦值

連續(xù)賦值可作為線網(wǎng)說明本身的一部分。這樣的賦值被稱為線網(wǎng)說明賦值。例如 :wire [3:0] S u m = 4‘b0;wire C l e a r = ’b1;wire A _ G T _ B = A 》 B, B_GT_A= B 》 A;線網(wǎng)說明賦值說明線網(wǎng)與連續(xù)賦值。說明線網(wǎng)然后編寫連續(xù)賦值語句是一種方便的形式。參見下例。wire Clear;assign Clear= ‘b1;等價于線網(wǎng)聲明e賦值:wire Clear= ’b1;不允許在同一個線網(wǎng)上出現(xiàn)多個線網(wǎng)說明賦值。如果多個賦值是必需的,則必須使用連續(xù)賦值語句。

7.4 時延

如果在連續(xù)賦值語句中沒有定義時延,如前面的例子,則右端表達式的值立即賦給左端表達式, 時延為0。如下例所示顯式定義連續(xù)賦值的時延。assign #6 Ask = Quiet | | L a t e;規(guī)定右邊表達式結(jié)果的計算到其賦給左邊目標需經(jīng)過 6個時間單位時延。例如,如果在時刻5,L a t e值發(fā)生變化,則賦值的右端表達式被計算,并且 A s k在時刻11( = 5 +6)被賦于新值。圖7 - 1舉例說明了時延概念。

2dff7374-7c77-11eb-8b86-12bb97331649.png

如果右端在傳輸給左端之前變化,會發(fā)生什么呢?在這種情況下,應用最新的變化值。下例顯示了這種行為:assign #4 Cab = Drm;圖7 - 2顯示了這種變化的效果。右端發(fā)生在時延間隔內(nèi)的變化被濾掉。例如,在時刻 5,Dr m的上升邊沿預定在時刻9顯示在Cab上,但是因為Drm在時刻8下降為0,預定在Cab上的值被刪除。同樣, Drm在時刻1 8和2 0之間的脈沖被濾掉。這也同樣適用于慣性時延行為:即右端值變化在能夠傳播到左端前必須至少保持時延間隔;如果在時延間隔內(nèi)右端值變化,則前面的值不能傳輸?shù)捷敵觥?/p>

2e69f7da-7c77-11eb-8b86-12bb97331649.png

對于每個時延定義,總共能夠指定三類時延值:1) 上升時延2) 下降時延3) 關(guān)閉時延這三類時延的語法如下:

在第一個賦值語句中,上升時延、下降時延、截止時延和傳遞到 x的時延相同,都為 4。在第二個語句中,上升時延為4,下降時延為8,傳遞到x和z的時延相同,是4和8中的最小值,即4。在第3個賦值中,上升時延為 4,下降時延為8,截止時延為6,傳遞到x的時延為4 ( 4、8和6中的最小值)。在最后的語句中,所有的時延都為 0。上升時延對于向量線網(wǎng)目標意味著什么呢 ? 如果右端從非0向量變化到0向量,那么就使用下降時延。如果右端值到達z,那么使用下降時延;否則使用上升時延。

7.5 線網(wǎng)時延

時延也可以在線網(wǎng)說明中定義,如下面的說明。wire #5 A r b;這個時延表明A r b驅(qū)動源值改變與線網(wǎng)A r b本身間的時延??紤]下面對線網(wǎng) A r b的連續(xù)賦值語句:

assign # 2 Arb = Bod & Cap;

2ef9ce6e-7c77-11eb-8b86-12bb97331649.png

假定在時刻1 0,B o d上的事件促使右端表達式計算。如果結(jié)果不同,則在 2個時間單位后賦值給 A r b,即時刻1 2。但是因為定義了線網(wǎng)時延,實際對 A r b的賦值發(fā)生在時刻17( = 10 + 2 + 5)。圖7 - 3的波形舉例說明了不同的時延。圖7 - 4很好地描述了線網(wǎng)時延的效果。首先使用賦值時延,然后增加任意線網(wǎng)時延。如果時延在線網(wǎng)說明賦值中出現(xiàn),那么時延不是線網(wǎng)時延,而是賦值時延。下面是 A的線網(wǎng)說明賦值,2個時間單位是賦值時延,而不是線網(wǎng)時延。w i r e #2 A = B - C; // 賦值時延

7.6 舉例

7.6.1 主從觸發(fā)器

下面是圖5 - 9所示的主從觸發(fā)器的Verilog HDL模型。

7.6.2 數(shù)值比較器

下面是8位(參數(shù)定義的)數(shù)值比較器數(shù)據(jù)流模型。

原文標題:Verilog入門-數(shù)據(jù)流模型化

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

責任編輯:haq

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

    關(guān)注

    30

    文章

    1374

    瀏覽量

    114709
  • HDL
    HDL
    +關(guān)注

    關(guān)注

    8

    文章

    332

    瀏覽量

    49040

原文標題:Verilog入門-數(shù)據(jù)流模型化

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Verilog HDL語法學習筆記

    Verilog HDL 語 言 最 初 是 作為 Gateway Design Automation 公 司 ( Gateway DesignAutomation 公司后來被著名的 Cadence Design Systems 公司收購)模擬器產(chǎn)品開發(fā)的硬件建模
    的頭像 發(fā)表于 03-04 15:04 ?5747次閱讀
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>語法學習筆記

    FPGA 入門必看:Verilog 與 VHDL 編程基礎(chǔ)解析!

    很多開發(fā)者第一次接觸FPGA,都會有同樣的疑問:FPGA是硬件,不是軟件,怎么寫程序?答案就是用硬件描述語言HDL),最常用的就是Verilog和VHDL。今天,我們就帶你入門,搞清楚FPGA編程
    的頭像 發(fā)表于 01-19 09:05 ?697次閱讀
    FPGA 入門必看:<b class='flag-5'>Verilog</b> 與 VHDL 編程基礎(chǔ)解析!

    如何使用Modelsim仿真I2C控制器

    ModelSim是Model Technology(Mentor Graphics的子公司)的HDL硬件描述語言的仿真軟件。該軟件可以用來實現(xiàn)對設計的VHDL、Verilog HDL
    的頭像 發(fā)表于 01-10 14:14 ?5603次閱讀
    如何使用Modelsim仿真I2C控制器

    請問C語言中整形溢出的解決方法有哪些?

    C語言中整形溢出的解決方法有哪些?
    發(fā)表于 12-29 07:33

    單片機c語言中定義字節(jié)怎么定義?

    定義位可以用***it但是定義字節(jié)呢?還有就是比如匯編中的DPTR的DPH和DPL在c語言中怎樣定義的呢?
    發(fā)表于 12-29 06:32

    請問C語言中整形溢出會產(chǎn)生哪些異常行為?

    C語言中整形溢出會產(chǎn)生哪些異常行為?
    發(fā)表于 12-26 07:05

    請問C語言中整形溢出對哪些應用場景影響較大?

    C語言中整形溢出對哪些應用場景影響較大
    發(fā)表于 12-24 08:24

    Typedef在C語言中的應用

    Typedef 在C語言中頻繁用以聲明一個已經(jīng)存在的數(shù)據(jù)類型的同義字。也可以用預處理器做類似的事。例如,思考一下下面的例子: #define dPS struct s * typedef
    發(fā)表于 12-22 13:53

    如何搞定嵌入式 C語言中的全局變量問題?

    中常見,這幫家伙幾乎把全局變量當作函數(shù)形參來用。 在.h文檔里面定義許多雜亂的結(jié)構(gòu)體,extern一堆令人頭皮發(fā)麻的全局變量,然后再這個模塊里邊賦值123,那個模塊里邊判斷123分支決定做什么。 每當
    發(fā)表于 12-16 06:54

    C語言中可以嵌套匯編語言嗎?

    請問C語言中可以嵌套匯編語言嗎?
    發(fā)表于 12-15 08:14

    【產(chǎn)品介紹】Modelsim:HDL語言仿真軟件

    概述ModelSim是業(yè)界最優(yōu)秀的HDL語言仿真軟件,它能提供友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持VHDL和Verilog混合仿真的仿真器。它采用直接優(yōu)化的編譯技術(shù)、Tcl/Tk技術(shù)、和單一內(nèi)核
    的頭像 發(fā)表于 11-13 11:41 ?665次閱讀
    【產(chǎn)品介紹】Modelsim:<b class='flag-5'>HDL</b><b class='flag-5'>語言</b>仿真軟件

    第4章 C語言基礎(chǔ)以及流水燈的實現(xiàn)(4.3 4.4)

    4.3 C語言基本運算符 小學數(shù)學學過加、減、乘、除等運算符號以及四則混合運算,而這些運算符號在C語言中也有,但是有些表達方法不一樣,并且還有額外的運算符號。在C語言編程中,加、減、乘、除和取余數(shù)
    的頭像 發(fā)表于 10-29 15:30 ?421次閱讀

    如何利用Verilog HDL在FPGA上實現(xiàn)SRAM的讀寫測試

    本篇將詳細介紹如何利用Verilog HDL在FPGA上實現(xiàn)SRAM的讀寫測試。SRAM是一種非易失性存儲器,具有高速讀取和寫入的特點。在FPGA中實現(xiàn)SRAM讀寫測試,包括設計SRAM接口模塊
    的頭像 發(fā)表于 10-22 17:21 ?4546次閱讀
    如何利用<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>在FPGA上實現(xiàn)SRAM的讀寫測試

    使用Simulink自動生成浮點運算HDL代碼(Part 1)

    引言 想要實現(xiàn)浮點運算功能,如果自己寫Verilog代碼,需要花費較多的時間和精力。好在Simulink HDL Coder工具箱提供了自動代碼生成技術(shù)。下圖展示了HDL Coder如何生成浮點運算
    發(fā)表于 10-22 06:48

    Windows環(huán)境下32位匯編語言中文資料

    電子發(fā)燒友網(wǎng)站提供《Windows環(huán)境下32位匯編語言中文資料.rar》資料免費下載
    發(fā)表于 06-30 15:14 ?0次下載
    博兴县| 育儿| 玛纳斯县| 贡觉县| 麟游县| 湟中县| 木里| 余干县| 上林县| 吉首市| 淮阳县| 汝城县| 公安县| 通许县| 休宁县| 广河县| 柘城县| 秦皇岛市| 赤峰市| 四川省| 杭锦后旗| 滦南县| 年辖:市辖区| 改则县| 开江县| 长葛市| 两当县| 台州市| 富顺县| 黄大仙区| 梁河县| 神池县| 田林县| 台南县| 盱眙县| 聂拉木县| 梨树县| 禄丰县| 偏关县| 奉化市| 潮州市|