版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 2.3.1 Verilog的基本語(yǔ)法規(guī)則 2.3.2 變量的數(shù)據(jù)類型 2.3.3 Verilog程序的基本結(jié)構(gòu) 2.3.4 邏輯功能的仿真與測(cè)試2.3 硬件描述語(yǔ)言Verilog HDL基礎(chǔ)硬件描述語(yǔ)言HDL(Hardware Description Language )類似于高級(jí)程序設(shè)計(jì)語(yǔ)言。它是一種以文本形式來(lái)描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語(yǔ)言,用它可以表示邏輯電路圖、邏輯表達(dá)式,復(fù)雜數(shù)字邏輯系統(tǒng)所的邏輯功能。HDL是高層次自動(dòng)化設(shè)計(jì)的起點(diǎn)和基礎(chǔ).2.3 硬件描述語(yǔ)言Verilog HDL基礎(chǔ)什么是硬件描述語(yǔ)言HDL具有特殊結(jié)構(gòu)能夠?qū)τ布壿嬰娐返墓δ苓M(jìn)行描述的一種高級(jí)編程語(yǔ)言這種特殊結(jié)
2、構(gòu)能夠:描述電路的連接描述電路的功能在不同抽象級(jí)上描述電路描述電路的時(shí)序表達(dá)具有并行性HDL主要有兩種:Verilog和VHDLVerilog起源于C語(yǔ)言,因此非常類似于C語(yǔ)言,容易掌握VHDL起源于ADA語(yǔ)言,格式嚴(yán)謹(jǐn),不易學(xué)習(xí)。VHDL出現(xiàn)較晚,但標(biāo)準(zhǔn)化早。IEEE 1706-1985標(biāo)準(zhǔn)。為什么使用HDL使用HDL描述設(shè)計(jì)具有下列優(yōu)點(diǎn):設(shè)計(jì)在高層次進(jìn)行,與具體實(shí)現(xiàn)無(wú)關(guān)設(shè)計(jì)開發(fā)更加容易早在設(shè)計(jì)期間就能發(fā)現(xiàn)問題能夠自動(dòng)的將高級(jí)描述映射到具體工藝實(shí)現(xiàn)在具體實(shí)現(xiàn)時(shí)才做出某些決定HDL具有更大的靈活性可重用可以選擇工具及生產(chǎn)廠HDL能夠利用先進(jìn)的軟件更快的輸入易于管理Verilog的歷史Veril
3、og HDL是在1983年由GDA(GateWay Design Automation)公司的Phil Moorby所創(chuàng)。Phi Moorby后來(lái)成為Verilog-XL的主要設(shè)計(jì)者和Cadence公司的第一個(gè)合伙人。在19841985年間,Moorby設(shè)計(jì)出了第一個(gè)Verilog-XL的仿真器。1986年,Moorby提出了用于快速門級(jí)仿真的XL算法。1990年,Cadence公司收購(gòu)了GDA公司1991年,Cadence公司公開發(fā)表Verilog語(yǔ)言,成立了OVI(Open Verilog International)組織來(lái)負(fù)責(zé)Verilog HDL語(yǔ)言的發(fā)展。1995年制定了Verilo
4、g HDL的IEEE標(biāo)準(zhǔn),即IEEE1364。計(jì)算機(jī)對(duì)HDL的處理:邏輯綜合 是指從HDL描述的數(shù)字邏輯電路模型中導(dǎo)出電路基本元件列表以及元件之間的連接關(guān)系(常稱為門級(jí)網(wǎng)表)的過程。類似對(duì)高級(jí)程序語(yǔ)言設(shè)計(jì)進(jìn)行編譯產(chǎn)生目標(biāo)代碼的過程.產(chǎn)生門級(jí)元件及其連接關(guān)系的數(shù)據(jù)庫(kù),根據(jù)這個(gè)數(shù)據(jù)庫(kù)可以制作出集成電路或印刷電路板PCB。邏輯仿真 是指用計(jì)算機(jī)仿真軟件對(duì)數(shù)字邏輯電路的結(jié)構(gòu)和行為進(jìn)行預(yù)測(cè)。仿真器對(duì)HDL描述進(jìn)行解釋,以文本形式或時(shí)序波形圖形式給出電路的輸出。在仿真期間如發(fā)現(xiàn)設(shè)計(jì)中存在錯(cuò)誤,就再要對(duì)HDL描述進(jìn)行及時(shí)修改。2.3.1 Verilog語(yǔ)言的基本語(yǔ)法規(guī)則為對(duì)數(shù)字電路進(jìn)行描述(常稱為建模),V
5、erilog語(yǔ)言規(guī)定了一套完整的語(yǔ)法結(jié)構(gòu)。1間隔符: Verilog 的間隔符主要起分隔文本的作用,可以使文本錯(cuò)落有致,便于閱讀與修改。間隔符包括空格符(b)、Tab 鍵(t)、換行符(n)及換頁(yè)符。2注釋符:注釋只是為了改善程序的可讀性,在編譯時(shí)不起作用。多行注釋符(用于寫多行注釋): /* - */;單行注釋符 :以/開始到行尾結(jié)束為注釋文字。為了表示數(shù)字邏輯電路的邏輯狀態(tài),Verilog語(yǔ)言規(guī)定了4種基本的邏輯值。 0邏輯0、邏輯假 1邏輯1、邏輯真 x或X不確定的值(未知狀態(tài)) z或Z高阻態(tài)標(biāo)識(shí)符:給對(duì)象(如模塊名、電路的輸入與輸出端口、變量等)取名所用的字符串。以英文字母或下劃線開始
6、如,clk、counter8、_net、bus_A 。關(guān)鍵詞:是Verilog語(yǔ)言本身規(guī)定的特殊字符串,用來(lái)定義語(yǔ)言的結(jié)構(gòu)。例如,module、endmodule、input、output、wire、reg、and等都是關(guān)鍵詞。關(guān)鍵詞都是小寫,關(guān)鍵詞不能作為標(biāo)識(shí)符使用 。4邏輯值集合3標(biāo)識(shí)符和關(guān)鍵詞5常量及其表示實(shí)數(shù)型常量十進(jìn)制記數(shù)法 如: 0.1、2.0、5.67科學(xué)記數(shù)法 如: 23_5.1e2、5E4 23510.0、 0.0005Verilog允許用參數(shù)定義語(yǔ)句定義一個(gè)標(biāo)識(shí)符來(lái)代表一個(gè)常量,稱為符號(hào)常量。定義的格式為:parameter 參數(shù)名1常量表達(dá)式1,參數(shù)名2常量表達(dá)式2,;如
7、 parameter BIT=1, BYTE=8, PI=3.14;6字符串:字符串是雙撇號(hào)內(nèi)的字符序列常量十進(jìn)制數(shù)的形式的表示方法:表示有符號(hào)常量例如:30、2帶基數(shù)的形式的表示方法: 表示常量格式為:整數(shù)型例如:3b101、5o37、8he3,8b1001_0011 2.3.2 變量的數(shù)據(jù)類型1.線網(wǎng)類型:是指輸出始終根據(jù)輸入的變化而更新其值的變量,它一般指的是硬件電路中的各種物理連接. 例:wire L; /將上述電路的輸出信號(hào)L聲明為網(wǎng)絡(luò)型變量 wire 7:0 data bus; /聲明一個(gè)8-bit寬的網(wǎng)絡(luò)型總線變量常用的網(wǎng)絡(luò)類型由關(guān)鍵詞wire定義wire型變量的定義格式如下:w
8、ire n-1:0 變量名1,變量名2,變量名n;變量寬度例:網(wǎng)絡(luò)型變量L的值由與門的驅(qū)動(dòng)信號(hào)a和b所決定,即La&b。a、b的值發(fā)生變化,線網(wǎng)L的值會(huì)立即跟著變化。 & b a L 寄存器型變量對(duì)應(yīng)的是具有狀態(tài)保持作用的電路元件,如觸發(fā)器寄存器。寄存器型變量只能在initial或always內(nèi)部被賦值。2.寄存器類型寄存器類型功能說(shuō)明reg常用的寄存器型變量integer32位帶符號(hào)的整數(shù)型變量real64位帶符號(hào)的實(shí)數(shù)型變量time64位無(wú)符號(hào)的時(shí)間變量4種寄存器類型的變量例 reg clock;/定義一個(gè)1位寄存器變量 reg 3:0 counter; /定義一個(gè)4位寄存器變量抽象描述,
9、不對(duì)應(yīng)具體硬件2.每個(gè)模塊先要進(jìn)行端口的定義,并說(shuō)明輸入(input)和輸出(output),然后對(duì)模塊功能進(jìn)行描述。2.3.3 Verilog程序的基本結(jié)構(gòu)Verilog使用大約100個(gè)預(yù)定義的關(guān)鍵詞定義該語(yǔ)言的結(jié)構(gòu)1. Verilog的HDL程序由模塊構(gòu)成。每個(gè)模塊的內(nèi)容都是嵌在關(guān)鍵詞module和endmodule兩個(gè)語(yǔ)句之間。每個(gè)模塊實(shí)現(xiàn)特定的功能。3.除了endmodule語(yǔ)句外,每個(gè)語(yǔ)句后必須有分號(hào)。4.可以用/* - */和/.對(duì)Verilog HDL程序的任何部分做注釋。模塊定義的一般語(yǔ)法結(jié)構(gòu)如下:端口類型說(shuō)明電路結(jié)構(gòu)描述模塊名數(shù)據(jù)類型說(shuō)明例:用結(jié)構(gòu)描述方式建立門電路Veril
10、og模型/Gate-level description of simple circuitmodule mux2to1(a, b, sel, out); input a, b, sel; /定義輸入信號(hào) output out; /定義輸出信號(hào) wire selnot, a1, b1 ; /定義內(nèi)部節(jié)點(diǎn)信號(hào)數(shù)據(jù)類型/下面對(duì)電路的邏輯功能進(jìn)行描述 not U1(selnot, sel); and U2(a1, a, selnot); and U3(b1, b, sel); or U4(out, a1, b1);endmodule 2.3.4 邏輯功能的仿真與測(cè)試邏輯電路的設(shè)計(jì)塊完成后,就要測(cè)試這個(gè)
11、設(shè)計(jì)塊描述的邏輯功能是否正確。為此必須在輸入端口加入測(cè)試信號(hào),而從其輸出端口檢測(cè)其結(jié)果是否正確,這一過程常稱為搭建測(cè)試平臺(tái)。根據(jù)仿真軟件的不同,搭建測(cè)試平臺(tái)的方法也不同。數(shù)字鐘的仿真波形Verilog的用途Verilog的主要應(yīng)用包括:ASIC和FPGA工程師編寫可綜合的RTL代碼高抽象級(jí)系統(tǒng)仿真進(jìn)行系統(tǒng)結(jié)構(gòu)開發(fā)測(cè)試工程師用于編寫各種層次的測(cè)試程序用于ASIC和FPGA單元或更高層次的模塊的模型開發(fā)Verilog與C的主要不同點(diǎn) Verilog 有許多語(yǔ)法規(guī)則與 C 語(yǔ)言一致。 但與 C 語(yǔ)言有根本的區(qū)別:- 并行性- 塊的含義: initial 塊 和 always塊兩種賦值語(yǔ)句: 阻塞 賦
12、值 “ = ” 非阻塞賦值 “= ”抽象級(jí)(Levels of Abstraction)Verilog既是一種行為描述的語(yǔ)言也是一種結(jié)構(gòu)描述語(yǔ)言。Verilog模型可以是實(shí)際電路的不同級(jí)別的抽象。這些抽象的級(jí)別包括:系統(tǒng)說(shuō)明-設(shè)計(jì)文檔/算法描述RTL/功能級(jí)-Verilog門級(jí)/結(jié)構(gòu)級(jí)-Verilog版圖/物理級(jí)-幾何圖形行為綜合綜合前仿真邏輯綜合綜合后仿真版圖抽象級(jí)(Levels of Abstraction)在抽象級(jí)上需要進(jìn)行折衷系統(tǒng)說(shuō)明-設(shè)計(jì)文檔/算術(shù)描述RTL/功能級(jí)-Verilog門級(jí)/結(jié)構(gòu)級(jí)-Verilog版圖/物理級(jí)-幾何圖形詳細(xì)程度 低 高輸入/仿真速度 高 低抽象級(jí)(Leve
13、ls of Abstraction)Verilog可以在三種抽象級(jí)上進(jìn)行描述行為級(jí) 用功能塊之間的數(shù)據(jù)流對(duì)系統(tǒng)進(jìn)行描述 在需要時(shí)在函數(shù)塊之間進(jìn)行調(diào)度賦值。RTL級(jí)/功能級(jí)用功能塊內(nèi)部或功能塊之間的數(shù)據(jù)流和控制信號(hào)描述系統(tǒng)基于一個(gè)已定義的時(shí)鐘的周期來(lái)定義系統(tǒng)模型結(jié)構(gòu)級(jí)/門級(jí)用基本單元(primitive)或低層元件(component)的連接來(lái)描述系統(tǒng)以得到更高的精確性,特別是時(shí)序方面。在綜合時(shí)用特定工藝和低層元件將RTL描述映射到門級(jí)網(wǎng)表抽象級(jí)(Levels of Abstraction)設(shè)計(jì)工程師在不同的設(shè)計(jì)階段采用不同的抽象級(jí)首先在行為級(jí)描述各功能塊,以降低描述難度,提高仿真速度。在綜合前
14、將各功能模塊進(jìn)行RTL級(jí)描述。用于綜合的庫(kù)中的大多數(shù)單元采用結(jié)構(gòu)級(jí)描述。在本課程中的結(jié)構(gòu)級(jí)描述部分將對(duì)結(jié)構(gòu)級(jí)(門級(jí))描述進(jìn)行更詳細(xì)的說(shuō)明。Verilog還有一定的晶體管級(jí)描述能力及算法級(jí)描述能力行為級(jí)和RTL級(jí)MUX的行為可以描述為:只要信號(hào)a或b或sel發(fā)生變化,如果sel為0則選擇a輸出;否則選擇b輸出。module muxtwo (out, a, b, sel); input a, b, sel; output out; reg out; always ( sel or a or b) if (! sel) out = a; else out = b; endmodule這個(gè)行為級(jí)RTL
15、描述不處理X和Z狀態(tài)輸入,并且沒有延時(shí)。在行為級(jí)模型中,邏輯功能描述采用高級(jí)語(yǔ)言結(jié)構(gòu),如, while,wait,if, case。Testbench(test fixture)通常采用行為級(jí)描述。所有行為級(jí)結(jié)構(gòu)在testbench描述中都可以采用。RTL模型中數(shù)據(jù)流都是基于時(shí)鐘的。任何時(shí)鐘元件在時(shí)鐘沿處的行為都要精確描述。RTL級(jí)描述是行為級(jí)Verilog的子集。結(jié)構(gòu)級(jí)描述結(jié)構(gòu)級(jí)Verilog適合開發(fā)小規(guī)模元件,如ASIC和FPGA的單元Verilog內(nèi)部帶有描述基本邏輯功能的基本單元(primitive),如and門。用戶可以定義自己的基本單元UDP(User Defined Privitives)綜合產(chǎn)生的結(jié)果網(wǎng)表通常是結(jié)構(gòu)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版委托借款合同范本
- 2024年雙方關(guān)于量子計(jì)算機(jī)技術(shù)研發(fā)合同
- 出租門面合同范本2024年
- 房地產(chǎn)項(xiàng)目聯(lián)營(yíng)開發(fā)合同樣本
- 廣告位合作合同模板
- 2024自建房購(gòu)房合同協(xié)議書范本
- 2024報(bào)價(jià)合同格式范本質(zhì)押合同格式范本2
- 2024生鮮品采購(gòu)合同范本
- 2024購(gòu)銷合同范本(手機(jī)美容保護(hù)膜系統(tǒng)購(gòu)銷)范文
- 房產(chǎn)中介合同樣本
- (完整版)病例演講比賽PPT模板
- 直播合作協(xié)議
- 社科類課題申報(bào)工作輔導(dǎo)報(bào)告課件
- 頭痛的診治策略講課課件
- 沙利文-內(nèi)窺鏡行業(yè)現(xiàn)狀與發(fā)展趨勢(shì)藍(lán)皮書
- 國(guó)家開放大學(xué)一網(wǎng)一平臺(tái)電大《建筑測(cè)量》實(shí)驗(yàn)報(bào)告1-5題庫(kù)
- 規(guī)范診療服務(wù)行為專項(xiàng)整治行動(dòng)自查表
- (新平臺(tái))國(guó)家開放大學(xué)《建設(shè)法規(guī)》形考任務(wù)1-4參考答案
- 精益工廠布局及精益物流規(guī)劃課件
- 注射液無(wú)菌檢查的方法學(xué)驗(yàn)證方案
- 2023年口腔醫(yī)學(xué)期末復(fù)習(xí)-牙周病學(xué)(口腔醫(yī)學(xué))考試歷年真題薈萃帶答案
評(píng)論
0/150
提交評(píng)論