Verilog學習筆記(五)

2021-08-10 12:09:42 字數 1887 閱讀 3956

verilog的結構化描述形式

在veriloghdl中可使用如下方式描述結構:

1)內建門原語(在門級);

2)開關級原語(在電晶體級);

3)使用者定義的原語(在門級);

4)模組例項(建立層次結構)。

在這一例項中,模組包含門的例項語句,也就是說包含內建門xor、and和or的例項語句。門例項由線網型別變數s1、t1、t2和t3互連。由於沒有指定的順序,門例項語句可以以任何順序出現;圖中顯示了純結構;xor、and和or是內建門原語;x1、x2、a1等是例項名稱。緊跟在每個門後的訊號列表是它的互連;列表中的第乙個是門輸出,餘下的是輸入。例如,s1與xor門例項x1的輸出連線,而a和b與例項x1的輸入連線。

4位全加器可以使用4個1位全加器模組描述。下面是4位全加器的結構描述形式。

modulefourbitfa(fa,fb,fcin,fsum,fcout); 

parametersize=4;

input[size:1]fa,fb;

output[size:1]fsum

inputfcin;

inputfcout;

wire[1:size-1]ftemp;

fa_str

fa1(.a(fa[1]),.b(fb[1]),.cin(fcin),

.sum(fsum[1]),.cout(ftemp[2])),

fa2(.a(fa[2]),.b(fb[2]),.cin(ftemp[1]),

.sum(fsum[2]),.cout(ftemp[2])),

fa3(fa[3],fb[3],ftemp[2],fsum[3],ftemp[3],

fa4(fa[4],fb[4],ftemp[3],fsum[4],fcout);

endmodule

在這一例項中,模組例項用於建模4位全加器。在模組例項語句中,埠可以與名稱或位置關聯。前兩個例項fa1和fa2使用命名關聯方式,也就是說,埠的名稱和它連線的線網被顯式描述(每乙個的形式都為「.port_name(net_name))。最後兩個例項語句,例項fa3和fa4使用位置關聯方式將埠與線網關聯。這裡關聯的順序很重要,例如,在例項fa4中,第乙個fa[4]與fa_str的埠a連線,第二個fb[4]與fa_str的埠b連線,餘下的由此類推。

verilog-混合設計描述方式

在模組中,結構的和行為的結構可以自由混合。也就是說,模組描述中可以包含例項化的門、模組例項化語句、連續賦值語句以及always語句和initial語句的混合。它們之間可以相互包含。來自always語句和initial語句(切記只有暫存器型別資料可以在這兩種語句中賦值)的值能夠驅動門或開關,而來自於門或連續賦值語句(只能驅動線網)的值能夠反過來用於觸發always語句和initial語句。

下面是混合設計方式的1位全加器例項。

module fa_mix (a, b, cin, sum, cout); 

input a,b, cin;

output sum, cout;

reg cout;

reg t1, t2, t3;

wire s1;

xor x1(s1, a, b); 

// 門例項語句。

always

@ ( a or b or cin ) begin 

// always 語句。

t1 = a & cin;

t2 = b & cin;

t3 = a & b;

cout = (t1| t2) | t3;

endassign sum = s1 ^ cin; 

// 連續賦值語句。

endmodule

只要a或b上有事件發生,門例項語句即被執行。只要a、b或cin上有事件發生,就執行always 語句,並且只要s 1或c i n上有事件發生,就執行連續賦值語句。

VGA學習筆記(verilog

參考大大大神 杜老師實驗 關於本實驗採用的vga引數解釋 800 600 72hz 800 600解析度 800 行同步訊號區間內,應該連續傳送800個有效的rgb資料。此時有效訊號是rgb資料 600 場同步訊號區間內,應該連續傳送600個有效的行訊號。此時有效訊號是行訊號。同步頭訊號 下降沿可作...

Verilog學習筆記(四)

initial語句 在 中只執行一次,用於初始化變數,描述一次性行為,在 時刻0開始執行。下面是initial語句的示例 timescale 1ns 1ns moduletest pop,pid outputpop,pid regpop,pid initial begin pop 0 語句1。pid...

Verilog學習筆記(二) 模組

模組是 verilog 的基本描述單位,用於描述某個設計的功能或結構及其與其他模組通訊的外部埠。乙個設計的結構可使用開關級原語 門級原語和使用者定義的原語方式描述 設計的資料流行為使用連續賦值語句進行描述 時序行為使用過程結構描述。乙個模組可以在另乙個模組中使用。乙個模組的基本語法如下 module...