Verilog語言簡息

2021-10-09 05:11:06 字數 1656 閱讀 8375

verilog語言簡息:

1:verilog的原始檔主要由*,v檔案或者*.**件組成。

2:*。v檔案一般由乙個或多個模組(module),或函式(functivn)組成。

3:一般情況下,乙個模組,乙個檔案,也可以多個模組使用乙個檔案的情況。

4:.**件一般情況下用來儲存全域性的定義,是verilog語法中的標頭檔案,在使用前一般需用include關鍵字包入。

組成要素:

*埠定義

*i/o說明

*內部訊號宣告

*功能定義

verilog抽象級別:

*系統級

*演算法級

*rtl級

*門級*開關級

其中系統級,演算法級屬於行為級。

fpga可分為lut,d觸發器,邏輯門,pll等基本元素組成。

硬體和軟體描述語言的區別:

硬體描述語言:順序執行,並行處理,時序描述。

軟體描述語言:順序執行,並行處理。

verilog設計流程:

*查詢表

*d觸發器

*2—1選擇器

*邏輯電路

verilog資料型別:

暫存器資料型別各類很多,如reg(常用),integer,real等。

*reg_(a0); //定義乙個位寬為1bit的暫存器a0。

*reg_ [3:0](a1); //定義乙個位寬為4bit的暫存器a1

*reg[3:0]_a2,a3,a4; //定義3個位寬為4bit的暫存器

鎖存器:

always@(enable)

if(enable) a<=d; //電平觸發

觸發器:

always@(posedge clk)

if (enable) q<=d;

(reg___register)

posedge==positive edge…….risingedge

always@(敏感表)

敏感表:由敏感量組成,當敏感量的值發生變化,程式將會執行一遍。

線網資料型別,種類很多如:(wire常用的),tri,wand等。

賦值方式:wire,a=1』b1;

assign,b=4;b1010;

引數資料型別:(就是乙個常量)

parameter addr_bus=8』d14; //定義位址匯流排位寬為14;

localoaram data_bus=8』d10; //定義資料匯流排位寬為14;

什麼是常量:常量的定義便是不可改變。

verilog的模組例化:

層次電路設計,模組例化

reg,wire型別可以傳遞(賦值)給下一層的input;parameter也可以的作為常數傳給下一層的input.

reg不能遞(賦值)給下一層模組output

如果wire已經被賦值,那麼這個訊號不能連線下一層的output

原則:兩個或者更多個output不能連線在一起,除非都是高阻輸出。

餓了(下次再寫)

verilog語言中 與 的區別

邏輯相等 邏輯全等 1 邏輯相等 兩個運算元逐位比較,如果兩個進行比較的位是不定態 x 或者高阻態 z 則輸出x displayb 4 b0011 4 b1010 0 displayb 4 b0011 4 b1x10 1 displayb 4 b1010 4 b1x10 x displayb 4 b...

Verilog語言介紹狀態機

狀態暫存器由一組觸發器組成,用來記憶狀態機當前所處的狀態,狀態的改變只發生在時鐘的跳變沿。狀態是否改變 如何改變,取決於組合邏輯f的輸出,f是當前狀態和輸入訊號的函式。狀態機的輸出是由輸出組合邏輯g提供的,g也是當前狀態和輸入訊號的函式。狀態機設計方法 假設一天的生活有4個狀態 睡覺 學習 吃飯 娛...

一種輕鬆掌握Verilog語法的至簡設計學習方法

一種輕鬆掌握verilog語法的至簡設計學習方法 在經歷 中興 華為 斷供事件之後,全國自上之下全力推動 卡脖子 技術攻關,國內的半導體行業面臨巨大的發展困難,也迎來史無先例的發展機遇,今年以來,晶元設計 fpga設計人才的市場需求急劇上公升,我們幾乎每星期都會收到企業 機構關於fpga人才的推薦需...