eda-Verilog技術(shù)復(fù)習(xí)內(nèi)容_第1頁
eda-Verilog技術(shù)復(fù)習(xí)內(nèi)容_第2頁
eda-Verilog技術(shù)復(fù)習(xí)內(nèi)容_第3頁
eda-Verilog技術(shù)復(fù)習(xí)內(nèi)容_第4頁
eda-Verilog技術(shù)復(fù)習(xí)內(nèi)容_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

可編程邏輯器件及EDA技術(shù)總復(fù)習(xí)EDA技術(shù)(Electronic

Design

Automatic)廣義EDA:以計(jì)算機(jī)為工作平臺,以電子CAD通用軟件包為開發(fā)環(huán)境,以電子系統(tǒng)設(shè)計(jì)為應(yīng)用方向的電子產(chǎn)品自動化設(shè)計(jì)過程,電路設(shè)計(jì)是典型狹義EDA:以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)。全定制ASIC——由設(shè)計(jì)者定義芯片上所有晶體管的幾何圖形和工藝規(guī)則,最后將設(shè)計(jì)結(jié)果交由IC廠家去進(jìn)行掩模制造,做出產(chǎn)品應(yīng)用領(lǐng)域:模擬集成電路設(shè)計(jì),數(shù)字集成電路設(shè)計(jì)專用集成電路ASIC半定制ASIC——約束性的版圖設(shè)計(jì)方法,以犧牲芯片性能為代價(jià)來簡化設(shè)計(jì),縮短開發(fā)時間。分為門陣列設(shè)計(jì)法和標(biāo)準(zhǔn)單元設(shè)計(jì)法。應(yīng)用領(lǐng)域:通信領(lǐng)域可編程ASIC——將掩模ASIC集成度高的優(yōu)點(diǎn)和可編程邏輯器件設(shè)計(jì)生產(chǎn)方便的特點(diǎn)結(jié)合在一起。應(yīng)用領(lǐng)域:樣品研制或小批量產(chǎn)品開發(fā)專用集成電路ASIC分類硬件描述語言HardwareDescriptionLanguage用軟件編程的方式來描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式,適合大規(guī)模電子系統(tǒng)的設(shè)計(jì)。ABELVHDLVerilogHDLSystemCEDA技術(shù)的設(shè)計(jì)方法電路級設(shè)計(jì)流程系統(tǒng)級設(shè)計(jì)流程EDA技術(shù)的設(shè)計(jì)方法電路級設(shè)計(jì)流程設(shè)計(jì)輸入:確定設(shè)計(jì)方案,選擇合適元器件,根據(jù)具體的元器件設(shè)計(jì)電路原理圖第一次仿真:檢驗(yàn)設(shè)計(jì)方案在功能方面的正確性。包括數(shù)字電路的邏輯模擬、故障分析,模擬電路的交直流分析、瞬態(tài)分析?!仨氁性P蛶斓闹С?。PCB板的自動布局布線:仿真通過后,根據(jù)原理圖產(chǎn)生的電氣連接網(wǎng)絡(luò)表再進(jìn)行PCB板的自動布局布線后仿真:檢驗(yàn)PCB板在實(shí)際工作環(huán)境中的可行性。第一步:原理圖第二步:PCB圖第三步:電路圖電路設(shè)計(jì)基本流程系統(tǒng)級設(shè)計(jì)流程系統(tǒng)劃分:按照“自上而下”的方法設(shè)計(jì)輸入:采用VHDL語言狀態(tài)圖等方式描述系統(tǒng),并編譯成標(biāo)準(zhǔn)的VHDL文件。功能仿真:檢驗(yàn)系統(tǒng)功能設(shè)計(jì)的正確性。綜合優(yōu)化:對HDL源代碼進(jìn)行綜合優(yōu)化處理,生成門級描述的網(wǎng)絡(luò)表相應(yīng)的廠家綜合庫。適配前仿真:利用產(chǎn)生的網(wǎng)絡(luò)表文件進(jìn)行適配前的時序仿真。適配:將綜合后的網(wǎng)絡(luò)表文件針對某一具體的目標(biāo)器件進(jìn)行適配,包括底層器件配置、邏輯分割、邏輯優(yōu)化、布局布線。適配后仿真:根據(jù)適配后的仿真模型,進(jìn)行適配后的時序仿真器件實(shí)現(xiàn):將適配產(chǎn)生的器件編程文件通過編程器或下載電纜載入到目標(biāo)芯片F(xiàn)PGA或CPLD中第一步:行為描述第二步:邏輯綜合第三步:設(shè)計(jì)實(shí)現(xiàn)always@(state)begin:OUTPUT_DECODEif(state==Too_High)beginCold<=1;Heat<=0;endelseif(state==Too_Low)beginCold<=0;Heat<=1;endelseif(state==Well_situated)beginCold<=0;Heat<=0;endend可編程邏輯器件設(shè)計(jì)基本流程可編程邏輯器件原理可編程邏輯器件分類低密度PROM,EPROM,EEPROM,PAL,PLA,GAL只能完成較小規(guī)模的邏輯電路高密度,已經(jīng)有超過400萬門的器件EPLD,CPLD,FPGA可用于設(shè)計(jì)大規(guī)模的數(shù)字系統(tǒng)集成度高,甚至可以做到SOC(SystemOnaChip)MAX7000S系列器件的內(nèi)部結(jié)構(gòu)LAB(logicarrayblock)宏單元(macrocells)擴(kuò)展乘積項(xiàng)EPT(Expanderproductterms)可編程連線陣列PIA(programmableinterconnectarray)I/O控制塊IOC(I/Ocontrolblocks)XC4000系列FPGA的內(nèi)部結(jié)構(gòu)1.XC4000系列的可配置邏輯塊(CLB)函數(shù)功能發(fā)生器觸發(fā)器2.輸入/輸出模塊(In/OutputBlock)輸入/輸出鎖存器三態(tài)輸出緩沖器3.內(nèi)部互連資源(PI)單長線雙長線長線開關(guān)矩陣

