版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Verilog_1995和Verilog_2001的比較版本記錄表作者版本號(hào)日期修改內(nèi)容王長友V1.00.a2015.5.24第一次創(chuàng)建
作為一門如今世界最流行的硬件描述語言之一,VerilogHDL擁有自己的獨(dú)有的特點(diǎn)和優(yōu)勢(shì)。當(dāng)然同時(shí)作為一門不斷完善和發(fā)展的硬件描述語言,他同樣也具有他的不足之處。VerilogHDL是在用途最廣泛的C語言的基礎(chǔ)上發(fā)展起來的一種硬件描述語言,它是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末首創(chuàng)的,最初只設(shè)計(jì)了一個(gè)仿真與驗(yàn)證工具,之后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時(shí)序分析工具。1985年Moorby推出它的第三個(gè)商用仿真器verilog-XL,獲得了巨大的成功,從而使得VerilogHDL迅速得到推廣應(yīng)用。1989年CADENCE公司收購了GDA公司,使得VerilogHDL成為了該公司的獨(dú)家專利。1990年CADENCE公司公開發(fā)表了VerilogHDL,并成立LVI組織以促進(jìn)VerilogHDL成為IEEE標(biāo)準(zhǔn),即IEEEStandard1364-1995。VerilogHDL雖然得到了廣泛的應(yīng)用,但是然們?cè)趹?yīng)用過程中也發(fā)同大多數(shù)新興的編程語言一樣,有很多的不完善、缺陷。在2001年,OVI(OpenVerilogInitiative)向IEEE提交了一個(gè)改善了用戶覺得原始的Verilog-1995標(biāo)準(zhǔn)缺陷的新的標(biāo)準(zhǔn)。這一擴(kuò)展版本成為了IEEE1364-2001標(biāo)準(zhǔn),也就是Verilog2001。Verilog2001是1995的增補(bǔ),現(xiàn)在幾乎所有的工具都支持Verilog2001。Verilog2001也被稱作Verilog2.0。作為一個(gè)verilog的初學(xué)者,基礎(chǔ)是最重要的?,F(xiàn)在將我在學(xué)習(xí)中了解到的verilog的IEEE1364-95標(biāo)準(zhǔn)和最新的IEEE1364-2001標(biāo)準(zhǔn)做一個(gè)簡單的比較和分析,希望可以在加深我的學(xué)習(xí)和理解的同時(shí)可以方便大家的探討、學(xué)習(xí)和補(bǔ)充。我從以幾個(gè)方面來比較verilogHDL的IEEE1364-1995標(biāo)準(zhǔn)和IEEE1364-2001的變化:模塊聲明的擴(kuò)展1)、Verilog-2001允許將端口聲明和數(shù)據(jù)類型聲明放在同一條語句中,例如:Verilog-1995:Modulemux8(y,a,b,en);output[7:0]y;input[7:0]a,b;inputen;reg[7:0]y;wire[7:0]a,b;wireen;……Verilog-2001:Modulemux8(y,a,b,en);outputreg[7:0]y;inputwire[MSB:LSB]a,b,inputwireci;);……….帶有初始化的寄存器類型變量聲明在Verilog-1995中定義和初始化reg需要兩條語句,而在Verilog-2001中可以合成一條語句。
實(shí)例如下:Verilog-1995:regclock;initialclk=0;Verilog-2001:regclock=0;敏感表的改進(jìn)1)、Verilog-2001使用逗號(hào)隔開敏感信號(hào)Verilog-2001中可以用逗號(hào)來代替or隔開敏感信號(hào)(or也可以)Verilog-1995:always@(aorborcordorsel)Verilog-2001:always@(a,b,c,d,sel)2)、Verilog-2001組合邏輯敏感信號(hào)通配符在組合邏輯設(shè)計(jì)中,需要在敏感信號(hào)列表中包含所有組合邏輯輸入信號(hào),以免產(chǎn)生鎖存器。在大型的組合邏輯中比較容易遺忘一些敏感信號(hào),因此在Verilog-2001中可以使用@*包含所有的輸入信號(hào)作為敏感信號(hào)。Verilog-1995:always@(seloraorb)if(sel)y=a;elsey=b;Verilog-2001always@*//combinationallogicsensitivityif(sel)y=a;elsey=b;這樣做的好處是避免敏感表切合不完整導(dǎo)致的latch。帶有符號(hào)算數(shù)運(yùn)算的擴(kuò)展1)、net型和reg型可以聲明為帶符號(hào)的變量,如:Regsigned[63:0]data;Wiresigned[11:0]address;2)、函數(shù)的返回值可以是有符號(hào)的數(shù),例如:Functionsigned[128:0]alu;3)、literalintegernumber可以定義為有符號(hào)的,如:16’hc501//anunsigned16-bithexvalue16’shc501//asingned16-bithexvalue4)、增加了算數(shù)的左移和右移(>>>,<<<)操作符“<<<”和“>>>”。對(duì)于符號(hào)數(shù),執(zhí)行算數(shù)移位操作時(shí),將符號(hào)填補(bǔ)移出的位。例如:D=8’b10100011;D>>3;//邏輯右移的結(jié)果為:8’b00010100D>>>3;//算數(shù)右移的結(jié)果是:8’111101005)、增加了系統(tǒng)函數(shù)$signed,$unsigned。用于在有符號(hào)和無符號(hào)數(shù)之間的轉(zhuǎn)換。如:Reg[63:0]a;//unsigneddatatypealways@(a)beginresult1=a/2;//unsfnedarithmeticresult2=$signed(a)/2;//signedariithmeticend可變向量域的選擇[<starting_bt>+:<width>]part-selectincrementsfromthestaetingbit[<starting_bt>-:<width>]part-selectincrementsfromthestaetingbitReg[63:0]vector1;//little-endianReg[0:63]ventor2;//big-endianByte=vector1[31-:8];//selectsvector1[31:24]Byte=vector1[24+:8];//selectsvector1[31:24]Byte=vector2[31-:8];//selectsvector1[24:31]Byte=vector2[24+:8];//selectsvector1[24:31]其中,起始位可以是變量,但是位寬必須是整數(shù)。因此可以用變量域選擇,用循環(huán)語句選取一個(gè)很長的向量所有位。for(j=0;j<=31;j=j+1)byte=data1[(j*8)+:8];//用于初始化向量的一個(gè)域data1[(byteNum*8)+:8]=8’b0;多維數(shù)組的建立Verilog-1995中只允許對(duì)reg,integer和time建立一維數(shù)組,常用于RAM,ROM的建模。Verilog-2001中可以對(duì)net和variable建立多維數(shù)組。//-dimensionalarrayof8-bitregvaribales//(allowednverilog-1995andverilog-2001)Reg[7:0]array1[0:255];Wire[7:0]out1=array1[address];//3-dimensionalarrayof8-bitwirenets//(newforverilog-2001)Wire[7:0]array2[0:255][0:255][0:15];Wire[7:0]out2=array2[addr1][addr2][addr3];多維數(shù)組的賦值Verilog-1995不允許直接訪問矩陣的某一位或者某幾位,必須將整個(gè)矩陣字復(fù)制到另一個(gè)暫存變量中,從暫存中訪問。Verilog-2001可以直接訪問矩陣的某一維或者某一位如:Verilog-1995:Reg[31:0]ram[0:255];Reg[7:0]high_btye;Reg[31:0]temp;temp=ram[5];high_btye=temp[31:24];verilog-2001reg[31:0]ram[0:255];reg[7:0]high_btye;high_btye=ram[5][31:24];//selectthehigh_orderbyteofonewordina2-dimensionalarrayof32-bitregvariablesReg[31:0]array2[0:255][0:15];Wire[7:0]out=array2[100][7][31:24];乘方運(yùn)算符增加乘方運(yùn)算(poweroperate),運(yùn)算符是“**”,如果其中有一個(gè)操作數(shù)是real類型的,返回值講師real類型的。兩個(gè)操作數(shù)都是integer類型的,返回值才是integer類型的。自動(dòng)(可重入)任務(wù)和自動(dòng)(遞歸)函數(shù)1)、可重入任務(wù)任務(wù)本質(zhì)上是靜態(tài)的,同時(shí)并發(fā)的多個(gè)任務(wù)共享存儲(chǔ)區(qū)。當(dāng)某個(gè)任務(wù)在多個(gè)模塊中被調(diào)用,則這些任務(wù)對(duì)同一塊存儲(chǔ)空間進(jìn)行操作,結(jié)果可能是錯(cuò)誤的。Verilog-2001增加了關(guān)鍵之a(chǎn)utomatic,內(nèi)存空間是動(dòng)態(tài)分配的,是任務(wù)變?yōu)榭芍厝氲摹?)、遞歸函數(shù):例如:Functionautomatic[63:0]factorial;Input[31:0]n;If(n==1)factorial=1;elsefactoral=n*factorial(n-1);endfunction自動(dòng)寬位擴(kuò)展Verilog-1995中對(duì)不指定位數(shù)的位寬超過32位的總線賦高阻是:只對(duì)低32位賦值為高阻,高位將為0。Verilog-2001將高阻或者不定態(tài)賦值給未指定位寬的信號(hào)時(shí),可以自動(dòng)擴(kuò)展到整個(gè)位寬范圍。常數(shù)函數(shù)Verilog語法規(guī)定必須使用數(shù)值或者常數(shù)表達(dá)式來定義向量的位寬和陣列的規(guī)模。如:parameterwidth=8;Wire[width-1:0]data;Verilog-1995中要求上述表達(dá)式必須為算數(shù)操作。Verilog-2001中可以使用函數(shù),成為常數(shù)函數(shù),它的數(shù)值在編譯或者詳細(xì)描述中被確定。如:Parameterram_size=1024;Input[clogb(ram_size)-1:0]address_bus;….Functionintegerclogb;Input[31:0]depth;BeginFor(clogb=0;depth>0;clogb=clogb+1)Depth=depth>>1;Endendfunction增加了文件輸入輸出操作Verilog-1995中在文件的輸入、輸出操作方面功能非常有限,文件操作疆場(chǎng)借助于verilogPLI(接口編程語言),通常與c語言的文件輸入、輸出庫的訪問來處理。并且規(guī)定同時(shí)打開的I/O文件不能超過31個(gè)。Verilog-2001增加了新的系統(tǒng)任務(wù)和函數(shù),并且規(guī)定同時(shí)打開的文件數(shù)目為230個(gè)。顯示參數(shù)重載Verilog-1995中參數(shù)的重載有兩種方法:一種是defparam語句顯式重新定義。第二種是在模塊實(shí)體調(diào)用時(shí)使用#符號(hào)隱式的重新定義參數(shù)。Verilog-2001中增加了一種新的方法,成為顯式重載。Generate語句Verilog-2001新增了語句“generate”,通過generate循環(huán),可以產(chǎn)生一個(gè)對(duì)象(比如一個(gè)元件或者一個(gè)模塊等)的多個(gè)例化,為可變尺度的設(shè)計(jì)提供了方便。Generate語句一般在循環(huán)和條件語句中使用。Verilog-2001增加了四個(gè)關(guān)鍵字generate、endgenerate、genvar和localparam,其中個(gè)genvar是一個(gè)新的數(shù)據(jù)類型,用在generate循環(huán)中的標(biāo)尺變量必須定義為genvar類型數(shù)據(jù)。Redister變成了variable由于自1998年的verilog一來,regiser一直用來描述一種變量的類型,常常讓人誤以為register和硬件的寄存器一致,在verilog-2001參考手冊(cè)中將register變成了variable。對(duì)條件編譯的改進(jìn)Verilog-1995中支持’ifdef、’else、’endif、’undef進(jìn)行條件編譯,verilog-2001中增加了’ifndef和’elseif文件和行編譯顯示Verilog需要不斷的跟蹤元代碼的行號(hào)和文件名,可編程語言接口(PLI)可以取得并利用行號(hào)和源文件的信息,以標(biāo)記運(yùn)行是錯(cuò)誤的。但是如果verilog代碼經(jīng)過其他工具的處理,源代碼的行號(hào)和文件名可能丟失。故在verilog-2001中增加了’line,用來標(biāo)定元代碼的行號(hào)和文件名。屬性隨著仿真器之外的工具把verilog作為設(shè)計(jì)輸入,這些工具需要verilog語言能夠加入指定工具有關(guān)的信息和命令。Verilog么有定義標(biāo)準(zhǔn)的屬性,屬性名和數(shù)值由工具廠商或者其他標(biāo)準(zhǔn)來定義。目前尚未指定的標(biāo)準(zhǔn)。系統(tǒng)任務(wù)和系統(tǒng)函數(shù)的擴(kuò)展Verilo
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職糧油檢驗(yàn)檢測(cè)技術(shù)(糧油檢驗(yàn)基礎(chǔ))試題及答案
- 2025年中職生物(植物生理學(xué)基礎(chǔ))試題及答案
- 2025年中職(會(huì)計(jì)綜合實(shí)訓(xùn))全盤賬務(wù)處理階段測(cè)試試題及答案
- 2025年大學(xué)越野滑雪運(yùn)動(dòng)與管理(越野滑雪技術(shù))試題及答案
- 2025年大學(xué)大四(出版學(xué))出版物編輯出版綜合評(píng)估試題及答案
- 2026年人力資源外包(員工派遣管理)試題及答案
- 2025年高職測(cè)繪工程技術(shù)(測(cè)繪工程實(shí)操)試題及答案
- 2025年大學(xué)三年級(jí)(公共政策)公共政策分析試題及答案
- 2025年高職現(xiàn)代農(nóng)業(yè)技術(shù)(智慧農(nóng)業(yè)設(shè)備應(yīng)用)試題及答案
- 2025年高職醫(yī)學(xué)美容技術(shù)(醫(yī)學(xué)美容技術(shù))試題及答案
- 2026年南通科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考試題含答案解析
- 中遠(yuǎn)海運(yùn)集團(tuán)筆試題目2026
- 2026年中國熱帶農(nóng)業(yè)科學(xué)院橡膠研究所高層次人才引進(jìn)備考題庫含答案詳解
- 妝造店化妝品管理制度規(guī)范
- 2025-2026學(xué)年四年級(jí)英語上冊(cè)期末試題卷(含聽力音頻)
- 浙江省2026年1月普通高等學(xué)校招生全國統(tǒng)一考試英語試題(含答案含聽力原文含音頻)
- 2026屆川慶鉆探工程限公司高校畢業(yè)生春季招聘10人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 基本農(nóng)田保護(hù)施工方案
- 股骨頸骨折患者營養(yǎng)護(hù)理
- 二級(jí)醫(yī)院醫(yī)療設(shè)備配置標(biāo)準(zhǔn)
- 2026年廣西出版?zhèn)髅郊瘓F(tuán)有限公司招聘(98人)考試參考題庫及答案解析
評(píng)論
0/150
提交評(píng)論