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人才的推薦需...