可編程邏輯器件的設(shè)計(jì)流程

設(shè)計(jì)輸入·電路圖·硬件描述語言器件編程

設(shè)計(jì)實(shí)現(xiàn)·優(yōu)化·合并、映射·布局、布線功能仿真時序仿真器件測試系統(tǒng)說明可編程邏輯器件選型CPLD選擇的方法編程技術(shù)在線可編程能力功能模塊的性能觸發(fā)器結(jié)構(gòu)嵌入式器件I/O引腳的數(shù)量和類型時鐘輸入引腳的數(shù)量FPGA選擇的方法可配置邏輯模塊I/O引腳的數(shù)量和類型時鐘輸入端的數(shù)目嵌入式器件配置/編程方式器件當(dāng)中所含可配置邏輯模塊的數(shù)目IP核IP內(nèi)核可以在不同的硬件描述級實(shí)現(xiàn),由此產(chǎn)生了三類IP內(nèi)核:軟核硬核固核IP核是具有知識產(chǎn)權(quán)(IntellectualProperty)的集成電路芯核的簡稱,其作用是把一組擁有知識產(chǎn)權(quán)的電路設(shè)計(jì)集合在一起,構(gòu)成芯片的基本單位,如FIR濾波器,SDRAM控制器,PCI接口等等設(shè)計(jì)成可修改參數(shù)的模塊,以供設(shè)計(jì)時搭積木之用。隨著CPLD/FPGA的規(guī)模越來越大,設(shè)計(jì)越來越復(fù)雜,使用IP核是一個設(shè)計(jì)發(fā)展趨勢。VerilogHDL語言基礎(chǔ)Verilog能夠在多種抽象級別對數(shù)字邏輯系統(tǒng)進(jìn)行描述:既可以在晶體管級、邏輯門級進(jìn)行描述,也可以在寄存器傳輸級對電路信號在寄存器之間的傳輸情況進(jìn)行描述。除了對電路的邏輯功能進(jìn)行描述,Verilog代碼還能夠被用于邏輯仿真、邏輯綜合,其中后者可以把寄存器傳輸級的Verilog代碼轉(zhuǎn)換為邏輯門級的網(wǎng)表,從而方便在現(xiàn)場可編程邏輯門陣列上實(shí)現(xiàn)硬件電路,或者讓硬件廠商制造具體的專用集成電路。設(shè)計(jì)人員還可以利用Verilog的擴(kuò)展部分Verilog-AMS進(jìn)行模擬電路和混合信號集成電路的設(shè)計(jì)。module

AND_G2(a,b,f);//模塊名inputa,b;//端口說明outputf;wiretemp;

//內(nèi)部信號聲明assigntemp=a&b;//邏輯功能assignf=temp;endmodule

//模塊結(jié)束,無結(jié)束符;端口說明

端口說明用于定義模塊的端口隊(duì)列中的各個端口的I/O傳輸特性,同時也可以聲明各個端口的位寬moduleininoutinoutout內(nèi)部信號說明

