verilog中有哪幾種方法描述邏輯功能

時間 2022-01-14 13:25:12

1樓:杜仲杜仲杜仲

verilog hdl 有多中描述風格,具體可以分為:結構描述,資料流描述,行為描述,混合描述。

結構描述是指通過呼叫邏輯原件,描述它們之間的連線來建立邏輯電路的verilog hdl模型。這裡的邏輯元件包括內建邏輯閘、自主研發的已有模組、商業ip模組。所以結構描述也分為門級結構描述和模組級結構描述。

通過觀察是否有功能模組或原語的例項化可以判斷是否有結構描述。

資料流描述是指根據訊號之間的邏輯關係,採用持續賦值語句描述邏輯電路的方式。通過觀察是否使用assign賦值語句可以判斷是否有資料流描述。

行為描述是指只注重實現的演算法,不關心具體的硬體實現細節。這與c語言程式設計非常類似。通過觀察是否使用initial 或always語句塊可以判斷是否有行為描述。

混合描述是指以上幾種描述方法都存在的一種描述方式。具體在一個工程中,不可能只是用單獨哪一種描述方式,一般都是各種描述方式的混合。

邏輯電路的結構描述側重於表示一個電路由哪些基本元件組成,以及這些基本元件的相互連線關係。邏輯電路的資料流描述側重於邏輯表示式以及verilog hdl中運算子的靈活運用。邏輯電路的行為描述側重於電路的輸入輸出的因果關係(行為特性),即在何種輸入條件下,產生何種輸出(進行何種操作),並不關心電路的內部結構。

eda綜合工具能自動將行為描述轉換成電路結構,形成網表檔案。當電路規模較大貨時序關係較為複雜時,通常採用行為描述方式進行設計。

在數位電路設計中,暫存器傳輸級(rtl)描述在很多情況下時鐘能夠被邏輯綜合工具接受的行為級和資料流級的混合描述。因此rtl級描述的目標就是可綜合,而行為級描述的目標就是實現特定的功能而沒有可綜合的限制。並不是所有的行為級描述都可以被綜合。

同樣是for語句,如果迴圈條件是常數,就是rtl的,如果是變數,就是行為級的。

verilog中有哪幾種型別的賦值語句,說明它們的區別,並舉例

2樓:硪丨曖戀

在verilog中有兩種型別的賦值語句 連續賦值和過程賦值 賦值表示式由三個部分組成 左

值賦值運算子=或<= 和右值右值可以是任何型別的資料包括net型和register型但對連續

賦值 左值必須是net型別的資料 而過程賦值 左值必須是register型別的資料 下面將作詳細描

述1連續賦值

在initial或always外的assign賦值語句 稱為連續賦值語句 一般在描述純組合電路時使用 例

如wire out //型別定義左值必須是net型別包括wire tri wand wor等等

assign out = a + b //綜合結果為加法器

assign out = en ? a : b //多路選擇器

assign out = en ? in : z //三態門

也可以在資料定義時同時進行連續賦值如

wire out = a + b

使用連續賦值語句 所有右值都是敏感訊號 當右值發生變化時 計算表示式的值 並將結

果傳給左值具有組合電路的特性輸入變化輸出立即變化

2過程賦值

在initial或always塊中的賦值語句 稱為過程賦值語句 包括三種 blocking賦值

non-blocking賦值和過程連續賦值assign/deassign

值描述時序邏輯電路使用blocking賦值語句描述組合邏輯電路例如

reg x,y,z;

//non-blocking assignment

always @(posedge clk)

begin

x <= a && b;

y <= x;

z <= y;

endreg x,y,z;

//blocking assignment

always @(posedge clk)

begin

x = a && b;

y = x;

z = y;

end在verilog中有兩種型別的賦值語句 連續賦值和過程賦值 賦值表示式由三個部分組成 左

值賦值運算子=或<= 和右值右值可以是任何型別的資料包括net型和register型但對連續

