![數(shù)字系統(tǒng)設(shè)計與VerilogHDL_第1頁](http://file4.renrendoc.com/view/32f3e8b2acdd270e19c6382c35b35c2e/32f3e8b2acdd270e19c6382c35b35c2e1.gif)
![數(shù)字系統(tǒng)設(shè)計與VerilogHDL_第2頁](http://file4.renrendoc.com/view/32f3e8b2acdd270e19c6382c35b35c2e/32f3e8b2acdd270e19c6382c35b35c2e2.gif)
![數(shù)字系統(tǒng)設(shè)計與VerilogHDL_第3頁](http://file4.renrendoc.com/view/32f3e8b2acdd270e19c6382c35b35c2e/32f3e8b2acdd270e19c6382c35b35c2e3.gif)
![數(shù)字系統(tǒng)設(shè)計與VerilogHDL_第4頁](http://file4.renrendoc.com/view/32f3e8b2acdd270e19c6382c35b35c2e/32f3e8b2acdd270e19c6382c35b35c2e4.gif)
![數(shù)字系統(tǒng)設(shè)計與VerilogHDL_第5頁](http://file4.renrendoc.com/view/32f3e8b2acdd270e19c6382c35b35c2e/32f3e8b2acdd270e19c6382c35b35c2e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)字系統(tǒng)設(shè)計與VerilogHDL〔復習〕EDA〔ElectronicDesignAutomation〕就是以計算機為工作平臺,以EDA軟件工具為開發(fā)環(huán)境,以PLD器件或者ASIC專用集成電路為目標器件設(shè)計實現(xiàn)電路系統(tǒng)的一種技術(shù)。1.電子CAD〔ComputerAidedDesign〕2.電子CAE〔ComputerAidedEngineering〕3.EDA〔ElectronicDesignAutomation〕EDAp2EDA1.3數(shù)字系統(tǒng)設(shè)計的流程FPGA/CPLD的數(shù)字系統(tǒng)設(shè)計流程原理圖輸入(Schematicdiagrams)2、硬件描述語言(HDL設(shè)計輸入硬件描述語言與軟件編程語言有本質(zhì)的區(qū)分綜合〔Synthesis〕將較高層次的設(shè)計描述自動轉(zhuǎn)化為較低層次描述的過程◆行為綜合:從算法表示、行為描述轉(zhuǎn)換到存放器傳輸級〔RTL〕◆規(guī)律綜合:RTL〔包括觸發(fā)器〕PLD綜合器是能自動實現(xiàn)上述轉(zhuǎn)換的軟件工具HDL語言描述的電路功能轉(zhuǎn)化為具體電路網(wǎng)表的工具適配適配器也稱為構(gòu)造綜合器,它的功能是將由綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標器件中,并產(chǎn)生最終的可下載文件CPLDJEDECFPGABitstream位流數(shù)據(jù)文件p8仿真〔Simulation〕功能仿真〔FunctionSimulation〕時序仿真〔TimingSimulation〕仿真是對所設(shè)計電路的功能的驗證p9編程〔Program〕把適配后生成的編程文件裝入到PLD器件中的過程,或稱為下載。通常將對基于EEPROM工藝的非易失構(gòu)造PLD器件的下載稱為編程Progra,將基于工藝構(gòu)造的PLD器件的下載稱為配置Configur。習 題現(xiàn)代EDA什么是Top-down數(shù)字系統(tǒng)的實現(xiàn)方式有哪些?各有什么優(yōu)缺點?什么是IPIPEDA用硬件描述語言設(shè)計數(shù)字電路有什么優(yōu)勢?基于FPGA/CPLD什么是綜合?常用的綜合工具有哪些?功能仿真與時序仿真有什么區(qū)分?2FPGA/CPLDPLDPLDPLD
可編程規(guī)律器件〔PLD〕簡潔PLD PROM PLA PAL GAL CPLD FPGA一般將GAL22V10〔500~750門〕作為簡潔PLD和高密度PLDPLD一次性編程器件〔OTP,OneTimeProgrammable〕可屢次編程器件OTP類器件的特點是:只允許對器件編程一次,不能修改,而可屢次編程器件則允許對器件屢次編程,適合于在科研開發(fā)中使用。按編程特點分類p15熔絲〔Fuse〕反熔絲〔Antifuse〕編程元件紫外線擦除、電可編程,如EPROM。(EEPRO、快閃存儲器FlashMemor,如多數(shù)(5)靜態(tài)存儲器〔SRAM〕構(gòu)造,如多數(shù)FPGA按編程元件和編程工藝分類PLDPLDPLD與門、或門的表示PLDPLD簡潔陣列的表示p20PROMPROM表達的PLDp21PROMPROMp222.5FPGA查找表構(gòu)造4輸入LUTp23習 題PLAPAL說明GALOLMC簡述基于乘積項的可編程規(guī)律器件的構(gòu)造特點?基于查找表的可編程規(guī)律構(gòu)造的原理是什么?基于乘積項和基于查找表的構(gòu)造各有什么優(yōu)缺點?CPLDFPGAFPGAp243QuartusIIQuartusII進展EDAp26設(shè)計一個半加器p27設(shè)計一個全加器連接好的全加器原理圖f_adder.bdf習 題基于QuartusIID248基于QuartusII7490〔12、計分〔60〕〔60秒〕的簡潔數(shù)字鐘電路。設(shè)計過程如下:先用QuartusII749060并進展仿真,假設(shè)功能正確,則將其生成一個部件;74901212小時后系0、分鐘信號,增加整點報時功能等。4章基于宏功能模塊的設(shè)計8功能仿真波形p3124lpm_counter鎖相環(huán)電路功能仿真波形習 題承受QuartusII軟件的宏功能模塊lpm_counter60編譯和仿真,查看仿真結(jié)果。QuartusIIlpm_rom8符號數(shù)加法的電路,并進展編譯和仿真。先利用LPM_ROM4×48×8Verilog4×48×810MHz,想要得到6MHz的時鐘信號,試altpll5VerilogHDL5.2Verilog1】4moduleadder4(cout,sum,ina,inb,cin);output[3:0]sum;outputcout;input[3:0]ina,inb;inputcin;assign{cout,sum}=ina+inb+cin;endmodulep36VerilogVerilogmodule和endmodule字之間;每個模塊實現(xiàn)特定的功能;模塊是可以進展層次嵌套的。(input、output或inout),然后對模塊功能進展描述。Verilog除了endmodule可以用/*……*/和//……Verilog注釋,以增加程序的可讀性和可維護性。p37Verilog模塊的模板module<頂層模塊名>(<輸入輸出端口列表>);output輸出端口列表; //輸出端口聲明input 輸入端口列表; //輸入端口聲明/*定義數(shù)據(jù),信號的類型,函數(shù)聲明*/reg信號名;//規(guī)律功能定義assign<結(jié)果信號名>=<表達式>; //使用assign語句定義規(guī)律功能//alwaysalways@(<敏感信號表達式>)begin//過程賦值//if-else,case//while,repeat,for//task,functionend//調(diào)用其他模塊<調(diào)用模塊名module_name><例化模塊名>(<端口列表port_list>);//門元件例化門元件關(guān)鍵字<例化門元件名>(<端口列表port_list>);endmodulep38習 題Verilog8Verilog86VerilogHDL標識符〔Identifiers〕標識符〔Identifiers〕Verilog中的標識符可以是任意一組字母、數(shù)字以及符號“$”和“_”〔下劃線〕的組合,但標識符的第一個字符必需是字母或者下劃線。另外,標識符是區(qū)分大小寫的。Examples:countCOUNT //COUNTcount_A1_d2 //以下劃線開頭R56_68FIVEp41整數(shù)實數(shù)字符串6.2常量程序運行中,值不能被轉(zhuǎn)變的量稱為常量constantVerilog3p42整數(shù)按如下方式書寫:+/-<size>”<base><value>即+/-<位寬>”<進制><數(shù)字>size為對應(yīng)二進制數(shù)的寬度;basevalue4二進制〔bB〕十進制〔dD〕十六進制〔hH〕八進制〔oO〕整數(shù)〔integer〕p43Examples:8”b11000101 //110001018”hd5 //位寬為八位的十六進制數(shù)d5;5”O(jiān)27 //54”D2 //424”B1x_01 //41x015”Hx //5位〔擴展的x,即xxxxx4”hZ //4z,即zzzz8□”h□2A /*在位寬和”之間,以及進制和數(shù)值之間允許消滅空格,但”和進制之間,8”□h2A、8”h2□A*/整數(shù)〔integer〕p44實數(shù)〔Real〕有下面兩種表示法。十進制表示法。例如:2.00.1 //2//非法:小數(shù)點兩側(cè)都必需有數(shù)字科學計數(shù)法。例如:43_5.1e2 //43510.09.6E2 //960.0(eE5E-4 //0.0005實數(shù)〔Real〕p45數(shù)據(jù)類型Verilog0:01:1xX:不確定或未知的規(guī)律狀態(tài)zZ:高阻態(tài)Verilog4xz0x1z0X1Z數(shù)據(jù)類型〔DataType〕是用來表示數(shù)字電路中的物理連線、數(shù)據(jù)存儲和傳輸單元等物理量的。p46netNet型數(shù)據(jù)相當于硬件電路中的各種物理連接,其特點是輸出的值緊跟輸入值的變化而變出端;另一種方式是用持續(xù)賦值語句assignwire是最常用的Netwirewire12,……數(shù)據(jù)名n;例如:wirea,b; //定義了兩個wire型變量a和bExamples:wire[7:0]databus; //databus的寬度是8位wire[19:0]addrbus; //addrbus的寬度是20位p47Variablevariable型變量必需放在過程語句〔如initial、always〕中,通過過程賦值語句賦值;在always、initialvariable留意:variable型變量并不意味著肯定對應(yīng)著硬件上的一個觸發(fā)器或存放器等存儲元件,在綜合器進展綜合時,variable型變量會依據(jù)具體狀況來確定是映射成連線還是映射為觸發(fā)器或存放器。reg型變量是最常用的一種variablereg12,……數(shù)據(jù)名n;例如:rega,b;//定義了兩個reg型變量a,bExamples:reg[7:0]qout; //定義qout8位寬的regreg[8:1]qout;p48參數(shù)(parameter)Verilogparameterparameter代表一個常量。參數(shù)常用來定義時延和變量的寬度。其定義格式如下:parameter11,2233,……;例如:parametersel=8,code=8”ha3;/分別定義參數(shù)sel代表常數(shù)〔10進制,參數(shù)code代表常量a16進制〕p49向量1.標量與向量寬度為1位的變量稱為標量,假設(shè)在變量聲明中沒有指定位寬,則默認為標量〔1位。舉例如下:wirea; //aregclk; //clk為標量reg線寬大于1〔包括net型和variable型稱為向量vecto的形式定義:[msb:lsb]比方:wire[3:0]bus; //4p50運算符〔Operators〕1.算術(shù)運算符〔Arithmeticoperators〕常用的算術(shù)運算符包括:+ 加- 減* 乘/ 除% 求模p51規(guī)律運算符〔Logicaloperators〕&& 規(guī)律與|| 規(guī)律或! 規(guī)律非p52位運算符〔Bitwiseoperators〕位運算,馬上兩個操作數(shù)按對應(yīng)位分別進展規(guī)律運算。~ 按位取反& 按位與| 按位或^ 按位異或^~,~^ 按位同或〔符號^~與~^是等價的〕p53關(guān)系運算符〔Relationaloperators〕< 小于<= 小于或等于> 大于>= 大于或等于p54等式運算符〔EqualityOperators〕== 等于!= 不等于===全等!== 不全等縮位運算符〔Reductionoperators〕& 與~& 與非| 或~| 或非^ 異或^~,~^ 同或移位運算符〔shiftoperators〕>> 右移<< 左移p57條件運算符〔conditionaloperators〕:三目運算符,其定義方式如下:signal=condition?true_expression:false_expression;12;12p58位拼接運算符〔concatenationoperators〕{}該運算符將兩個或多個信號的某些位拼接起來。使用如下:12np59習 題以下標識符哪些是合法的,哪些是錯誤的?Cout,8sum,\a*b,_data,\wait,initial,$latch以下數(shù)字的表示是否正確?6”d18,”Bx0,5”b0x110,”da30,10”d2,”hzF定義如下的變量和常量:定義一個名為count的整數(shù);定義一個名為ABUS8wire定義一個名為address16位reg128;定義參數(shù)Delay_time,參數(shù)值為8;定義一個名為DELAY的時間變量;32位的存放器MYREG;12832位的存儲器MYMEM;7Verilogp61VerilogHDL類別語句類別語句可綜合性initialalways塊語句賦值語句串行塊begin-end并行塊fork-join持續(xù)賦值assign過程賦值=、<=if-elsecaseforrepeatwhileforever`define`include`ifdef,`else,`endif√√√√√√√循環(huán)語句編譯向?qū)дZ句√√√過程語句initialalways在一個模塊〔module〕initialalwaysinitial句常用于仿真中的初始化,initialalways斷重復執(zhí)行的。p63alwaysalways@(<敏感信號表達式event-expression>)begin//過程賦值//if-else,case,casex,casez//while,repeat,for//task,functionend“always”條件滿足時,其后的“begin-end”塊語句才能被執(zhí)行。p64塊語句塊語句是由塊標志符begin-end或fork-join塊標志符可以缺省。begin-end串行塊中的語句按串行方式挨次執(zhí)行。比方:beginregb=rega;regc=regb;endbegin-endregb、regc的值都更為regabegin-endregb、regc的值是一樣的。p65賦值語句持續(xù)賦值語句〔ContinuousAssignments〕assign為持續(xù)賦值語句,主要用于對wire比方:assignc=a&b;在上面的賦值中,a、b、c三個變量皆為wirea和bcp66條件語句〔if-else〕if-else3if〔表達式〕1;if〔表達式〕語句1;else 語句2;if〔1〕語句1;elseif〔2〕2;elseif〔3〕3;……elseif〔表達式n〕語句n;else語句n+1;p67casecase〔敏感表達式〕1:1;//case2:2;……n:語句n;default:語句n+1;endcasecasep68循環(huán)語句repeatloopinitialbeginfor(i=0;i<4;i=i+1)out=out+1;endinitialbeginrepeat(5)out=out+1;endinitialbegini=0;while(i<0)i=i+1;endforloopwhileloopVerilogforever:連續(xù)地執(zhí)行語句;多用在“initial”塊中,以生成時鐘等周期性波形。repeat:連續(xù)執(zhí)行一條語句nwhile:執(zhí)行一條語句直到某個條件不滿足。for:有條件的循環(huán)語句。p69forfor語句的使用格式如下〔同C語言:for〔123〕語句;即:for〔循環(huán)變量賦初值;循環(huán)完畢條件;循環(huán)變量增值〕執(zhí)行語句;p70編譯指示語句Verilog允許在程序中使用特別的編譯向?qū)А睠ompilerDirectives〕語句,在編譯時,通常先對這些向?qū)дZ句進展“預(yù)處理”,然后再將預(yù)處理的結(jié)果和源程序一起進展編譯。向?qū)дZ句以符號“`”Verilog供給了十幾條編譯向?qū)дZ句,如:`define`ifdef`else`endif`restall`define,`include`ifdef、`else、`endifp71宏替換`define`define語句用于將一個簡潔的名字或標志符〔或稱為宏名〕來代替一個簡單的名字或字符串,其使用格式為:`define 宏名〔標志符〕字符串如:`definesumina+inb+inc+indsum來代替了一個簡單的表達式ina+inb+inc+ind,承受了這樣的定義形式后sum來代表表達式ina+inb+inc+ind了。p72文件包含`include`include`include “文件名”使用`include一個`include`include語句可以消滅在源程序的任何地方。被包含的文件假設(shè)與包含文件不在同一個子名目下,必需指明其路徑名。文件包含允很多重包含,比方文件12,23p73任務(wù)與函數(shù)任務(wù)〔task〕任務(wù)定義格式:task<任務(wù)名>; //留意無端口列表端口及數(shù)據(jù)類型聲明語句;其它語句;endtask任務(wù)調(diào)用的格式為:<任務(wù)名>〔12,……〕;需要留意的是:任務(wù)調(diào)用時和定義時的端口變量應(yīng)是一一對應(yīng)的。p74函數(shù)的目的是返回一個值,以用于表達式計算函數(shù)的定義格式:function<返回值位寬或類型說明>函數(shù)名;端口聲明;局部變量定義;其它語句;endfunction<返回值位寬或類型說明>是一個可選項,假設(shè)缺省,則返回值為1位存放器類型的數(shù)據(jù)。函數(shù)〔function〕p75任務(wù)與函數(shù)的比較p76思考與練習試編寫求補碼的Verilog8試編寫兩個四位二進制數(shù)相減的Verilog程序。有一個比較電路,當輸入的一位8421BCD4時,輸出為1,否則為0。試編寫出Verilog3輸入與非門的Verilogp77思考與練習Verilog74138Synplify綜合,觀看RTLVerilog74161Synplify合,觀看RTLVerilog8位加法器,用QuartusIIVerilog8位計數(shù)器,用QuartusII8p79Verilog設(shè)計的描述風格構(gòu)造〔Structural〕描述行為〔Behavioural〕描述數(shù)據(jù)流〔DataFlow〕描述p80Verilog調(diào)用Verilog〔門級構(gòu)造描述〕調(diào)用開關(guān)級元件〔晶體管級構(gòu)造描述〕用戶自定義元件UDP〔也在門級〕構(gòu)造〔Structural〕描述p8121MUXmoduleMUX1(out,a,b,sel);outputout;inputa,b,sel;not (sel_,sel);and (a1,a,sel_),(a2,b,sel);or (out,a1,a2);endmodulep82行為描述就是對設(shè)計實體的數(shù)學模型的描述,其抽象程度遠高于構(gòu)造描述方式。行為描述述清楚輸入與輸出信號的行為,而不需要花費更多的精力關(guān)注設(shè)計功能的門級實現(xiàn)。p8321MUXmodulemux2(out,a,b,sel);outputout;inputa,b,s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淮安2024年江蘇淮安漣水縣面向村(社區(qū))黨組織書記選聘鎮(zhèn)(街道)事業(yè)單位工作人員筆試歷年參考題庫附帶答案詳解
- 2025年中國唑螨酯市場調(diào)查研究報告
- 2025年中國五金工具塑料泡罩市場調(diào)查研究報告
- 2025年走馬機丈根帶項目可行性研究報告
- 2025至2031年中國調(diào)墨螺釘行業(yè)投資前景及策略咨詢研究報告
- 2025年移動平板滑輪車項目可行性研究報告
- 成都2025年四川成都師范學院招聘高層次人才67人(第一批)筆試歷年參考題庫附帶答案詳解
- 2025年水族產(chǎn)品項目可行性研究報告
- 2025年顯色皂洗機項目可行性研究報告
- 2025至2031年中國實心輪胎模具行業(yè)投資前景及策略咨詢研究報告
- VDA6.3 基本知識培訓教材
- 萜類天然藥物化學
- 妊娠合并急性胰腺炎課件
- (全國通用)三甲人民醫(yī)院診斷證明書請假條模板(廣東佛山)
- 《滅火器維修》GA95-2015(全文)
- 表面工程學課件-全
- 皮膚科疑難病例討論課件
- 通信系統(tǒng)防雷與接地下篇的知識
- Q∕GDW 12118.2-2021 人工智能平臺架構(gòu)及技術(shù)要求 第2部分:算法模型共享應(yīng)用要求
- 管理者完成目標的五步19法姜洋講義
- 亳州市污水處理廠工藝設(shè)計
評論
0/150
提交評論