verilog入門基礎(chǔ)教程_第1頁
verilog入門基礎(chǔ)教程_第2頁
verilog入門基礎(chǔ)教程_第3頁
verilog入門基礎(chǔ)教程_第4頁
verilog入門基礎(chǔ)教程_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Verilog語言的根本語法規(guī)那么變量的數(shù)據(jù)類型Verilog程序的根本結(jié)構(gòu)2.3.4邏輯功能的仿真與測試2.3硬件描述語言VerilogHDL根底概述硬件描述語言HDL(HardwareDescriptionLanguag)類似于高級(jí)程序設(shè)計(jì)語言.它是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言,用它可以表示邏輯電路圖、邏輯表達(dá)式,復(fù)雜數(shù)字邏輯系統(tǒng)所的邏輯功能。HDL是高層次自動(dòng)化設(shè)計(jì)的起點(diǎn)和根底.2.3硬件描述語言VerilogHDL根底計(jì)算機(jī)對(duì)HDL的處理:邏輯綜合是指從HDL描述的數(shù)字邏輯電路模型中導(dǎo)出電路根本元件列表以及元件之間的連接關(guān)系〔常稱為門級(jí)網(wǎng)表〕的過程。邏輯綜合的結(jié)果產(chǎn)生門級(jí)元件及其連接關(guān)系的數(shù)據(jù)庫,根據(jù)這個(gè)數(shù)據(jù)庫可以制作出集成電路或印刷電路板PCB。邏輯仿真是指用計(jì)算機(jī)仿真軟件對(duì)數(shù)字邏輯電路的結(jié)構(gòu)和行為進(jìn)行預(yù)測.仿真器對(duì)HDL描述進(jìn)行解釋,以文本形式或時(shí)序波形圖形式給出電路的輸出。在仿真期間如發(fā)現(xiàn)設(shè)計(jì)中存在錯(cuò)誤,就再要對(duì)HDL描述進(jìn)行及時(shí)的修改。#起源于美國國防部提出的超高速集成電路研究方案,目的是為了把電子電路的設(shè)計(jì)意義以文字或文件的方式保存下來,以便其他人能輕易地了解電路的設(shè)計(jì)意義。1.HDL的產(chǎn)生#隨著集成電路的亞微米和深亞微米制造、設(shè)計(jì)技術(shù)的飛速開展,集成電路已進(jìn)入片上系統(tǒng)SOC〔Systemonachip〕時(shí)代。SOC通常是由硬件電路和運(yùn)行其上的系統(tǒng)軟件構(gòu)成。硬件電路一般使用HDL進(jìn)行描述.概述

FPGA開發(fā)流程與軟件(1)設(shè)計(jì)定義(2)HDLCode(3)功能仿真(4)邏輯綜合(5)前仿真(6)布局布線(7)后仿真(9)在系統(tǒng)測試邏輯仿真器邏輯綜合器FPGA廠家工具邏輯仿真器邏輯仿真器(8)靜態(tài)時(shí)序分析FPGA廠家工具:Altera的Max+PlusII、QuartusII,Xilinx的Foundation、ISE4.1等

VHDL和Verilog的功能較強(qiáng)屬于行為描述語言。兩種HDL均為IEEE標(biāo)準(zhǔn)。特別是Verilog由于其句法根源出自C語言,它相對(duì)VHDL好用好學(xué)2.幾種硬件描述語言ABEL(AdvancedBoleanEquationLanguage)VHDL(V--VeryHighSpeedIntegratedCircuit)VerilogHDL〔簡稱Verilog〕