內(nèi)部信號說明在端口說明中給出端口類型,缺省的端口類型為wire型,也可在端口說明中被明確定義為wire類型,或重新定義為reg型,需要說明的是無論被定義成哪種類型,其端口數(shù)據(jù)長度必須與原定義一致。wirea,b,c;wire[3:1]instr;reg[15:0]naddr;regm,n,q;功能定義模塊中最重要的是邏輯功能定義,可通過下面3種方法在模塊中實(shí)現(xiàn)邏輯功能。assign語句—是實(shí)現(xiàn)組合邏輯最常用的方法之一always語句—既可描述組合邏輯,也可描述時序邏輯模塊實(shí)例語句—在一個模塊中應(yīng)用其他模塊,實(shí)現(xiàn)層次化設(shè)計(jì)module_nameInstance_name(port_associations);VerilogHDL基本要素

1、數(shù)據(jù)類型分類物理數(shù)據(jù)類型net型reg型抽象數(shù)據(jù)類型integer整型time時間型real實(shí)型event事件型parameters參數(shù)型這兩種類型的變量在定義時,要設(shè)置位寬缺省值為一位。變量的每一位可以是0,1,X或Z。memory型由于存在不同數(shù)據(jù)類型,在一個設(shè)計(jì)中就可能使用不同的數(shù)據(jù)類型,這些數(shù)據(jù)類型之間就可能存在相互之間的驅(qū)動問題,在VerlogHDL中,不同數(shù)據(jù)類型的之間遵循以下驅(qū)動規(guī)則:數(shù)據(jù)類型之間相互驅(qū)動問題輸入口(input)可以由reg型或net型驅(qū)動,但它本身只能驅(qū)動net型;輸出口(output)可以由reg型或net型驅(qū)動,但它本身只能驅(qū)動net型;輸入/輸出口(inout)只可以由net型驅(qū)動,它本身也只能驅(qū)動net型;如果信號變量是在過程塊(initial塊或always塊)中被賦值的,必須把它聲明為reg型變量PortAssignmentsmodulereg/