賦值 左值必須是net型別的資料 而過程賦值 左值必須是register型別的資料 下面將作詳細描

述1連續賦值

在initial或always外的assign賦值語句 稱為連續賦值語句 一般在描述純組合電路時使用 例

如wire out //型別定義左值必須是net型別包括wire tri wand wor等等

assign out = a + b //綜合結果為加法器

assign out = en ? a : b //多路選擇器

assign out = en ? in : z //三態門

也可以在資料定義時同時進行連續賦值如

wire out = a + b

使用連續賦值語句 所有右值都是敏感訊號 當右值發生變化時 計算表示式的值 並將結

果傳給左值具有組合電路的特性輸入變化輸出立即變化

2過程賦值

在initial或always塊中的賦值語句 稱為過程賦值語句 包括三種 blocking賦值

non-blocking賦值和過程連續賦值assign/deassign

值描述時序邏輯電路使用blocking賦值語句描述組合邏輯電路例如

reg x,y,z;

//non-blocking assignment

always @(posedge clk)

begin

x <= a && b;

y <= x;

z <= y;

endreg x,y,z;

//blocking assignment

always @(posedge clk)

begin

x = a && b;

y = x;

z = y;end

3樓:匿名使用者

時序電路邏輯功能描述方式 有哪些?

4樓:匿名使用者

時序,就是按照復時間的先後制

順序,而且這個時間與順序必須是可控的,可人為干涉、臨時調整的。組合電路里訊號傳輸也要時間,但這叫傳輸延時,訊號輸出的時間只取決於輸入時間,電路定型後即不可變更.觸發器具有鎖存能力,同時也能在需要的時候扇出鎖存的內容,是時序電路的核心部件.

至於為什麼是邊沿觸發,這是由半導體器件特性決定的,你把數電的觸發器原型溫習一遍,解剖到與非門級就能明白了.為什麼要用時序電路,時序電路雖然有很多應用場合,但主要還是為了同步.同步可以在多個輸入都到達並穩定後再產生唯一輸出,防止毛刺、競爭導致的功能紊亂。

組合邏輯電路設計(使用verilog hdl設計):分別採用行為描述和結構描述設計一個一位全加器。

5樓:峰峰峰

行為描述

moudle(a,b,ci,sum,c)

input a,b,ci;

output sum,c;

assign =a+b+ci;

endmodle

結構描述:

moudle(a,b,ci,sum,c0)input a,b,ci;

output sum,co;

wire x,y,z;

xor #10 u1(x,a,b);

and #10 u2(y,ci,x);

and #10 u3(z,a,b);

or #10 u4(c0,y,z);

xor #10 u5(sum,c0,x);

endmodule

鳥春不錯啊!!!這只是個人見解啊,不對不負責啊~~廣東工業大學資訊工程學院08電信(1)班不錯啊~~

6樓:匿名使用者

行為描述

moudle (a, b, ci, cout, co);

input a, b, ci; // ci是進位輸入output cout, co; // cout是和,co是進位輸出reg cout;

reg co;

always @ ( a or b or ci )begin

cout = a ^ b ^ ci;

co = (a & b) | (a & ci) | (b & ci);

endendmodule

結構描述

moudle (a, b, ci, cout, co);

input a, b, ci; // ci是進位輸入output cout, co; // cout是和,co是進位輸出assign cout = a + b + ci;

assign co = (a & b) | (a & ci) | (b & ci);

endmodule

7樓:匿名使用者

我明天eda考試了,哈哈

8樓:匿名使用者

行為描述和結構描述互換吧

verilog中定義了一系列關鍵字,它們有哪些

verilog有4種邏輯狀態0、1、z、x對應低、高電平、高阻態、不確定狀態;什麼情況下是x狀態?

每個verilog hdl程式包括哪4個主要部分

9樓:娛樂小八卦啊

