Verilog的結構化 資料流 行為級描述方式

2021-10-23 21:55:25 字數 2586 閱讀 2498

verilog的結構化、資料流、行為級描述方式

概述:verilog通常可以使用三種不同的方式描述模組實現的邏輯功能:結構化、資料流、行為描述方式。

結構化描述方式:是使用例項化低層次模組的方法,即呼叫其他已經定義過的低層次模組對整個電路的功能進行描述,或者直接呼叫verilog內部預先定義的基本門級元件描述電路的結構。

資料流描述方式:是使用連續賦值語句(assign)對電路的邏輯功能進行描述,該方式特別便於對組合邏輯電路建模。

行為級描述方式:是使用過程塊語句結構(always)和比較抽象的高階程式語句對電路的邏輯功能進行描述。

說明:

以表示式l=ab+bc+ac,進行verilog**編寫以及rtl檢視的觀察來描述三種方式。

輸入輸出:輸入

輸出a、b、c

l真值表:a

bcl0

0000

0100

1000

1111

0001

0111

1011

111邏輯圖(下面三種方式都是為了實現這個邏輯):

●結構化描述方式:是使用例項化低層次模組的方法,即呼叫其他已經定義過的低層次模組對整個電路的功能進行描述,或者直接呼叫verilog內部預先定義的基本門級元件描述電路的結構。

●結構化描述**:

module top

(//輸入埠

input a,

input b,

input c,

//輸出埠

output l);

wire ab,bc,ac;

//內部訊號宣告

and u1

(ab,a,b)

;//與門

and u2

(bc,b,c)

;//與門

and u3

(ac,a,c)

;//與門

or u4

(l,ab,bc,ac)

;//或門

endmodule

●結構化描述rtl檢視:

●資料流描述方式:是使用連續賦值語句(assign)對電路的邏輯功能進行描述,該方式特別便於對組合邏輯電路建模。

●資料流描述**:

module top

(//輸入埠

input a,

input b,

input c,

//輸出埠

output l);

assign l =

(a&&b)

||(b&&c)

||(a&&c)

;endmodule

●資料流描述rtl檢視:●行為級描述方式:是使用過程塊語句結構(always)和比較抽象的高階程式語句對電路的邏輯功能進行描述。

●行為級描述**:

module top

(//輸入

input a,

input b,

input c,

//輸出

output reg l);

always@(a,b,c)

begin

case()

3'b000: l = 1'b0;

3'b001: l = 1'b0;

3'b010: l = 1'b0;

3'b011: l = 1'b1;

3'b100: l = 1'b0;

3'b101: l = 1'b1;

3'b110: l = 1'b1;

3'b111: l = 1'b1;

default

: l =

1'bx;

endcase

endendmodule

●行為級描述rtl檢視:

verilog拓展知識:veriloghdl內建26個基本元件,其中14個門級元件,12個開關元件。以下為我們常用的門級元件。

結構化資料 半結構化資料 非結構化資料

結構化資料 即行資料,儲存在資料庫裡,可以用二維表結構來邏輯表達實現的資料 所謂半結構化資料,就是介於完全結構化資料 如關係型資料庫 物件導向資料庫中的資料 和完全無結構的資料 如聲音 影象檔案等 之間的資料,html文件就屬於半結構化資料。它一般是自描述的,資料的結構和內容混在一起,沒有明顯的區分...

結構化資料,非結構化資料,半結構化資料的區別

1.結構化資料 先有結構,再有資料 是指由二維表結構來邏輯表達和實現的資料,嚴格地遵循資料格式與長度規範,主要通過關係型資料庫進行儲存和管理。也稱作行資料,一般特點是 資料以行為單位,一行資料表示乙個實體的資訊,每一行資料的屬性是相同的。2.非結構化資料 先有資料,再有結構 半結構化資料,是結構化資...

結構化資料 半結構化資料和非結構化資料

本文 在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis,mangodb rdbms關聯式資料庫 oracle,mysql等 還有一些其它的資料庫如hbase,在這些資料庫中,又會出現結構化資料,非結構化資料,半結構化資料,下面列出各種資料型別 結構化...