能力〔capability〕VHDL結(jié)構(gòu)建模抽象能力強(qiáng)系統(tǒng)級(jí)-算法級(jí)-RTL級(jí)-邏輯級(jí)-門級(jí)Verilog結(jié)構(gòu)建模具體物理建模能力強(qiáng)算法級(jí)-RTL級(jí)-邏輯級(jí)-門級(jí)-版圖級(jí)3.常用VHDL與Verilog兩種語言的比較數(shù)據(jù)類型〔datatype〕VHDL是一種數(shù)據(jù)類型性極強(qiáng)的語言。支持用戶定義的數(shù)據(jù)類型。嚴(yán)格規(guī)定只有類型、字位相同的數(shù)據(jù)才能進(jìn)行轉(zhuǎn)遞和作用。能利用數(shù)據(jù)類型檢查編程的錯(cuò)誤。可以使用抽象(比如枚舉)類型為系統(tǒng)建模。Verilog數(shù)據(jù)類型簡單。只能由語言本身定義,不能由用戶定義。適于硬件結(jié)構(gòu)的建模,不適于抽象的硬件行為建模。易學(xué)性〔easiesttolearn〕VHDL是一種數(shù)據(jù)類型很強(qiáng)的語言,欠直觀。加之同一種電路有多種建模方法,通常需要一定的時(shí)間和經(jīng)驗(yàn),才能高效的完成設(shè)計(jì)。Verilog由于Verilog為直接仿真語言,數(shù)據(jù)類型較簡單,語法很直觀,故Verilog更易理解和好學(xué)。Verilog更像C,約有50%的結(jié)構(gòu)來自C,其余局部來自ADA。2.3.1Verilog語言的根本語法規(guī)那么為對(duì)數(shù)字電路進(jìn)行描述,Verilog語言規(guī)定了一套完整的語法結(jié)構(gòu)。1.間隔符:Verilog的間隔符主要起分隔文本的作用,可以使文本錯(cuò)落有致,便于閱讀與修改。間隔符包括空格符〔\b〕、TAB鍵〔\t〕、換行符〔\n〕及換頁符。2.注釋符:注釋只是為了改善程序的可讀性,在編譯時(shí)不起作用。多行注釋符(用于寫多行注釋):/*---*/;單行注釋符:以//開始到行尾結(jié)束為注釋文字。為了表示數(shù)字邏輯電路的邏輯狀態(tài),Verilog語言規(guī)定了4種根本的邏輯值。0邏輯0、邏輯假1邏輯1、邏輯真x或X不確定的值(未知狀態(tài))z或Z高阻態(tài)標(biāo)識(shí)符:給對(duì)象〔如模塊名、電路的輸入與輸出端口、變量等〕取名所用的字符串。以英文字母或下劃線開始如,clk、counter8、_net、bus_A。關(guān)鍵詞:用Verilog語言本身規(guī)定的特殊字符串定義語言的結(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、5E-423510.0、0.0005Verilog允許用參數(shù)定義語句定義一個(gè)標(biāo)識(shí)符來代表一個(gè)常量,稱為符號(hào)常量。定義的格式為:parameter參數(shù)名1=常量表達(dá)式1,參數(shù)名2=常量表達(dá)式2,……;如parameterBIT=1,BYTE=8,PI=3.14;6.字符串字符串是雙撇號(hào)內(nèi)的字符序列常量十進(jìn)制數(shù)的形式的表示方法:表示有符號(hào)常量例如:30、-2帶基數(shù)的形式的表示方法:表示常量格式為:<+/-><位寬>’<基數(shù)符號(hào)><數(shù)值>整數(shù)型例如:3’b101、5’o37、8’he3,8’b1001_0011

2.3.2變量的數(shù)據(jù)類型變量的數(shù)據(jù)類型存放器型網(wǎng)絡(luò)型網(wǎng)絡(luò)類:是指輸出始終根據(jù)輸入的變化而更新其值的變量,它一般指的是硬件電路中的各種物理連接.例:網(wǎng)絡(luò)型變量L的值由與門的驅(qū)動(dòng)信號(hào)a和b所決定,即L=a&b。a、b的值發(fā)生變化,線網(wǎng)L的值會(huì)立即跟著變化。例:wireL;//將上述電路的輸出信號(hào)L聲明為網(wǎng)絡(luò)型變量wire[7:0]databus;//聲明一個(gè)8-bit寬的網(wǎng)絡(luò)型總線變量常用的網(wǎng)絡(luò)類型由關(guān)鍵詞wire定義wire型變量的定義格式如下:wire[n-1:0]變量名1,變量名2,…,變量名n;變量寬度存放器型變量對(duì)應(yīng)的是具有狀態(tài)保持作用的電等路元件,如觸發(fā)器存放器。存放器型變量只能在initial或always內(nèi)部被賦值。2、存放器型寄存器類型功能說明reg常用的寄存器型變量integer32位帶符號(hào)的整數(shù)型變量real64位帶符號(hào)的實(shí)數(shù)型變量,time64位無符號(hào)的時(shí)間變量4種存放器類型的變量例:regclock;//定義一個(gè)1位存放器變量reg[3:0]counter;//定義一個(gè)4位存放器變量抽象描述,不對(duì)應(yīng)具體硬件2、每個(gè)模塊先要進(jìn)行端口的定義,并說明輸入〔input)和輸出〔output),然后對(duì)模塊功能進(jìn)行描述。2.3.3Verilog程序的根本結(jié)構(gòu)Verilog使用大約100個(gè)預(yù)定義的關(guān)鍵詞定義該語言的結(jié)構(gòu)1、

VerilogHDL程序由模塊構(gòu)成。每個(gè)模塊的內(nèi)容都是嵌在關(guān)鍵詞module和endmodule兩個(gè)語句之間。每個(gè)模塊實(shí)現(xiàn)特定的功能。3、除了endmodule語句外,每個(gè)語句后必須有分號(hào)。4、可以用/*---*/和//…..對(duì)VerilogHDL程序的任何局部做注釋。模塊定義的一般語法結(jié)構(gòu)如下:modulemux2to1(a,b,sel,out);inputa,b,sel;//定義輸入信號(hào)outputout;//定義輸出信號(hào)wireselnot;//定義內(nèi)部節(jié)點(diǎn)信號(hào)數(shù)據(jù)類型

//下面對(duì)電路的邏輯功能進(jìn)行描述notU1(selnot,sel);andU2(a1,a,selnot);andU3(b1,b,sel);

orU4(out,a1,b1);

endmodule結(jié)構(gòu)描述(門級(jí)描述)端口類型說明電

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論