版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第12章可編程邏輯器件是由編程來確定其邏輯功能的器件。ProgrammableLogicalDevice,簡(jiǎn)稱PLD第12章可編程邏輯器件是由編程來確定其邏輯功能的器件。1本章目標(biāo)賴祖亮@小木蟲1了解可編程邏輯器件FPGA/CPLD的基本工作原理及其分類234了解不同廠商的可編程邏輯器件FPGA/CPLD產(chǎn)品熟練根據(jù)設(shè)計(jì)要求,能夠?qū)删幊踢壿嬈骷﨔PGA/CPLD進(jìn)行選型能夠根據(jù)FPGA/CPLD開發(fā)流程進(jìn)行應(yīng)用設(shè)計(jì)本章目標(biāo)賴祖亮@小木蟲1了解可編程邏輯器件FPGA/CPLD2引言可編程邏輯器件是指可以通過軟件手段更改、配置器件內(nèi)部連接結(jié)構(gòu)和邏輯單元,完成既定設(shè)計(jì)功能的數(shù)字集成電路。廣義上講,可編程邏輯器件是指一切通過軟件手段更改、配置器件內(nèi)部連接結(jié)構(gòu)和邏輯單元,完成既定設(shè)計(jì)功能的數(shù)字集成電路。
當(dāng)今主流的可編程邏輯器件主要分為復(fù)雜可編程邏輯器件(CPLD)和現(xiàn)場(chǎng)可編程門陣列(FPGA)2大類。采用可編程邏輯器件,通過定義器件內(nèi)部的邏輯和輸入、輸出引出端,將原來由電路板設(shè)計(jì)完成的大部分工作放在芯片設(shè)計(jì)中進(jìn)行。大大減輕了電路圖設(shè)計(jì)和電路板設(shè)計(jì)的工作量和難度,從而有效地增強(qiáng)了設(shè)計(jì)的靈活性,提高了工作效率。引言可編程邏輯器件是指可以通過軟件手段更改、配置器件內(nèi)部3內(nèi)容提要Altera主流CPLD/FPGA最小硬件系統(tǒng)設(shè)計(jì)CPLD/FPGA廠商及產(chǎn)品概述CPLD/FPGA的基本結(jié)構(gòu)PLD的可編程原理PLD的發(fā)展及分類QuartusII軟件入門向?qū)?nèi)容提要Altera主流CPLD/FPGA最小硬件系統(tǒng)設(shè)計(jì)4進(jìn)行可編程邏輯設(shè)計(jì)時(shí),通過定義器件內(nèi)部的邏輯和輸入、輸出引出端,將原來由電路板設(shè)計(jì)完成的大部分工作放在芯片設(shè)計(jì)中進(jìn)行。在采用PLD設(shè)計(jì)邏輯電路時(shí),設(shè)計(jì)者借助計(jì)算機(jī)在相關(guān)集成開發(fā)軟件平臺(tái)上完成數(shù)字邏輯電路的描述,通過編譯和邏輯網(wǎng)表的生成后,將相關(guān)數(shù)據(jù)寫入PLD器件,最終在器件上實(shí)現(xiàn)通過計(jì)算機(jī)所做的邏輯電路描述和系統(tǒng)設(shè)計(jì)自20世紀(jì)80年代以來,PLD發(fā)展非常迅速,器件的速度指標(biāo)得到飛速提高,F(xiàn)PGA的門延時(shí)已小于5ns,CPLD的工作速度也已達(dá)到數(shù)百M(fèi)Hz以上。采用PLD設(shè)計(jì)的數(shù)字系統(tǒng)的工作速度及工作可靠性遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的中小規(guī)模數(shù)字邏輯器件12.1.1可編程邏輯器件綜述進(jìn)行可編程邏輯設(shè)計(jì)時(shí),通過定義器件內(nèi)部的邏輯和輸入、輸出引出5目前,可編程邏輯器件已發(fā)展為CPLD/FPGA兩大結(jié)構(gòu)陣營體系,分別適合于承擔(dān)組合邏輯設(shè)計(jì)及復(fù)雜的時(shí)序邏輯設(shè)計(jì)。12.1.2可編程邏輯器件的發(fā)展歷程目前,可編程邏輯器件已發(fā)展為CPLD/FPGA兩大結(jié)構(gòu)陣營體6按集成度進(jìn)行分類1按陣列進(jìn)行分類2乘積項(xiàng)結(jié)構(gòu)PLD:基本結(jié)構(gòu)為乘積項(xiàng),采用“與-或陣列”。(大部分簡(jiǎn)單PLD和CPLD都屬于這個(gè)范疇)查找表結(jié)構(gòu)FPGA:簡(jiǎn)單的查找表構(gòu)成可編程門,再構(gòu)成陣列形式。(大多數(shù)FPGA屬于此類器件)12.1.3可編程邏輯器件的分類按集成度進(jìn)行分類1按陣列進(jìn)行分類2乘積項(xiàng)結(jié)構(gòu)PLD7按編程工藝進(jìn)行分類31.熔絲(Fuse)型器件:編程過程就是根據(jù)設(shè)計(jì)的熔絲圖文件來燒斷對(duì)應(yīng)的熔絲,達(dá)到編程的目的2.反熔絲(Anti-fuse)型器件:與熔絲燒斷獲得開路相反3.EPROM型:紫外擦除電可編程,與熔絲、反熔絲型不同,可多次編程4.EEPROM型:電可擦寫編程器件,不需紫外線擦除5.SRAM型:即SRAM查找表結(jié)構(gòu)的器件。大部分FPGA器件均采用此編程工藝。編程速度最快,在斷電后數(shù)據(jù)立即丟失,再次上電需要再次編程。通過外掛專用的EEPROM器件來輔助存儲(chǔ)編程數(shù)據(jù),下次上電時(shí)自動(dòng)將數(shù)據(jù)導(dǎo)入FPGA的SRAM6.Flash型:采用Flash工藝的反熔絲型器件,實(shí)現(xiàn)多次可編程,同時(shí)做到掉電后不需要重新配置按編程工藝進(jìn)行分類31.熔絲(Fuse)型器件:編程過程812.2簡(jiǎn)單PLD的可編程原理數(shù)字系統(tǒng)都是由基本門來構(gòu)成的任何組合邏輯電路都可以用“與門-或門”二級(jí)電路實(shí)現(xiàn);任何時(shí)序邏輯電路都可以由組合邏輯電路加上存儲(chǔ)元件(觸發(fā)器、鎖存器構(gòu)成)人們由此提出乘積項(xiàng)可編程電路結(jié)構(gòu),原理結(jié)構(gòu)如下:12.2簡(jiǎn)單PLD的可編程原理數(shù)字系統(tǒng)都是由基本9固定連接可編程連接斷開連接PLD中與門和或門的習(xí)慣畫法(a)(b)YCABCBAACBYYYCBA≥1AAAAAAPLD器件中連接的習(xí)慣畫法
(a)一般畫法
輸入緩沖電路(b)PLD中的習(xí)慣畫法電路符號(hào)表示1固定連接可編程連接斷開連接PLD中與門和或門的習(xí)慣畫法(a10輸入電路:用來產(chǎn)生所需的原變量及反變量與陣列:由多個(gè)多輸入與門組成,用以產(chǎn)生輸入變量的各乘積項(xiàng)或陣列:由多個(gè)多輸入或門組成,用以產(chǎn)生或項(xiàng),即將輸入的某些乘積項(xiàng)相加可編程邏輯器件的基本結(jié)構(gòu)2輸入電路:用來產(chǎn)生所需的原變量及反變量與陣列:由多個(gè)多輸入與11CABCCABBAW7=ABCABCW0=●●●●●●ABC●●●Y3Y2Y1●●●●●●●●●●●●●與陣列或陣列左圖表示的邏輯式:
Y1=ABC+ABC+ABCY2=ABC+ABCY3=ABC+ABC可編程邏輯器件邏輯表達(dá)式輸出3乘積項(xiàng)陣列實(shí)際上就是一個(gè)“與或”陣列,每一個(gè)交叉點(diǎn)都是一個(gè)可編程熔絲,如果導(dǎo)通就是實(shí)現(xiàn)“與”邏輯,在“與”陣列后一般還有一個(gè)“或”陣列,用以完成最小邏輯表達(dá)式中的“或”關(guān)系?!芭c或”陣列配合工作,完成復(fù)雜的組合邏輯功能。CABCCABBAW7=ABCABCW0=●●●●●●1212.2PROM、PLA、PAL及GALPROM(可編程只讀存儲(chǔ)器):只能用于組合電路可編程,不適于多輸入變量的組合函數(shù),浪費(fèi)嚴(yán)重PAL(可編程陣列邏輯):是PLA的改進(jìn)型與陣列可編程,或陣列固定,IO結(jié)構(gòu)不通用,不同的用途種類繁多,熔絲工藝,一次編程PLA(可編程邏輯陣列):與、或陣列均可編程,利用率高,需要邏輯函數(shù)的最簡(jiǎn)與或表達(dá)式,公共與項(xiàng)難利用,軟件算法較復(fù)雜。GAL(通用陣列邏輯):EEPROM工藝,改進(jìn)了IO結(jié)構(gòu),增加了輸出邏輯宏單元(OLMC,OutputMacroCell),通用性好12.2PROM、PLA、PAL及GALPROM(13邏輯陣列固定與可編程的結(jié)構(gòu)示意圖邏輯陣列固定與可編程的結(jié)構(gòu)示意圖14PROM、PLA、PAL、GAL特征及優(yōu)缺點(diǎn)對(duì)比隨著集成工藝的不斷發(fā)展,現(xiàn)代可編程邏輯器件已進(jìn)入大容量CPLD/FPGA時(shí)代,使得單片邏輯系統(tǒng)的實(shí)現(xiàn)成為事實(shí)。15PROM、PLA、PAL、GAL特征及優(yōu)缺點(diǎn)對(duì)比隨著集成工藝12.3CPLD與FPGA的基本結(jié)構(gòu)早期的PROM只能存儲(chǔ)少量數(shù)據(jù),完成簡(jiǎn)單邏輯功能;中期的PAL、GAL等能完成中大規(guī)模的數(shù)字邏輯功能;現(xiàn)代微電子設(shè)計(jì)技術(shù)與微電子工藝的發(fā)展,將可編程邏輯器件推進(jìn)到了新的高度,進(jìn)入了CPLD/FPGA時(shí)代當(dāng)今的復(fù)雜可編程邏輯器件(CPLD)及現(xiàn)場(chǎng)可編程門陣列(FPGA)可以完成超大規(guī)模的復(fù)雜組合邏輯與時(shí)序邏輯;目前,在FPGA上已可集成中央處理器(CPU)或數(shù)字處理器(DSP)內(nèi)核,為實(shí)現(xiàn)片上可編程系統(tǒng)(SOPC,SystemOnProgrammableChip)提供了強(qiáng)大的硬件支持。12.3CPLD與FPGA的基本結(jié)構(gòu)早期的PROM只能1612.3CPLD與FPGA的基本結(jié)構(gòu)早期的PROM只能存儲(chǔ)少量數(shù)據(jù),完成簡(jiǎn)單邏輯功能;中期的PAL、GAL等能完成中大規(guī)模的數(shù)字邏輯功能;現(xiàn)代微電子設(shè)計(jì)技術(shù)與微電子工藝的發(fā)展,將可編程邏輯器件推進(jìn)到了新的高度,進(jìn)入了CPLD/FPGA時(shí)代當(dāng)今的復(fù)雜可編程邏輯器件(CPLD)及現(xiàn)場(chǎng)可編程門陣列(FPGA)可以完成超大規(guī)模的復(fù)雜組合邏輯與時(shí)序邏輯;目前,在FPGA上已可集成中央處理器(CPU)或數(shù)字處理器(DSP)內(nèi)核,為實(shí)現(xiàn)片上可編程系統(tǒng)(SOPC,SystemOnProgrammableChip)提供了強(qiáng)大的硬件支持。12.3CPLD與FPGA的基本結(jié)構(gòu)早期的PROM只能17CPLD:復(fù)雜可編程邏輯器件1CPLD(ComplexProgrammableLogicDevice)是在PAL、GAL基礎(chǔ)上發(fā)展起來的,采用EEPROM工藝,實(shí)現(xiàn)的邏輯功能比PAL、GAL有了大幅度的提升;CPLD一般可以完成設(shè)計(jì)中較復(fù)雜、較高速度的邏輯功能,如接口轉(zhuǎn)換、總線控制等。CPLD:復(fù)雜可編程邏輯器件1CPLD(Comple18FPGA:現(xiàn)場(chǎng)可編程門陣列2FPGA(FieldProgrammableGateArray),是在CPLD的基礎(chǔ)上發(fā)展起來的,采用查找表結(jié)構(gòu),是一種新型高性能可編程邏輯器件。FPGA采用SRAM工藝,集成度很高,器件密度從數(shù)萬系統(tǒng)門到數(shù)千萬系統(tǒng)門不等FPGA可以完成極其復(fù)雜的時(shí)序與組合邏輯電路功能,適用于高速、高密度的高端數(shù)字邏輯電路設(shè)計(jì)領(lǐng)域,如數(shù)字信號(hào)處理、高速數(shù)據(jù)采集等。FPGA:現(xiàn)場(chǎng)可編程門陣列2FPGA(FieldPr19ASIC:專用集成電路3ASIC是固定的或定制的邏輯器件,是為了滿足特定的用途而設(shè)計(jì)的芯片,ASIC通過固化的邏輯功能和大規(guī)模的工業(yè)化生產(chǎn),降低了芯片的成本,同時(shí)提高了產(chǎn)品的可靠性。但是ASIC的設(shè)計(jì)已經(jīng)固定,今后升級(jí)改版難度、投資都比較大,靈活性差等缺陷制約著它的應(yīng)用范圍。FPGA可以零活地更改邏輯設(shè)計(jì),根據(jù)需要,可以隨時(shí)隨地的設(shè)計(jì)、更改大規(guī)模數(shù)字邏輯,具有ASIC無法比擬的優(yōu)勢(shì)。不過,由于FPGA功耗、體積都比ASIC大,在邏輯設(shè)計(jì)的前期,采用FPGA進(jìn)行驗(yàn)證,待設(shè)計(jì)定型后再直接轉(zhuǎn)向ASIC投產(chǎn),克服了直接進(jìn)行ASIC設(shè)計(jì)的弊端。ASIC:專用集成電路3ASIC是固定的或定制的邏輯器件2012.3.1
CPLD的基本結(jié)構(gòu)CPLD的結(jié)構(gòu)相對(duì)比較簡(jiǎn)單,基本都由可編程I/O單元、基本邏輯單元、布線池和其它輔助功能模塊構(gòu)成。12.3.1CPLD的基本結(jié)構(gòu)CPLD的結(jié)構(gòu)相對(duì)比較簡(jiǎn)21可編程I/O單元用來完成不同電氣特性下對(duì)輸入/輸出信號(hào)的驅(qū)動(dòng)與匹配。與FPGA相比,CPLD的可編程I/O的性能和復(fù)雜度都較低。基本邏輯單元是CPLD的主體,通過不同的配置,CPLD的基本邏輯單元可以完成不同類型的邏輯功能。MC的本質(zhì)是有一些與、或陣列加上觸發(fā)器構(gòu)成的;CPLD廣泛采用的乘積項(xiàng)代表了MC中與陣列的輸出,其數(shù)量標(biāo)志了CPLD的容量;可編程I/O單元
1基本邏輯單元
2可編程I/O單元用來完成不同電氣特性下對(duì)輸入/輸出信號(hào)的驅(qū)動(dòng)22布線池本質(zhì)上就是一個(gè)開關(guān)矩陣,通過打結(jié)點(diǎn)可以完成不同MC的輸入與輸出項(xiàng)之間的連接。由于CPLD的布線池結(jié)構(gòu)固定,所以CPLD的輸入管腳到輸出管腳的標(biāo)準(zhǔn)延時(shí)固定,被稱為PintoPin延時(shí),用Tpd表示,它反應(yīng)了CPLD器件可以實(shí)現(xiàn)的最高頻率輔助功能模塊如JTAG(IEEE1532、IEEE1149.1)編程模塊,一些全局時(shí)鐘、全局使能、全局復(fù)位/置位單元等。布線池、布線矩陣3輔助功能模塊4布線池本質(zhì)上就是一個(gè)開關(guān)矩陣,通過打結(jié)點(diǎn)可以完成不同MC的輸2312.3.2
FPGA的基本結(jié)構(gòu)不同廠商的FPGA的基本構(gòu)架都可簡(jiǎn)化為6個(gè)部分,分別為可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等12.3.2FPGA的基本結(jié)構(gòu)不同廠商的FPGA的基本24輸入/輸出(Input/Output)單元簡(jiǎn)稱I/O單元,它們是芯片與外界電路的接口部分?;究删幊踢壿媶卧强删幊踢壿嫷闹黧w,通過改變其內(nèi)部連接與配置來不同的邏輯功能;FPGA一般基于SRAM工藝,其基本可編程邏輯單元幾乎都是由查找表(LUT,LookUpTable)和寄存器(Register)組成的;可編程I/O單元
1基本可編程邏輯單元2在應(yīng)用設(shè)計(jì)中進(jìn)行器件選型時(shí),一個(gè)基本的原則就是根據(jù)底層配置單元的LUT和Register比率來對(duì)器件規(guī)模進(jìn)行估算,從而選擇合適的器件。輸入/輸出(Input/Output)單元簡(jiǎn)稱I/O單元,它25FPGA內(nèi)部一般都包含嵌入式塊RAM單元,實(shí)現(xiàn)RAM、ROM、CAM、FIFO等存儲(chǔ)結(jié)構(gòu)。布線資源是FPGA內(nèi)部各單元的連接紐帶,連線的長度和工藝決定著信號(hào)在連線上的驅(qū)動(dòng)能力和傳輸速度嵌入式塊RAM3豐富的布線資源4為了滿足一定的要求,F(xiàn)PGA開始嵌入如PLL(PhaseLockedLoop,鎖相環(huán))、DSP(DigitalSignalProssor,數(shù)字信號(hào)處理器)、CPU(CentralProcessingUnit,中央處理器)等底層嵌入功能單元5FPGA內(nèi)部一般都包含嵌入式塊RAM單元,實(shí)現(xiàn)RAM、ROM2612.3.3
CPLD與FPGA的比較12.3.3CPLD與FPGA的比較2712.3.4主流CPLD/FPGA廠商及其代表產(chǎn)品目前市場(chǎng)上CPLD/FPGA芯片主要來自Xilinx和Altera公司,它們占據(jù)了FPGA80%以上的市場(chǎng)份額。Lattice公司只提供CPLD器件,Actel公司主要生產(chǎn)反融絲結(jié)構(gòu)的FPGA,主要應(yīng)用于航空、航天領(lǐng)域產(chǎn)品,價(jià)格較高,因此,Lattice及Actel在FPGA的市場(chǎng)占有比例較低12.3.4主流CPLD/FPGA廠商及其代表產(chǎn)品目前市28Lattice是最早推出PLD的公司,是GAL器件的發(fā)明者。20世紀(jì)90年代,Lattice首創(chuàng)了ISP技術(shù)(In-SystemProgrammability,在系統(tǒng)可編程),使CPLD的應(yīng)用領(lǐng)域有了巨大的擴(kuò)展,也為設(shè)計(jì)人員調(diào)試程序提供了極大的方便。Lattice公司的CPLD產(chǎn)品主要有GAL、ispLSI、ispMACH、LatticeEC、LatticeECP系列等。Lattice公司及其CPLD/FPGA器件1Xilinx公司及其CPLD/FPGA器件2Xilinx在1985年推出了業(yè)界首款FPGA,隨后不斷推出新的集成度更高、速度更快、價(jià)格更低、功耗更小FPGA器件系列,目前已成為世界領(lǐng)先的CPLD/FPGA器件供應(yīng)商,Xilinx的CPLD器件以CoolRunner、XC9500系列為代表,F(xiàn)PGA器件以XC4000、Spartan、Virtex系列為代表,其性能不斷提高。Lattice是最早推出PLD的公司,是GAL器件的發(fā)明者。29Altera是著名的PLD生產(chǎn)廠商,多年來一直占據(jù)著行業(yè)領(lǐng)先的地位。Altera的PLD具有高性能、高集成度和高性價(jià)比的優(yōu)點(diǎn),此外它還提供了功能全面的開發(fā)工具和豐富的IP核、宏功能庫等,因此Altera的產(chǎn)品獲得了廣泛的應(yīng)用。其可編程邏輯器件可以分為高密度FPGA、低成本FPGA和CPLD等3類,每個(gè)產(chǎn)品類別在不同時(shí)期都有其主流產(chǎn)品。Altera公司及其CPLD/FPGA器件3Actel公司的FPGA器件4Actel公司生產(chǎn)的FPGA采用了反熔絲工藝,反熔絲工藝未編程時(shí)內(nèi)部節(jié)點(diǎn)開路,編成后接通,去傳統(tǒng)編程方法正好相反,使用Flash存儲(chǔ)器,加密性能最好,因此被廣泛應(yīng)用于航空航天、軍事等保密性要求高的場(chǎng)合Altera是著名的PLD生產(chǎn)廠商,多年來一直占據(jù)著行業(yè)領(lǐng)先3012.3.5工程項(xiàng)目中CPLD/FPGA芯片的選型原則
Xilinx和Altera公司都是知名的CPLD/FPGA供應(yīng)商,二者的產(chǎn)品各有特色。一般根據(jù)設(shè)計(jì)者對(duì)其硬件的熟悉程度選擇一個(gè)公司的產(chǎn)品,這樣有利于加快開發(fā)的進(jìn)度。選擇Altera還是Xilinx公司的產(chǎn)品1優(yōu)先選擇開發(fā)軟件成熟、界面良好、開發(fā)人員熟悉的開發(fā)軟件相關(guān)產(chǎn)品。考慮開發(fā)平臺(tái)212.3.5工程項(xiàng)目中CPLD/FPGA芯片的選型原則31CPLD器件邏輯規(guī)模小于FPGA,價(jià)格低廉,在用于簡(jiǎn)單邏輯控制等場(chǎng)合,選擇CPLD即可。FPGA是專為數(shù)字信號(hào)處理的實(shí)現(xiàn)而設(shè)計(jì),邏輯容量大、內(nèi)嵌許多專用功能模塊,在對(duì)成本不敏感及復(fù)雜的時(shí)序設(shè)計(jì)的場(chǎng)合適宜選擇FPGA。選擇CPLD還是FPGA器件3從邏輯容量、應(yīng)用的速度要求、功耗、可靠性及內(nèi)嵌功能塊等方面綜合考慮型號(hào)選型。其中邏輯容量是考慮的首要方面。選擇器件所屬系列和型號(hào)4CPLD器件邏輯規(guī)模小于FPGA,價(jià)格低廉,在用于簡(jiǎn)單邏輯控3212.4CPLD/FPGA的開發(fā)流程CPLD/FPGA只是數(shù)字可編程邏輯設(shè)計(jì)的承載器件,而邏輯的設(shè)計(jì)實(shí)現(xiàn)則依靠軟件進(jìn)行,進(jìn)行邏輯設(shè)計(jì)時(shí),可以通過傳統(tǒng)的原理圖方式進(jìn)行,也可以通過專有的硬件描述語言(HDL)來實(shí)現(xiàn)CPLD/FPGA開發(fā)流程圖12.4CPLD/FPGA的開發(fā)流程CPLD/FPGA3312.4.1設(shè)計(jì)輸入方式設(shè)計(jì)輸入方式主要分為圖形輸入法和文本輸入法,見下表
12.4.1設(shè)計(jì)輸入方式設(shè)計(jì)輸入方式主要分為圖形輸入法和34文本輸入法需要通過VHDL或Verilog語言來進(jìn)行邏輯設(shè)計(jì)的描述,這需要設(shè)計(jì)者對(duì)于這類HDL語言的語法規(guī)則有初步的語法基礎(chǔ)原理圖輸入方式與使用PROTEL繪制電路原理圖類似,設(shè)計(jì)直觀,易于掌握,設(shè)計(jì)者進(jìn)行電子線路設(shè)計(jì)不需要增加新的相關(guān)知識(shí)(VHDL或VevilogHDL),便于CPLD/FPGA入門使用。由于圖形設(shè)計(jì)方式?jīng)]有標(biāo)準(zhǔn)化,造成不同的EDA軟件中的圖形處理工具對(duì)圖形的設(shè)計(jì)規(guī)則、存檔格式和圖形編譯方式都不同。因此,圖形文件兼容性差。正是由于圖形文件兼容性較差,一些性能優(yōu)秀的電路模塊的移植和再利用十分困難文本輸入法需要通過VHDL或Verilog語言來進(jìn)行邏輯設(shè)計(jì)3512.4.2常用硬件描述語言(HDL)簡(jiǎn)介硬件描述語言(HardwareDescriptionLanguage,HDL)就是指對(duì)硬件電路進(jìn)行行為描述、寄存器傳輸描述或者結(jié)構(gòu)化描述的一種語言HDL是用文本的形式描述硬件電路的功能、信號(hào)連接關(guān)系以及時(shí)序關(guān)系。它可以進(jìn)行大規(guī)模,多個(gè)芯片的數(shù)字系統(tǒng)的設(shè)計(jì)。目前主流硬件描述語言有VHDL和VerilogVHDL起源于美國國防部的VHSIC,Verilog起源于集成電路(ASIC)的(仿真)設(shè)計(jì)。它們?cè)诟鞣矫嬗兄约旱奶攸c(diǎn)。12.4.2常用硬件描述語言(HDL)簡(jiǎn)介硬件描述語言36VHDL與VerilogHDL的對(duì)比VHDL與VerilogHDL的對(duì)比3712.4.3主流EDA軟件概述
QuartusII是Altera公司的綜合性CPLD/FPGA開發(fā)軟件,支持原理圖、VHDL、VerilogHDL等多種HDL語言,以及它們之間的混合輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程ISE是由著名的可編程器件開發(fā)商Xilinx公司提供的集成化開發(fā)平臺(tái)。ISE具有界面良好、操作簡(jiǎn)單的特點(diǎn),使得ISE成為了非常通用的FPGA工具軟件。ISE提供了包括代碼編寫、庫管理以及HDL綜合、仿真、下載等幾乎所有FPGA開發(fā)所需的功能QuartusII概述1ISE概述212.4.3主流EDA軟件概述QuartusII是Al38仿真是指在軟件環(huán)境下,驗(yàn)證電路的行為和設(shè)計(jì)意圖是否一致。在邏輯設(shè)計(jì)領(lǐng)域,仿真與驗(yàn)證時(shí)整個(gè)設(shè)計(jì)流程中最重要、最復(fù)雜與最耗時(shí)的步驟Altera公司的QuartusII和Xilinx公司的ISE本身也具備仿真功能,它們自帶的仿真功能有限,一般在小型設(shè)計(jì)中較為常用。在從事大型數(shù)字系統(tǒng)的設(shè)計(jì)開發(fā)時(shí),軟件自帶的仿真工具仿真起來十分耗時(shí)。ModelSim概述3MentorGraphicsModelSim是業(yè)界公認(rèn)的最優(yōu)秀的HDL語言仿真器,它提供最友好的調(diào)試環(huán)境,是單內(nèi)核支持VHDL和Verilog混合仿真的仿真器,是作FPGA/ASIC設(shè)計(jì)的RTL級(jí)和門級(jí)電路仿真的首選。ModelSim采用直接優(yōu)化的編譯技術(shù)、Tcl/Tk技術(shù)、和單一內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺(tái)無關(guān),便于保護(hù)IP核。ModelSim個(gè)性化的圖形界面和用戶接口,為用戶加快調(diào)錯(cuò)提供強(qiáng)有力的手段。仿真是指在軟件環(huán)境下,驗(yàn)證電路的行為和設(shè)計(jì)意圖是否一致。在邏3912.5.1
FPGA最小系統(tǒng)一個(gè)最基本的CPLD/FPGA最小系統(tǒng)是可以使CPLD/FPGA正常工作的最簡(jiǎn)單的系統(tǒng),只包括CPLD/FPGA必要的電源電路、下載/配置電路、外部時(shí)鐘電路、I/O接口電路等基于現(xiàn)代集成工藝的CPLD/FPGA為了在更小的體積與更高的集成度基礎(chǔ)上上獲得更多的輸出引腳,往往采用了薄型扁平封裝(LQFP、PQFP)及陣列球珊封裝(BGA)。右圖是一個(gè)基本的FPGA最小系統(tǒng)的樣板例子,外引了IO,預(yù)設(shè)了幾個(gè)LED燈和撥碼開關(guān)
12.5.1FPGA最小系統(tǒng)一個(gè)最基本的CPLD/F4012.5.2
SOPC-NiosII-EP2C35實(shí)驗(yàn)教學(xué)開發(fā)平臺(tái)簡(jiǎn)述完備的FPGA開發(fā)平臺(tái)擁有豐富的外設(shè)資源和接口器件12.5.2SOPC-NiosII-EP2C35實(shí)驗(yàn)教學(xué)開41EP2C35核心板系統(tǒng)功能框圖EP2C35核心板系統(tǒng)功能框圖42FPGA系統(tǒng)平臺(tái)功能框圖FPGA系統(tǒng)平臺(tái)功能框圖4312.5.3實(shí)例設(shè)計(jì)要求:設(shè)計(jì)實(shí)現(xiàn)8位流水燈,在秒脈沖作用下,實(shí)現(xiàn)8個(gè)LED燈7亮1暗循環(huán)流動(dòng)。軟件:QuartusII6.0實(shí)現(xiàn)平臺(tái):SOPC-NiosII-EP2C35實(shí)驗(yàn)開發(fā)平臺(tái)整個(gè)設(shè)計(jì)過程在QuartusII上完成,將涉及如下應(yīng)用:①Q(mào)uartusII工程創(chuàng)建及屬性設(shè)置;②QuartusIIHDL設(shè)計(jì)及原理圖設(shè)計(jì)輸入方式;③QuartusII時(shí)序仿真;④QuartusII引腳鎖定;⑤QuartusII工程編譯;⑥QuartusII硬件下載。12.5.3實(shí)例設(shè)計(jì)要求:設(shè)計(jì)實(shí)現(xiàn)8位流水燈,在秒脈沖作用44QuartusII軟件入門向?qū)д?qǐng)參照后面的步驟,提前做好預(yù)習(xí),熟悉QuartusII軟件的操作環(huán)境;QuartusII軟件安裝時(shí)要注意它的破解步驟。QuartusII軟件入門向?qū)д?qǐng)參照后面的步驟,提前做好預(yù)習(xí)45工程創(chuàng)建時(shí)的準(zhǔn)備工作QuartusII通過“工程(Project)”來管理設(shè)計(jì)文件,必須為此工程創(chuàng)建一個(gè)放置與此工程相關(guān)的所有設(shè)計(jì)文件的文件夾;此文件夾名不宜用中文,也最好不要用數(shù)字,應(yīng)放到磁盤上容易找到的地方,不要放在軟件的安裝目錄中;建立完工程文件夾后再進(jìn)行后續(xù)操作……在QuartusII6.0環(huán)境下建立工程工程創(chuàng)建時(shí)的準(zhǔn)備工作QuartusII通過“工程(Proje461、項(xiàng)目創(chuàng)建向?qū)Чこ涛募?,任取,建立在用戶自己的目錄下,不要使用軟件的安裝目錄或系統(tǒng)目錄選擇文件的存放路徑頂層實(shí)體名,一般和工程名相同文件菜單基于已有項(xiàng)目創(chuàng)建工程(一般不使用)設(shè)置完畢后單擊“Next”1、項(xiàng)目創(chuàng)建向?qū)Чこ涛募?,任取,建立在用戶自己的目錄下,?72、為創(chuàng)建的工程添加設(shè)計(jì)文件添加用戶的設(shè)計(jì)文件選中待添加的文件后點(diǎn)擊“Add”,若暫無文件,直接點(diǎn)擊“Next”設(shè)置完畢后單擊“Next”2、為創(chuàng)建的工程添加設(shè)計(jì)文件添加用戶的設(shè)計(jì)文件設(shè)置完畢后單擊483、器件選擇選擇FPGA器件型號(hào)選擇FPGA器件所屬系列實(shí)驗(yàn)開發(fā)板所使用的器件為ALtera公司CycloneII系列(Family)的EP2C35F484C8(Avaliabledevices)設(shè)置完畢后單擊“Next”3、器件選擇選擇FPGA器件型號(hào)選擇FPGA器件所屬系列實(shí)驗(yàn)494、EDA工具設(shè)置選擇第三方EDA工具(如ModelSim、Synplify等)這里不需要,都不打勾該步驟可單擊“Next”直接跳過4、EDA工具設(shè)置選擇第三方EDA工具(如ModelSim505、完成!工程創(chuàng)建完畢,在工程管理器界面出現(xiàn)所選用的器件系列、器件名及工程文件名“CycloneII”;單擊“Finish”,完成工程創(chuàng)建5、完成!工程創(chuàng)建完畢,在工程管理器界面出現(xiàn)所選用的器件系列51綜上所述,創(chuàng)建工程時(shí)的幾個(gè)步驟如下(1)指定工程所在的工作庫文件夾、工程名及設(shè)計(jì)實(shí)體名;(2)將設(shè)計(jì)文件加入工程中,若無設(shè)計(jì)文件直接跳過;(3)選擇仿真器和綜合器類型(默認(rèn)“None”為選擇QuartusII自帶的);(4)選擇目標(biāo)芯片(開發(fā)板上的芯片類型);(5)工具設(shè)置,默認(rèn)為都不選擇,可直接跳過;(6)完成創(chuàng)建。工程建立后,若需要新增設(shè)計(jì)文件,可以通過菜單項(xiàng)Project/Add_Remove……在工程中添加新建立的設(shè)計(jì)文件,也可以刪除不需要的設(shè)計(jì)文件。編譯時(shí)將按此選項(xiàng)卡中列出的文件處理。綜上所述,創(chuàng)建工程時(shí)的幾個(gè)步驟如下(1)指定工程所在的工作庫52在QuartusII6.0工程下建立設(shè)計(jì)文件1、在File菜單下點(diǎn)擊“New”,即彈出新建文件窗口QuartusII支持原理圖輸入、VHDL語言輸入等多種設(shè)計(jì)輸入方式,后面以原理圖輸入(BlockDiagram/SchematicFile)為例介紹選此后單擊OK在QuartusII6.0工程下建立設(shè)計(jì)文件1、在File菜532、建立原理圖設(shè)計(jì)文件原理圖編輯區(qū)繪圖輔助工具工程文件名上圖中,選擇第二項(xiàng):BlockDiagram/SchematicFile,點(diǎn)擊ok后即得如下界面:2、建立原理圖設(shè)計(jì)文件原理圖編輯區(qū)繪圖輔助工具工程文件名上圖543、調(diào)用參數(shù)化元件(內(nèi)置元件)在繪圖區(qū)雙擊鼠標(biāo)左鍵,即彈出添加元件的窗口在此輸入已知的元件名,可以快速地調(diào)出元件/端口并預(yù)覽點(diǎn)擊“+”號(hào)可展開查看查看庫中所有的元件/端口3、調(diào)用參數(shù)化元件(內(nèi)置元件)在繪圖區(qū)雙擊鼠標(biāo)左鍵,即彈出添55分別輸入“input”和“74138”時(shí)的預(yù)覽窗口輸入74138,庫里已有的元件會(huì)預(yù)覽在這里輸入INPUT,庫里已有的端口符號(hào)會(huì)預(yù)覽在這里單擊OK,即可將預(yù)覽的端口符號(hào)/元件放置在繪圖區(qū)分別輸入“input”和“74138”時(shí)的預(yù)覽窗口輸入74156繪圖輔助工具欄介紹1、畫線及選擇工具2、文本工具3、符號(hào)工具,點(diǎn)擊后可調(diào)出前面添加元件的窗口4、窗口縮放工具5、窗口全屏顯示,按“ESC”退出注意:使用窗口縮放工具按鈕后,請(qǐng)切換回畫線及選擇工具按鈕,才能對(duì)繪圖進(jìn)行編輯。其余工具按鈕不常用,這里不介紹選中后,右鍵放大,左鍵縮小繪圖輔助工具欄介紹1、畫線及選擇工具2、文本工具3、符號(hào)工具57從符號(hào)庫中調(diào)出74138、VCC、GND、INPUT、OUTPUT等符號(hào)/端口,排放整齊;完成畫線連接操作(鼠標(biāo)放到端點(diǎn)處,會(huì)自動(dòng)變?yōu)樾∈中?,按下左鍵拖動(dòng)到目標(biāo)處,釋放后即完成本次畫線操作),若要畫折線,在轉(zhuǎn)折處單擊一次左鍵,繼續(xù)拖動(dòng)即可;為OUTPUT端口命名:雙擊該輸出端口,在彈出的窗口中輸入名稱即可。網(wǎng)絡(luò)標(biāo)號(hào)自定義的端口名從符號(hào)庫中調(diào)出74138、VCC、GND、INPUT、OUT58重復(fù)上述步驟,依次輸入JKFF、INPUT,按下圖進(jìn)行連接,完成分頻器及計(jì)數(shù)器電路設(shè)計(jì);使用網(wǎng)絡(luò)標(biāo)號(hào)關(guān)聯(lián)2個(gè)原理圖:如何添加網(wǎng)絡(luò)標(biāo)號(hào):在需要添加網(wǎng)路標(biāo)號(hào)的連線上單擊右鍵,彈出的菜單上選擇“Properties”后輸入網(wǎng)絡(luò)標(biāo)號(hào)即可網(wǎng)絡(luò)標(biāo)號(hào)用來實(shí)現(xiàn)將兩根未連通的線進(jìn)行“不畫線”的連接重復(fù)上述步驟,依次輸入JKFF、INPUT,按下圖進(jìn)行連接,59全程編譯在下拉菜單“Processing”中選擇“StartCompilation”,啟動(dòng)全程編譯編譯完成后的信息報(bào)告窗口全程編譯在下拉菜單“Processing”中選擇“Start60關(guān)于全程編譯啟動(dòng)全程編譯:選擇Processing/StartCompilation,自動(dòng)完成分析、排錯(cuò)、綜合、適配、匯編及時(shí)序分析的全過程。編譯過程中,錯(cuò)誤信息通過下方的信息欄指示(紅色字體)。雙擊錯(cuò)誤信息,可以定位到錯(cuò)誤所在處,改正后再次進(jìn)行編譯直至排除所有錯(cuò)誤;編譯成功后,會(huì)彈出編譯報(bào)告,顯示相關(guān)編譯信息。關(guān)于全程編譯啟動(dòng)全程編譯:61工程編譯完成后,設(shè)計(jì)結(jié)果是否滿足設(shè)計(jì)要求,可以通過時(shí)序仿真來分析;時(shí)序仿真主要包含如下的設(shè)置步驟:打開波形編輯器;設(shè)置仿真時(shí)間區(qū)域;波形文件存盤;將端口節(jié)點(diǎn)信號(hào)選入波形編輯器中;編輯輸入波形(輸入激勵(lì)信號(hào));總線數(shù)據(jù)格式設(shè)置啟動(dòng)仿真器觀察仿真結(jié)果(波形編輯文件及產(chǎn)生的波形報(bào)告文件分開顯示)若無法觀察完整波形,可以使用熱鍵Ctrl+W,即可看到完整的仿真波形。也可使用鼠標(biāo)左右鍵,方法如下:選中后,右鍵放大,左鍵縮小順序并不是唯一的時(shí)序仿真工程編譯完成后,設(shè)計(jì)結(jié)果是否滿足設(shè)計(jì)要求,可以通過時(shí)序仿真來621、建立波形矢量文件(左圖);2、添加引腳節(jié)點(diǎn)1、建立波形矢量文件(左圖);63添加引腳節(jié)點(diǎn)(續(xù))在Filter下選擇“Pins:unassigned”,再單擊“List”,列出引腳端口”在NodesFound下方的列表下選擇所列出的端口,將其拖放到波形文件的引腳編輯區(qū)添加引腳節(jié)點(diǎn)(續(xù))在Filter下選擇“Pins:unass643、設(shè)置仿真時(shí)間長度默認(rèn)為1us,這里將其設(shè)置為100us3、設(shè)置仿真時(shí)間長度默認(rèn)為1us,這里將其設(shè)置為100us654、設(shè)置仿真時(shí)間周期默認(rèn)為10ns,由于競(jìng)爭(zhēng)冒險(xiǎn)的存在,在仿真時(shí)信號(hào)波形和大量毛刺混疊在一起,影響仿真結(jié)果因此,這里設(shè)置為500ns4、設(shè)置仿真時(shí)間周期默認(rèn)為10ns,由于競(jìng)爭(zhēng)冒險(xiǎn)的存在,在仿665、編輯輸入端口信號(hào)窗口縮放(左鍵放大,右鍵縮?。┮丫庉嫼玫臅r(shí)鐘波形選中CP后,點(diǎn)擊此符號(hào),直接編輯周期脈沖信號(hào)5、編輯輸入端口信號(hào)窗口縮放(
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第6課 認(rèn)識(shí)機(jī)器人構(gòu)件(教學(xué)實(shí)錄)2023-2024學(xué)年六年級(jí)下冊(cè)信息技術(shù)閩教版
- 個(gè)人小學(xué)述職報(bào)告范文集合七篇
- 2024年設(shè)備回購及租賃合同
- 安徽省滁州二中高中信息技術(shù)《5.2使用數(shù)據(jù)庫》教學(xué)實(shí)錄 新人教版必修
- 母親初中作文(15篇)
- 2024年版城市智能化基礎(chǔ)設(shè)施共建合同
- 2021以家風(fēng)為題的高三800作文
- 教師轉(zhuǎn)正自我鑒定10篇
- 陜西xx城鎮(zhèn)老舊小區(qū)改造項(xiàng)目可行性研究報(bào)告
- 2022酒店員工辭職報(bào)告(匯編15篇)
- 九大仙草你認(rèn)識(shí)嗎課件
- GB∕T 12234-2019 石油、天然氣工業(yè)用螺柱連接閥蓋的鋼制閘閥
- DB62∕T 3176-2019 建筑節(jié)能與結(jié)構(gòu)一體化墻體保溫系統(tǒng)應(yīng)用技術(shù)規(guī)程
- 消費(fèi)者行為學(xué)50年:演化與顛覆
- T∕CTES 1035-2021 透明質(zhì)酸鈉紡織品 保濕性能的檢測(cè)與評(píng)價(jià)
- 煙草設(shè)備ppt課件
- 二氧化碳可降解塑料生產(chǎn)項(xiàng)目建議書
- 幼兒園幼兒教育數(shù)學(xué)領(lǐng)域核心經(jīng)驗(yàn)
- 屋面彩鋼板檁條安裝施工方案
- EBZ220A掘進(jìn)機(jī)幻燈片
- 機(jī)械原理課程設(shè)計(jì)-旋轉(zhuǎn)型灌裝機(jī)運(yùn)動(dòng)方案設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論