Verilog HDL 中三種建模方式
出處:CYQ11 發(fā)布于:2007-04-29 10:09:31
3.3 三種建模方式
在HDL的建模中,主要有結(jié)構(gòu)化描述方式、數(shù)據(jù)流描述方式和行為描述方式,下面分別舉例
說明三者之間的區(qū)別。
3.3.1 結(jié)構(gòu)化描述方式
結(jié)構(gòu)化的建模方式就是通過對電路結(jié)構(gòu)的描述來建模,即通過對器件的調(diào)用(HDL概念稱為
例化),并使用線網(wǎng)來連接各器件的描述方式。這里的器件包括Verilog HDL 的內(nèi)置門如與門and
,異或門xor等,也可以是用戶的一個設(shè)計。結(jié)構(gòu)化的描述方式反映了一個設(shè)計的層次結(jié)構(gòu)。
例[1]:一位全加器
圖4 一位全加器的結(jié)構(gòu)圖
代碼:
module FA_struct (A, B, Cin, Sum, Count);
input A;
input B;
input Cin;
2004-08-16 第12頁,共41頁
版權(quán)所有,侵權(quán)必究
絕密
Verilog HDL 入門教程請輸入文檔編號
output Sum;
output Count;
wire S1, T1, T2, T3;
// -- statements -- //
xor x1 (S1, A, B);
xor x2 (Sum, S1, Cin);
and A1 (T3, A, B );
and A2 (T2, B, Cin);
and A3 (T1, A, Cin);
or O1 (Cout, T1, T2, T3 );
endmodule
該實例顯示了一個全加器由兩個異或門、三個與門、一個或門構(gòu)成。S1、T1、T2、T3則是
門與門之間的連線。代碼顯示了用純結(jié)構(gòu)的建模方式,其中xor 、and、or 是Verilog HDL 內(nèi)置的門
器件。以 xor x1 (S1, A, B) 該例化語句為例:
xor 表明調(diào)用一個內(nèi)置的異或門,器件名稱xor ,代碼實例化名x1(類似原理圖輸入方式)。
括號內(nèi)的S1,A,B 表明該器件管腳的實際連接線(信號)的名稱,其中 A、B是輸入,S1是
輸出。其他同。
例[2]:兩位的全加器
兩位的全加器可通過調(diào)用兩個一位的全加器來實現(xiàn)。該設(shè)計的設(shè)計層次示意圖和結(jié)構(gòu)圖如
下:
Four_bit_FA
FA_struct FA_struct
A
B
Cin
Sum
CountFA
A
B
Cin
Sum
CountFA
Four_bit_FA
FA
_struct
_struct
FCin
FB
FSum
FCount
圖5 兩位全加器的結(jié)構(gòu)示意圖
代碼:
module Four_bit_FA (FA, FB, FCin, FSum, FCout ) ;
parameter SIZE = 2;
input [SIZE:1] FA;
2004-08-16 第13頁,共41頁
版權(quán)所有,侵權(quán)必究
絕密
Verilog HDL 入門教程請輸入文檔編號
input [SIZE:1] FB;
input FCin;
output [SIZE:1] FSum;
output FCout;
wire FTemp;
FA_struct FA1(
.A (FA[1]),
.B (FB[1]),
.Cin (FCin) ,
.Sum (FSum[1]),
.Cout (Ftemp)
);
FA_struct FA2(
.A (FA[2]),
.B (FB[2]),
.Cin (FTemp) ,
.Sum (FSum[2]),
.Cout (FCount )
);
endmodule
該實例用結(jié)構(gòu)化建模方式進行一個兩位的全加器的設(shè)計,頂層模塊Four_bit_FA 調(diào)用了兩個一
位的全加器 FA_struct 。在這里,以前的設(shè)計模塊FA_struct 對頂層而言是一個現(xiàn)成的器件,頂層模
塊只要進行例化就可以了。
注意這里的例化中,端口映射(管腳的連線)采用名字關(guān)聯(lián),如 .A (FA[2] ) ,其中.A 表示
調(diào)用器件的管腳A,括號中的信號表示接到該管腳A的電路中的具體信號。
wire 保留字表明信號Ftemp 是屬線網(wǎng)類型(下面有具體描述)。
另外,在設(shè)計中,盡量考慮參數(shù)化的問題。
器件的端口映射必須采用名字關(guān)聯(lián)。
3.3.2 數(shù)據(jù)流描述方式
數(shù)據(jù)流的建模方式就是通過對數(shù)據(jù)流在設(shè)計中的具體行為的描述的來建模?;镜臋C制就
是用連續(xù)賦值語句。在連續(xù)賦值語句中,某個值被賦給某個線網(wǎng)變量(信號),語法如下:
assign [delay] net_name = expression;
如:assign #2 A = B;
2004-08-16 第14頁,共41頁
版權(quán)所有,侵權(quán)必究
絕密
Verilog HDL 入門教程請輸入文檔編號
在數(shù)據(jù)流描述方式中,還必須借助于HDL提供的一些運算符,如按位邏輯運算符:邏輯與
(&),邏輯或()等。
以上面的全加器為例,可用如下的建模方式:
圖6 一位全加器的結(jié)構(gòu)圖
`timescale 1ns/100ps
module FA_flow(A,B,Cin,Sum,Count)
input A,B,Cin;
output Sum, Count;
wire S1,T1,T2,T3;
assign # 2 S1 = A ^ B;
assign # 2 Sum = S1 ^ Cin;
assign #2 T3 = A & B;
assign #2 T1 = A & Cin;
assign #2 T2 = B & Cin ;
endmodule
注意在各assign 語句之間,是并行執(zhí)行的,即各語句的執(zhí)行與語句之間的順序無關(guān)。如上,當
A有個變化時,S1、T3、T1 將同時變化,S1的變化又會造成Sum的變化。
3.3.3 行為描述方式
行為方式的建模是指采用對信號行為級的描述(不是結(jié)構(gòu)級的描述)的方法來建模。在表示
方面,類似數(shù)據(jù)流的建模方式,但一般是把用initial 塊語句或always 塊語句描述的歸為行為建模方
式。行為建模方式通常需要借助一些行為級的運算符如加法運算符(+),減法運算符(-)等。
以下舉個例子,對initial 和always 語句的具體應用可看相關(guān)章節(jié)的介紹,這里,先對行為建模
方式有個概念。
例[1] 一位全加器的行為建模
module FA_behav1(A, B, Cin, Sum, Cout );
input A,B,Cin;
output Sum,Cout;
2004-08-16 第15頁,共41頁
版權(quán)所有,侵權(quán)必究
絕密
Verilog HDL 入門教程請輸入文檔編號
reg Sum, Cout;
reg T1,T2,T3;
always@ ( A or B or Cin )
begin
Sum = (A ^ B) ^ Cin ;
T1 = A & Cin;
T2 = B & Cin ;
T3 = A & B;
Cout = (T1 T2) T3;
end
endmodule
需要先建立以下概念:
1、只有寄存器類型的信號才可以在always和initial 語句中進行賦值,類型定義通過reg語句實
現(xiàn)。
2、always 語句是一直重復執(zhí)行,由敏感表(always 語句括號內(nèi)的變量)中的變量觸發(fā)。
3、always 語句從0 時刻開始。
4、在begin 和end 之間的語句是順序執(zhí)行,屬于串行語句。
例[2]:一位全加器的行為建模
module FA_behav2(A, B, Cin, Sum, Cout );
input A,B,Cin;
output Sum,Cout;
reg Sum, Cout;
always@ ( A or B or Cin )
begin
{Count ,Sum} = A + B + Cin ;
end
endmodule
在例2中,采用更加(更趨于行為級)描述方式,即直接采用“+”來描述加法。
{Count,Sum} 表示對位數(shù)的擴展,因為兩個1bit 相加,和有兩位,低位放在Sum 變量中,進位放
在Count 中。
3.3.4 混合設(shè)計描述
2004-08-16 第16頁,共41頁
版權(quán)所有,侵權(quán)必究
絕密
Verilog HDL 入門教程請輸入文檔編號
在實際的設(shè)計中,往往是多種設(shè)計模型的混合。一般地,對頂層設(shè)計,采用結(jié)構(gòu)描述方式,
對低層模塊,可采用數(shù)據(jù)流、行為級或兩者的結(jié)合。如上面的兩bit 全加器,對頂層模塊
(Four_bit_FA) 采用結(jié)構(gòu)描述方式對低層進行例化,對低層模塊(FA)可采用結(jié)構(gòu)描述、數(shù)據(jù)流描
述或行為級描述。
來源:零八我的愛
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)5G技術(shù)在智能制造中的應用與實踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機選型與現(xiàn)場應用技術(shù)指南2025/12/18 10:48:14
- 無線傳輸電路基礎(chǔ),射頻前端設(shè)計、天線匹配與鏈路預算計算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點與實現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應用全解析2025/9/3 10:29:21