每個verilog程式包括四個主要部分:埠定義、i/o說明、內部訊號宣告、功能定義。verilog hdl是一種用於數字邏輯電路設計的語言。

用verilog hdl描述的電路設計就是該電路的verilog hdl模型。

verilog hdl既是一種行為描述的語言也是一種結構描述的語言。這也就是說,既可以用電路的功能描述也可以用元器件和它們之間的連線來建立所設計電路的verilog hdl模型。verilog模型可以是實際電路的不同級別的抽象。

這些抽象的級別和它們對應的模型型別共有以下五種:

1、系統級(system):用高階語言結構實現設計模組的外部效能的模型。

2、演算法級(algorithm):用高階語言結構實現設計演算法的模型。

3、rtl級(register transfer level):描述資料在暫存器之間流動和如何處理這些資料的模型。

4、門級(gate-level):描述邏輯閘以及邏輯閘之間的連線的模型。

5、開關級(switch-level):描述器件中三極體和儲存節點以及它們之間連線的模型。

擴充套件資料

一個複雜電路系統的完整verilog hdl模型是由若干個verilog hdl模組構成的,每一個模組又可以由若干個子模組構成。其中有些模組需要綜合成具體電路,而有些模組只是與使用者所設計的模組互動的現存電路或激勵訊號源。

利用verilog hdl語言結構所提供的這種功能就可以構造一個模組間的清晰層次結構來描述極其複雜的大型設計,並對所作設計的邏輯電路進行嚴格的驗證。verilog hdl行為描述語言作為一種結構化和過程性的語言,其語法結構非常適合於演算法級和rtl級的模型設計。

verilog的設計初衷是成為一種基本語法與c語言相近的硬體描述語言。這是因為c語言在verilog設計之初,已經在許多領域得到廣泛應用,c語言的許多語言要素已經被許多人習慣。一種與c語言相似的硬體描述語言,可以讓電路設計人員更容易學習和接受。

不過,verilog與c語言還是存在許多差別。另外,作為一種與普通計算機程式語言不同的硬體描述語言,它還具有一些獨特的語言要素,例如向量形式的線網和暫存器、過程中的非阻塞賦值等。總的來說,具備c語言的設計人員將能夠很快掌握verilog硬體描述語言。

美白方法有哪幾種,牙齒美白有哪幾種方法

蒸蒸蒸蒸靖 您好,知我藥妝肌膚顧問很高興幫助您。只需要把 紙泡在牛奶裡,然後敷在臉上就好。你只要準備 紙,記得喝牛 ne美白茶好 肌膚水嫩水嫩 hjq 有很多種的,啊,等等 牙齒美白有哪幾種方法 易燃易爆小小酥 牙齒美白,首先需注意 1,不要吸菸,因為煙含大量的煙油長時間吸菸,會導致牙齒變黃等問題。...

排毒養生有哪幾種方法,排毒方法有哪幾種?

1.主動咳嗽法空氣中的有害物之多令人咋舌,包括廠礦 機動車輛及生活燃料排放的廢物,約在100種以上。這些有害物隨呼吸侵入肺部,可損害支氣管與肺泡等肺組織,還可從這裡遊人血液,導致血液中毒而危害全身器官。此時,可採用咳嗽的辦法予以清除。方法是,每天清晨 中午或晚睡前到室外選擇一處空氣新鮮之地做深吸氣,...

安裝系統有哪幾種方法

茶世 系統安裝方式有 1 硬碟安裝2 u盤安裝3 光碟安裝 電腦安裝系統方法很多,除費時麻煩現在很少應用的完全安裝方法外,常用的為克隆安裝,其方法又分 硬碟安裝 u盤安裝和光碟安裝等。以下所列可擇一操作。1 硬碟安裝 1 開機或重啟後按f11鍵或f8鍵,看有沒有安裝一鍵ghost或類似軟體,有則選擇...