netnetmodulereg/netnetmodulenetnetInputOutputinoutnetnet2運(yùn)算符算術(shù)運(yùn)算符位運(yùn)算符邏輯運(yùn)算符關(guān)系運(yùn)算符等式運(yùn)算符移位運(yùn)算符+,-,*,/~,&,|,^,~^&&,||,!>,<,<=,>===,!=,!==,====a>>n或a<<n過程塊是VerilogHDL行為描述的基本單位。一個模塊的行為級描述通常由一個或多個過程塊構(gòu)成。過程語句(initial和always語句)@(敏感事件列表,只在always語句后出現(xiàn),可缺?。K開始標(biāo)識符(begin/fork):塊名(可缺省)局部變量說明(可缺省)過程賦值語句/高級程序語句塊結(jié)束標(biāo)識符(end/join)VerilogHDL常用四種說明語句一個程序模塊可以包含多個initial、always、task和function過程塊。其中initial語句無條件觸發(fā),執(zhí)行一次;always語句在滿足觸發(fā)條件執(zhí)行,或無條件時一直執(zhí)行;一個模塊中的過程語句可有多個存在,相互獨(dú)立,并行執(zhí)行。initialalwaystaskfunction2.3.2結(jié)構(gòu)說明語句always的敏感事件一般格式:always@(event1)always@(event1orevent2)always@(posedgeclk)always@(negedgeclk)always@(posedgeclkornegedgereset)3過程賦值語句

VerilogHDL的行為描述中語句塊主要有過程賦值語句和邏輯控制語句組成。其中過程賦值語句必須放在always進(jìn)程中,其基本格式為:<被賦值變量><賦值操作符><賦值表達(dá)式>阻塞賦值=非阻塞賦值<=Verilog包括兩種過程賦值語句串行塊語句中,各條非阻塞過程賦值語句對應(yīng)的“賦值表達(dá)式”同時開始計(jì)算,在過程塊結(jié)束時,才將結(jié)果賦值給各個“被賦值變量”,可理解為先同時采樣,最后一起賦值。串行塊內(nèi)各條阻塞型過程賦值語句按順序依次執(zhí)行。本條語句的賦值操作完成后,下一條語句才開始執(zhí)行。moduleblk(c,b,a,clk);outputc,b;inputclk,a;regb,c;always@(posedgeclk)begin b=a;c=b;endendmodule阻塞賦值語句使用“=”作為賦值符阻塞賦值語句按順序執(zhí)行,一條語句完全執(zhí)行完后,才執(zhí)行下一條語句,即有“阻塞”作用。moduleblkn(c,b,a,clk);outputc,b;inputclk,a;regb,c;always@(posedgeclk)begin b<=a;c<=b;endendmodule非阻塞賦值語句使用“<=”作為賦值符非阻塞賦值語句并行執(zhí)行,即一條語句不會“阻塞”其它語句執(zhí)行,充許賦值調(diào)度。4條件語句和循環(huán)語句條件語句條件分支語句if-else條件分支語句case循環(huán)語句for語句repeat語句while語句if-else語句格式格式1:if(<條件表達(dá)式>)語句或語句塊格式2:if(<條件表達(dá)式>)語句或語句塊1; else語句或語句塊2;格式3:if(<條件表達(dá)式1>)語句或語句塊1; elseif(<條件表達(dá)式2>)語句或語句塊2; …… elseif(<條件表達(dá)式n>)語句或語句塊n; else語句或語句塊n+1;單分支控制兩路分支控制多路分支控制格式1:case(條件表達(dá)式) <case分支項(xiàng)表達(dá)式1>:語句塊1 <case分支項(xiàng)表達(dá)式2>:語句塊2 defult:默認(rèn)語句塊 endcase格式2:casex(條件表達(dá)式) <case分支項(xiàng)表達(dá)式1>:語句塊1<case分支項(xiàng)表達(dá)式2>:語句塊2 defult:默認(rèn)語句塊endcasecase語句的一般格式格式3:casez(條件表達(dá)式) <case分支項(xiàng)表達(dá)式1>:語句塊1 <case分支項(xiàng)表達(dá)式2>:語句塊2defult:默認(rèn)語句塊endcasefor語句格式for(<表達(dá)式1>;<條件表達(dá)式>;<表達(dá)式2>)

<表達(dá)式1>定義了循環(huán)變量的初值,<表達(dá)式2>定義了循環(huán)變量的增值操作,<條件表達(dá)式>定義了循環(huán)條件,常為邏輯表達(dá)式執(zhí)行循環(huán)體語句之前,首先計(jì)算表達(dá)式1的值,然后判斷條件是否成立,如果條件成立,則執(zhí)行語句塊中的語句,然后執(zhí)行表達(dá)式2,修改循環(huán)變量。forever語句格式格式1:forever語句;格式2:forever begin

多條語句 endforever循環(huán)語句是一個無條件循環(huán)語句,是一個不可綜合的語句,不能獨(dú)立寫在程序中,必須寫在initial塊中。通常用于產(chǎn)生周期性的波形,作為仿真測試信號。repeat語句格式格式1:repeat(表達(dá)式)語句;格式2:repeat(表達(dá)式) begin

多條語句 end執(zhí)行語句、語句組直到表達(dá)式為零。如果一開始表達(dá)式條件即為假,則語句一次也不能被執(zhí)行while語句格式格式1:while(表達(dá)式)語句格式2:while(表達(dá)式) begin

多條語句 end2.3.5任務(wù)和函數(shù)VerilogHDL常用四種說明語句initialalwaystaskfunction在VerilogHDL的行為描述模塊除了initial說明語句和always說明語句外,還有任務(wù)說明語句task和函數(shù)說明語句function,分別用來定義任務(wù)和函數(shù),利用任務(wù)和函數(shù)用于描述復(fù)雜程序,提高程序的可移植性和可讀性。task說明語句格式:task<任務(wù)名>; <端口定義> <語句1> <語句2> …… <語句n> endtask任務(wù)的端口定義中可以有input、output和inout,且數(shù)量不限。function說明語句function<返回值的類型或范圍>(函數(shù)名);<端口說明語句><變量類型說明語句>begin<語句>endendfunction調(diào)用函數(shù)的一般格式如下:<函數(shù)名>(<表達(dá)式1><,<表達(dá)式2>,……>)4數(shù)據(jù)流描述方式概念廣義:根據(jù)信號(變量)之間的邏輯關(guān)系,采用持續(xù)賦值語句描述邏輯電路的方式,稱為數(shù)據(jù)流描述。狹義:可以理解即是將傳統(tǒng)意義上的“邏輯表達(dá)式”轉(zhuǎn)換為運(yùn)用VerilogHDL中的運(yùn)算符和賦值語句(assign語句)的表示形式。5結(jié)構(gòu)描述方式2.5結(jié)構(gòu)描述概念通過調(diào)用邏輯元件、描述它們之間的連接來建立邏輯電路的VerilogHDL

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論