電子設(shè)計自動化第3章 EDA硬件結(jié)構(gòu)_第1頁
電子設(shè)計自動化第3章 EDA硬件結(jié)構(gòu)_第2頁
電子設(shè)計自動化第3章 EDA硬件結(jié)構(gòu)_第3頁
電子設(shè)計自動化第3章 EDA硬件結(jié)構(gòu)_第4頁
電子設(shè)計自動化第3章 EDA硬件結(jié)構(gòu)_第5頁
已閱讀5頁,還剩125頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

3.1可編程邏輯器件簡介

3.2幾種典型的PLD器件介紹

3.3SOC介紹

3.4實訓(xùn):用QuartusⅡ軟件中的圖形法設(shè)計電路

習題早期的可編程邏輯器件只有可編程只讀存儲器(PROM)、紫外線可擦除只讀存儲器(EPROM)和電可擦除只讀存儲器(EEPROM)三種。由于結(jié)構(gòu)的限制,它們只能完成簡單的數(shù)字邏輯功能。PLA器件既有現(xiàn)場可編程的,也有掩膜可編程的。在PAL的根底上產(chǎn)生了GAL(GenericArrayLogic),如GAL16V8、GAL22V10等。它采用了EEPROM工藝,實現(xiàn)了電可擦除、電可改寫,其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而它的設(shè)計具有很強的靈活性,至今仍有許多人使用。這些早期的PLD器件有一個共同的特點,即可以實現(xiàn)速度特性較好的邏輯功能,但其過于簡單的結(jié)構(gòu)也使其只能實現(xiàn)規(guī)模較小的電路。圖3-1簡單PLD的局部結(jié)構(gòu)為了彌補這一缺陷,20世紀80年代中期,ALTERA和Xilinx分別推出了類似于PAL結(jié)構(gòu)的擴展型CPLD和與標準門陣列類似的FPGA,它們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點。這兩種器件兼容了PLD和通用門陣列的優(yōu)點,可實現(xiàn)較大規(guī)模的電路,編程也很靈活。這兩種器件與門陣列等其他ASIC相比,具有設(shè)計開發(fā)周期短、設(shè)計制造本錢低、開發(fā)工具先進、標準產(chǎn)品無需測試、質(zhì)量穩(wěn)定以及可實時在線檢驗等優(yōu)點,因此被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計和產(chǎn)品生產(chǎn)(一般在10000件以下)中。幾乎所有應(yīng)用門陣列、PLD和中小規(guī)模通用數(shù)字集成電路的場合均可應(yīng)用FPGA和CPLD器件。對用戶而言,CPLD與FPGA的內(nèi)部結(jié)構(gòu)稍有不同,但用法一樣,所以多數(shù)情況下不加以區(qū)分。FPGA/CPLD芯片都是特殊的ASIC芯片,它們除了具有ASIC的特點之外,還具有以下優(yōu)點:

(1)隨著VLSI(VeryLargeScaleIC,超大規(guī)模集成電路)工藝的不斷提高,單一芯片內(nèi)部可以容納上百萬個晶體管,F(xiàn)PGA/CPLD芯片的規(guī)模也越來越大,其單片邏輯門數(shù)已到達上百萬門,它所能實現(xiàn)的功能也越來越強,同時也可以實現(xiàn)系統(tǒng)集成。(2)?FPGA/CPLD芯片在出廠之前都做過百分之百的測試,不需要設(shè)計人員承擔投片風險和費用,設(shè)計人員只需在自己的實驗室里就可以通過相關(guān)的軟硬件環(huán)境來完成芯片的最終功能設(shè)計。因此,F(xiàn)PGA/CPLD的資金投入小,節(jié)省了許多潛在的花費。(3)用戶可以反復(fù)編程、擦除、使用,或者在外圍電路不動的情況下用不同軟件實現(xiàn)不同的功能。因此,用FPGA/CPLD試制樣片,能以最快的速度占領(lǐng)市場。FPGA/CPLD軟件包中有各種輸入工具、仿真工具、幅員設(shè)計工具和編程器等全線產(chǎn)品,電路設(shè)計人員在很短的時間內(nèi)就可完成電路的輸入、編譯、優(yōu)化、仿真,直至最后芯片的制作。當電路有少量改動時,更能顯示出FPGA/CPLD的優(yōu)勢。電路設(shè)計人員使用FPGA/CPLD進行電路設(shè)計時,不需要具備專門的IC深層次的知識,F(xiàn)PGA/CPLD軟件易學易用,可以使設(shè)計人員集中精力進行電路設(shè)計,快速將產(chǎn)品推向市場。3.1.3可編程邏輯器件原理

可編程邏輯器件可以分為FPGA和CPLD兩大類,其組成原理不盡相同。

1.基于乘積項(Product-Term)的PLD結(jié)構(gòu)

采用這種結(jié)構(gòu)的PLD芯片有:ALTERA的MAX7000、MAX3000系列(EEPROM工藝),Xilinx的XC9500系列(Flash工藝)和Lattice、Cypress的大局部產(chǎn)品(EEPROM工藝)。這種PLD的內(nèi)部結(jié)構(gòu)(以MAX7000為例,其他型號的結(jié)構(gòu)與此相似)如圖3-2所示。圖3-2基于乘積項的PLD內(nèi)部結(jié)構(gòu)基于乘積項的PLD可分為三局部:宏單元(Macrocell),可編程連線(PIA)和I/O控制塊。宏單元是PLD的根本結(jié)構(gòu),由它來實現(xiàn)根本的邏輯功能。圖3-2中LABA、LABB、LABC、LABD是多個宏單元的集合(因為宏單元較多,沒有一一畫出)??删幊踢B線負責信號傳遞,連接所有的宏單元。I/O控制塊負責輸入/輸出的電氣特性控制,比方可以設(shè)定集電極開路輸出、三態(tài)輸出等。圖3-2左上的INPUT/GCLK1、INPUT/GCLRn、INPUT/OE1和INPUT/OE2是全局時鐘、清零和輸出使能信號,這幾個信號有專用連線與PLD中的每個宏單元相連,信號到每個宏單元的延時相同且延時最短。宏單元的具體結(jié)構(gòu)見圖3-3。圖3-3宏單元結(jié)構(gòu)圖3-3中,左側(cè)是乘積項邏輯陣列,實際就是一個“與-或〞陣列,每一個交叉點都是一個可編程熔絲,如果導(dǎo)通就實現(xiàn)“與〞邏輯。后面的乘積項選擇矩陣是一個“或〞陣列。兩者一起完成組合邏輯。圖右側(cè)是一個可編程D觸發(fā)器,它的時鐘、清零輸入都可以編程選擇,可以使用專用的全局清零和全局時鐘,也可以使用內(nèi)部邏輯(乘積項陣列)產(chǎn)生的時鐘和清零。如果不需要觸發(fā)器,也可以將此觸發(fā)器旁路,信號直接輸給PIA或輸出到I/O腳。2.乘積項結(jié)構(gòu)PLD的邏輯實現(xiàn)原理

下面以一個簡單的電路為例,具體說明PLD是如何利用以上結(jié)構(gòu)實現(xiàn)邏輯功能的,電路如圖3-4所示。圖3-4簡單的電路假設(shè)組合邏輯的輸出(AND3的輸出)為f,那么f=(A+B)*C*(!D)=A*C*!D+B*C*!D(以!D表示D的“非〞),PLD將以圖3-5來實現(xiàn)組合邏輯f。圖3-5電路的PLD實現(xiàn)方式圖3-4所示的電路是一個很簡單的例子,只需要一個宏單元就可以完成,而對于一個復(fù)雜的電路,一個宏單元是不夠的,這時就需要通過并聯(lián)擴展項和共享擴展項將多個宏單元相連,宏單元的輸出也可以連接到可編程連線陣列,再作為另一個宏單元的輸入。這樣,就可以用PLD實現(xiàn)更復(fù)雜的邏輯功能。

這種基于乘積項的PLD根本上都是由EEPROM和Flash工藝制造的,其內(nèi)部含有存儲單元,芯片一上電就可以工作,無需其他芯片配合。

3.基于查找表(Look-Up-Table)的原理與結(jié)構(gòu)

基于查找表的PLD芯片也稱為FPGA,如ALTERA的ACEX、APEX系列,Xilinx的Spartan、Virtex系列等。查找表(Look-Up-Table)簡稱為LUT,其本質(zhì)就是一個RAM。目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的16?×?1的RAM。在用戶通過原理圖或HDL語言描述了一個邏輯電路以后,CPLD/FPGA開發(fā)軟件會自動計算邏輯電路所有可能的結(jié)果,并把結(jié)果事先寫入RAM,這樣,每輸入一個信號進行邏輯運算就等于輸入一個地址進行查表,找出地址對應(yīng)的內(nèi)容,然后輸出即可。

下面來看一個4輸入“與〞門的例子,其實際的邏輯電路圖及LUT實現(xiàn)方式如圖3-6所示。圖3-64輸入“與〞門實際邏輯電路圖及LUT實現(xiàn)方式4.基于查找表(LUT)的FPGA的結(jié)構(gòu)

Xilinx的Spartan?Ⅱ其內(nèi)部結(jié)構(gòu)如圖3-7和圖3-8所示。

Spartan?Ⅱ主要包括CLBs、I/O塊、RAM塊和可編程連線(未表示出)。在Spartan?Ⅱ中,一個CLB包括兩個Slices,每個Slices包括兩個LUT、兩個觸發(fā)器和相關(guān)邏輯。Slices可以看成是Spartan?Ⅱ?qū)崿F(xiàn)邏輯功能的最根本結(jié)構(gòu)(Xilinx其他系列,如Spartan?Ⅵ、Virtex的結(jié)構(gòu)與此稍有不同,具體請參閱相關(guān)數(shù)據(jù)手冊)。

ALTERA的FLEX/ACEX等芯片的結(jié)構(gòu)如圖3-9所示,邏輯單元(LE)內(nèi)部結(jié)構(gòu)如圖3-10所示。圖3-7XilinxSpartan?Ⅱ芯片內(nèi)部結(jié)構(gòu)圖3-8Slices結(jié)構(gòu)圖3-9ALTERA?FLEX/ACEX芯片的內(nèi)部結(jié)構(gòu)圖3-10邏輯單元(LE)內(nèi)部結(jié)構(gòu)FLEX/ACEX的結(jié)構(gòu)主要包括LAB、I/O塊、RAM塊(未表示出)和可編程行/列連線。在FLEX/ACEX中,一個LAB包括8個邏輯單元(LE),每個LE包括一個LUT、一個觸發(fā)器和相關(guān)的邏輯。LE是FLEX/ACEX芯片實現(xiàn)邏輯的最根本結(jié)構(gòu)(ALTERA其他系列,如APEX的結(jié)構(gòu)與此根本相同,具體請參閱相關(guān)數(shù)據(jù)手冊)。5.查找表結(jié)構(gòu)的FPGA邏輯實現(xiàn)原理

仍以圖3-4所示的電路為例,A、B、C、D由FPGA芯片的管腳輸入后進入可編程連線,然后作為地址線連接到LUT,LUT中已經(jīng)事先寫入了所有可能的邏輯結(jié)果,通過地址查找到相應(yīng)的數(shù)據(jù)然后輸出,這樣組合邏輯就實現(xiàn)了。該電路中D觸發(fā)器是直接利用LUT后面的D觸發(fā)器來實現(xiàn)的。時鐘信號CLK由I/O腳輸入后進入芯片內(nèi)部的時鐘專用通道,直接連接到觸發(fā)器的時鐘端。觸發(fā)器的輸出與I/O腳相連,把結(jié)果輸出到芯片管腳。這樣就用PLD完成了圖3-4所示電路的功能。(以上這些步驟都是由軟件自動完成的,不需要人為干預(yù)。)通過進位邏輯將多個LUT單元相連,F(xiàn)PGA可以實現(xiàn)復(fù)雜的邏輯功能。

目前大局部FPGA都是基于SRAM工藝的,而由SRAM工藝制造的芯片在掉電后信息會喪失,需要外加一片專用配置芯片,上電時由這個專用配置芯片把數(shù)據(jù)加載到FPGA中,然后FPGA就可以正常工作了,此配置時間很短,不會影響系統(tǒng)正常工作。也有少數(shù)FPGA采用反熔絲或Flash工藝,這種FPGA不需要外加專用配置芯片。根據(jù)PLD的結(jié)構(gòu)和原理可以知道,PLD分解組合邏輯的功能很強,一個宏單元就可以分解出十幾個甚至20~30個組合邏輯輸入。?FPGA的一個LUT只能處理4輸入的組合邏輯,因此,PLD適合于設(shè)計譯碼等復(fù)雜組合邏輯。FPGA芯片中包含的LUT和觸發(fā)器的數(shù)量非常多,往往都是成千上萬,而PLD一般只能做到512個邏輯單元,而且如果用芯片價格除以邏輯單元數(shù)量,F(xiàn)PGA的平均邏輯單元本錢大大低于PLD。因此,如果設(shè)計中大量使用到觸發(fā)器,例如設(shè)計一個復(fù)雜的時序邏輯,那么使用FPGA就是一個很好的選擇。PLD擁有上電即可工作的特性,而大局部FPGA需要一個加載過程,因此,如果系統(tǒng)需要可編程邏輯器件上電就能工作,那么應(yīng)該選擇PLD。3.2.1ALTERA公司MAX7000系列

1.特點

ALTERA公司生產(chǎn)的MAX7000系列芯片具有以下特點:

(1)該系列是以第二代多陣列結(jié)構(gòu)為根底的高性能CMOS器件。

(2)高密度MAX7128E提供5000個門,其中可用門數(shù)為2500;有128個宏單元,最大I/O引腳數(shù)104。

(3)引腳到引腳的時延為6ns,計數(shù)器工作頻率為151MHz。

(4)可配置擴展乘積項,允許向每個宏單元提供52個乘積項。(5)有44~208個引腳的各種封裝形式,采用引線塑料載體(PLCC)、針柵陣列(PGA)扁平封裝(QFP)。

(6)電源電壓為3.3~5V。

(7)可編程保密位。

(8)?ALTERAMAX+plus?Ⅱ軟件提供開發(fā)支持。

該系列型號有:EPM7032,EPM7032V,EPM7064,EPM7096,EPM7128E,EPM7160,EPM7192,EPM7256等。2.結(jié)構(gòu)

MAX7000的結(jié)構(gòu)見圖3-11,其中I/O為輸入/輸出模塊,LAB為邏輯陣列模塊,這些模塊由可編程連線陣列相互連接。

MAX7000包含4個專用輸入信號,它們能用作專用輸入或每一個宏單元和I/O引腳的全局控制信號,如時鐘、去除和輸出使能。MAX7000每個LAB由16個宏單元組成,多個LAB通過可編程連線陣列互連,每一個LAB包含來自PIA的36個信號、用于存放器輔助功能的控制信號和I/O引腳到存放器的直接通道。宏單元可以單獨配置為組合邏輯和時序邏輯工作方式,它由三個功能塊組成:邏輯陣列、乘積項選擇矩陣和可編程觸發(fā)器。擴展乘積項可以使一個宏單元實現(xiàn)更復(fù)雜的邏輯函數(shù),而不用使用兩個宏單元??删幊踢B線陣列將各個LAB互連在一起,構(gòu)成所需的邏輯功能。每個I/O引腳可以單獨配置為輸入、輸出或是雙向工作方式。圖3-11MAX7000結(jié)構(gòu)3.2.2FLEX8000系列

FLEX(FlexibleLogicElementMatrix)系列可編程芯片采用0.8μmCMOSSRAM或0.65μmCMOSSRAM集成電路制造工藝制造。該系列芯片的特點有:

(1)最大門數(shù)32000,具有2500~16000個可用門和282~1500個觸發(fā)器。

(2)在線可重配置。

(3)采用可預(yù)測在線時間延遲的布線結(jié)構(gòu)。

(4)具有實現(xiàn)加法器和計數(shù)器的專用進位通道。(5)?采用3.3V和5V電源。

(6)?MAX+plus?Ⅱ軟件支持自動布線和布局。

(7)?有84~304個引腳的各種封裝形式。

FLEX8000系列的常用型號有:EPF8282,EPF8452,EPF8636,EPF8820,EPF81188,EPF81500。3.2.3FLEX10K10系列

該系列可編程芯片采用0.5μmCMOSSRAM或0.25μmCMOSSRAM(10K10E系列)集成電路制造工藝制造。該系列芯片的特點有:

(1)具有7000~31000個可用門、6144位RAM、720個觸發(fā)器,最大I/O數(shù)為150。

(2)在線可重配置。

(3)采用可預(yù)測在線時間延遲的布線結(jié)構(gòu)。

(4)具有實現(xiàn)加法器和計數(shù)器的專用進位通道。(5)?采用3.3V和5V電源。

(6)?MAX+plus?Ⅱ軟件支持自動布線和布局。

(7)具有84~562個引腳的各種封裝形式。

FLEX10K10系列芯片的常用型號有:EPF10K10,EPF10K20,EPF10K30,EPF10K40,EPF10K50,EPF10K70,EPF10K100等。3.2.4ALTERACyclone系列

ALTERACyclone系列FPGA針對低本錢進行設(shè)計,采用具有專業(yè)應(yīng)用特性的低本錢器件,例如嵌入式存儲器、外部存儲器接口和時鐘管理電路等。Cyclone系列FPGA是本錢敏感大批量應(yīng)用的最正確方案。如果需要進一步進行系統(tǒng)集成,可以考慮密度更高的Cyclone?ⅡFPGA和CycloneⅢFPGA。這些Cyclone新系列穩(wěn)固了ALTERA在大批量、低本錢應(yīng)用方案中的領(lǐng)先優(yōu)勢。

Cyclone系列FPGA的價格和功能滿足了市場對創(chuàng)新的需求,通過促進產(chǎn)品迅速面市來確定其領(lǐng)先優(yōu)勢。消費類、通信、計算機外設(shè)、工業(yè)和汽車等低本錢大批量應(yīng)用市場都可以使用CycloneFPGA。Cyclone器件的性能足以和業(yè)界最快的FPGA媲美。CycloneFPGA綜合考慮了邏輯、存儲器、鎖相環(huán)(PLL)和高級I/O接口,其主要特點有:

(1)新的可編程體系結(jié)構(gòu),實現(xiàn)低本錢設(shè)計。

(2)嵌入式存儲器資源支持多種存儲器應(yīng)用和數(shù)字信號處理(DSP)實現(xiàn)。

(3)專用外部存儲器接口電路,支持與DDRFCRAM和SDRAM器件以及SDRSDRAM存儲器的連接。

(4)支持串行總線和網(wǎng)絡(luò)接口以及多種通信協(xié)議。3.2.5PLD的配置

PLD的配置方式很多,下面以典型的ALTERA公司的芯片進行介紹。CPLD芯片,比方MAX7000系列的配置程序固化在芯片內(nèi)的EEPROM中,所以該器件不需要專用的配置存儲器,所有MAX7000系列產(chǎn)品都由ALTERA公司提供的編程硬件和軟件進行編程。配置所使用的編程硬件為編程卡、主編程部件(MasterProgrammingUnit,MPU)和配套的編程適配器,編程軟件為MAX+plus?Ⅱ或Quartus?Ⅱ軟件。對于FPGA芯片,比方FLEX8000系列和FLEX10K10系列,其配置信息存放在芯片內(nèi)的SRAM中,掉電后配置信息將全部喪失,所以這些配置信息需要存放在其它EPROM中,ALTERA公司提供了與該系列芯片配套使用的EPROM。對芯片的編程就是對EPROM的編程,芯片開始工作時,進入命令狀態(tài),在該狀態(tài)將配置信息從EPROM中讀到自己的SRAM中,然后進入用戶狀態(tài),在用戶狀態(tài)器件就可以按照配置的功能進行工作了。整個配置過程全部自動進行,也可以靠外部邏輯控制進行,時鐘可由器件自己提供,也可由外部時鐘控制。因此,整個器件只要更換EPROM中的配置信息就可以更換功能,其靈活性是不言而喻的。該器件的配置方式主要有:主動串行配置(AS)、主動并行升址和降址配置(APU/APD)、被動串行配置(PS)、被動并行同步配置(PPS)、被動并行異步配置(PPA)、JTAG配置方式等。1.主動串行配置(AS)

該配置使用ALTERA公司提供的配置EPROM(如EPC1213)作為器件的配置數(shù)據(jù)源,配置EPROM以串行位流(bit-stream)方式向器件提供數(shù)據(jù),見典型電路圖3-12。

在圖中,F(xiàn)LEX8000的nCONFIG引腳接電源,使該器件有開機自動配置能力。2.主動并行升址和降址配置(APU/APD)

在該方式,F(xiàn)LEX8000提供驅(qū)動外部PROM地址輸入的連續(xù)地址,PROM那么在數(shù)據(jù)引腳DATA[7..0]上送回相應(yīng)的字節(jié)數(shù)據(jù),F(xiàn)LEX8000器件產(chǎn)生連續(xù)地址直至加載完成。對于APU方式,計數(shù)順序是上升的(00000H到3FFFFH);對于APD方式,計數(shù)順序是下降的。圖3-12主動串行配置的典型電路使用并行EPROM以APU或APD方式配置FLEX8000的一般電路如圖3-13所示。所有FLEX8000芯片通過自己的18條地址線向EPROM提供地址。圖3-13主動并行升址和降址配置電路

3.被動串行配置(PS)

被動串行配置方式采用外部控制器,通過串行位流來配置FLEX8000,F(xiàn)LEX8000以從設(shè)備的方式通過5條線與外部控制器連接。

外部控制器有如下幾種:

(1)?ALTERA公司的PL-MPU編程部件和FLEX下載電纜(DownloadCable);

(2)智能主機(微機或單片機);

(3)?ALTERA公司的BitBlaster電纜,該電纜與RS232接口兼容。

使用ALTERA的FLEX下載電纜進行被動串行配置的電路如圖3-14所示。圖3-14被動串行配置電路FLEX的下載電纜一端接MPU主編程部件的EPROM適配器,另一端與要編程的目的板中待配置的FLEX器件連接起來,向FLEX器件提供5個信號。配置數(shù)據(jù)取自MAX+plusⅡ軟件編譯形成的SRAM目標文件(*.sof)。

FLEX8000進入用戶狀態(tài)后,隨時都可以置換器件內(nèi)的配置數(shù)據(jù),這個過程叫做在線重新配置(in-circuit-configuration)或在系統(tǒng)編程(insystemprogrammable)。這樣會增加整個系統(tǒng)的體積、功耗,且降低系統(tǒng)的可靠性。如果將ARM或其他知識產(chǎn)權(quán)以硬核方式植入FPGA中,利用FPGA中的可編程邏輯資源和IP軟核,直接通過FPGA中的邏輯宏單元來構(gòu)成該嵌入式系統(tǒng)處理器的接口功能模塊,那么能很好地解決這些問題。對此,ALTERA和Xilinx公司都相繼推出了這方面的器件。例如,ALTERA的Excalibur系列FPGA中就植入了ARM922T嵌入式系統(tǒng)處理器;Xilinx的Virtex?ⅡPro系列FPGA中植入了IBM

PowerPC405處理器,這就能使得FPGA靈活的硬件設(shè)計和硬件實現(xiàn)功能與處理器的強大軟件功能有機地相結(jié)合,高效實現(xiàn)了SOPC系統(tǒng)。(2)基于FPGA嵌入IP軟核的SOPC系統(tǒng)。將IP硬核直接植入FPGA的解決方案存在如下缺點:

①由于此類硬核多來自第三方公司,因而FPGA廠商通常無法直接控制其授權(quán)費用,從而導(dǎo)致FPGA器件價格相對偏高。

②由于硬核是預(yù)先植入的,設(shè)計者無法根據(jù)實際需要改變處理器的結(jié)構(gòu),如總線規(guī)模、接口方式乃至指令形式,更不可能將FPGA邏輯資源構(gòu)成的硬件模塊以指令的形式形成內(nèi)置嵌入式系統(tǒng)的硬件加速模塊(如DSP模塊),以適應(yīng)更多的電路功能要求。③無法根據(jù)實際設(shè)計需求在同一FPGA中使用多個處理器核。

④無法減少處理器硬件資源以降低FPGA本錢。

⑤只能在特定的FPGA中使用硬核嵌入式系統(tǒng),如只能使用Excalibur系列FPGA中的ARM核、Virtex?ⅡPro系列中的PowerPC核。利用軟核嵌入式系統(tǒng)處理器就能有效解決上述問題。目前最有代表性的軟核嵌入式系統(tǒng)處理器分別是ALTERA的Nios和Nios?Ⅱ核、Xilinx的MicroBlaze核。特別是NiosCPU系統(tǒng),使上述5方面的問題得到很好的解決。ALTERA的Nios核是用戶可隨意配置和構(gòu)建、具有32/16位總線(用戶可選)指令集和數(shù)據(jù)通道的嵌入式系統(tǒng)微處理器IP核,采用Avalon總線結(jié)構(gòu)通信接口,帶有增強的內(nèi)存、調(diào)試和軟件功能(C或匯編程序優(yōu)化開發(fā)功能);含由First

Silicon

Solutions(FS2)開發(fā)的基于JTAG的片內(nèi)設(shè)備(OCI)內(nèi)核(這為開發(fā)者提供了強大的軟硬件調(diào)試實時代碼,OCI調(diào)試功能可根據(jù)FPGA

JTAG端口上接收的指令直接監(jiān)視和控制片內(nèi)處理器的工作情況)。此外,基于Quartus?Ⅱ平臺的用戶可編輯的Nios核含有許多可配置的接口模塊核,包括可配置高速緩存模塊、可配置RS232通信口、SDRAM控制器、標準以太網(wǎng)協(xié)議接口、DMA、定時器、協(xié)處理器等。在植入(配置進)FPGA前,用戶可根據(jù)設(shè)計要求,利用Quartus?Ⅱ和SOPCBuilder,對Nios及其外圍系統(tǒng)進行構(gòu)建,使該嵌入式系統(tǒng)在硬件結(jié)構(gòu)、功能特點、資源占用等方面全面滿足用戶系統(tǒng)設(shè)計的要求。Nios核在同一FPGA中被植入的數(shù)量沒有限制,只要FPGA的資源允許。此外,Nios可植入的ALTERAFPGA的系列幾乎沒有限制,在這方面,Nios顯然優(yōu)于Xilinx的MicroBlaze。另外,在開發(fā)工具的完備性方面、對常用嵌入式操作系統(tǒng)支持方面,Nios都優(yōu)于MicroBlaze。就本錢而言,由于Nios是由ALTERA直接推出的而非第三方產(chǎn)品,故用戶通常無需支付知識產(chǎn)權(quán)費用,Nios的使用費僅僅是其占用的FPGA邏輯資源費。因此,選用的FPGA越廉價,那么Nios的使用費就越廉價。特別值得一提的是,通過Matlab和DSP

Builder,或直接使用VHDL等硬件描述語言,用戶可以為Nios嵌入式處理器設(shè)計各類加速器,并以指令的形式參加Nios的指令系統(tǒng),從而成為Nios系統(tǒng)的一個接口設(shè)備,與整個片內(nèi)嵌入式系統(tǒng)融為一體。例如,用戶可以根據(jù)設(shè)計工程的具體要求,隨心所欲地構(gòu)建自己的DSP處理器系統(tǒng),而不必拘泥于其他DSP公司已上市的有限款式的DSP處理器。3.3.2SOPC設(shè)計初步

SOPC一般采用大容量FPGA作為載體,除了在FPGA中定制MCU處理器和DSP功能模塊外,還可以設(shè)計其它邏輯功能模塊,實現(xiàn)MCU+DSP+FPGA在一片芯片上集成。例如,可采用ALTERA公司的Cyclone、Stratix、Stratix?Ⅱ等大容量FPGA實現(xiàn)片上系統(tǒng)。圖3-15是一個典型的基于ALTERA公司大容量FPGA的SOPC結(jié)構(gòu)圖。其中Nios?Ⅱ可以采用ALTERA公司的SOPCBuilder來定制,DSP采用DSPBuilder來定制。圖3-15典型的基于ALTERA公司大容量FPGA的SOPC結(jié)構(gòu)圖圖3-16是一個簡化的基于Quantus?Ⅱ和Nios?Ⅱ的SOPC開發(fā)流程。從圖中可見,SOPC的開發(fā)流程比FPGA的開發(fā)流程增加了處理器及其外設(shè)接口的定制步驟以及軟件開發(fā)的步驟(陰影框)。這些新增加的步驟在SOPCBuider(定制處理器和外設(shè)接口)、NiosⅡIDE(軟件集成開發(fā)環(huán)境)工具的協(xié)助下可以輕松完成。圖3-16簡化的基于Quantus?Ⅱ和Nios?Ⅱ的SOPC開發(fā)流程圖3.4實訓(xùn):用Quartus?Ⅱ軟件中的圖形法設(shè)計電路一、實訓(xùn)內(nèi)容設(shè)計一個產(chǎn)生“10101110〞序列的脈沖發(fā)生器。二、實訓(xùn)目的(1)學會運用Quartus?Ⅱ軟件的圖形法設(shè)計數(shù)字電路。(2)掌握Quartus?Ⅱ軟件的使用步驟。(3)掌握脈沖序列的產(chǎn)生原理。三、實訓(xùn)原理

在通信系統(tǒng)中,脈沖序列發(fā)生器是一種常見電路。本實訓(xùn)要求設(shè)計的脈沖發(fā)生器產(chǎn)生“11011001〞序列信號。由數(shù)字電路的知識可知,可以運用一個8選1的數(shù)據(jù)選擇器與一個8進制的計數(shù)器構(gòu)成脈沖發(fā)生器,具體電路如圖3-17所示。

時鐘信號由CLK端輸入,可以控制時鐘信號的頻率從而控制脈沖序列產(chǎn)生的速度。Y為輸出信號。圖3-17脈沖發(fā)生器的電路原理圖四、實訓(xùn)步驟

1.啟動QuartusⅡ6.0

雙擊桌面上的Quartus?Ⅱ6.0圖標或單擊“開始〞按鈕并在程序菜單中選擇QuartusⅡ6.0,可以啟動QuartusⅡ6.0,啟動界面如圖3-18所示。圖3-18Quartus?Ⅱ6.0啟動界面2.編輯文件

單擊菜單欄中的File\New命令,翻開如圖3-19所示的“New〞對話框,用于輸入文件類型。

單擊“New〞對話框中的DeviceDesignFiles選項卡,選擇輸入文件的類型。這里選擇“BlockDiagram/SchematicFile〞,選好后單擊“OK〞按鈕,翻開圖形編輯窗口,如圖3-20所示。圖3-19“New〞對話框圖3-20圖形編輯窗口3.輸入原理圖

右擊鼠標,彈出如圖3-21所示的快捷菜單,點擊“Insert\Symbol〞,出現(xiàn)如圖3-22所示的輸入原理圖符號窗口。圖3-21插入圖形符號圖3-22輸入原理圖符號窗口本實訓(xùn)所用到的元件74151、74161在others\maxplus2庫中,輸入端口信號、輸出端口信號在primitives\pin庫中,電源信號(VCC)、接地信號(GND)在primitives\other庫中。在畫連線時,把光標置于端口處,當出現(xiàn)十字形時按下左鍵進行畫線。其余的操作與Protel相似。畫出的原理圖如圖3-23所示。

保存所建立的文件,保存對話框如圖3-24所示,將該文件保存到D盤design文件夾中,文件名為ex1_v。圖3-23原理圖輸入圖3-24保存文件對話框4.創(chuàng)立工程

1)翻開新建工程向?qū)?/p>

單擊File\NewPrejectWizard菜單,出現(xiàn)新建工程向?qū)υ捒颍鐖D3-25所示。

單擊“Next〞按鈕,出現(xiàn)工程根本設(shè)置對話框,如圖3-26所示。圖3-25新建工程向?qū)υ捒驁D3-26工程根本設(shè)置對話框在最上面的輸入框中輸入工作庫文件夾的地址,本例的地址是D:\Designs,單擊旁邊的瀏覽按鈕,如圖3-27所示,選擇所需的設(shè)計文件。

輸入該工程的名稱,一般可以用頂層文件的名稱作為工程名稱,本例的頂層文件名是ex1_v。最下面的文件名輸入框要求輸入頂層設(shè)計文件實體的名稱,本例頂層文件實體的名稱也是ex1_v。單擊“翻開〞按鈕,出現(xiàn)如圖3-28所示的工程設(shè)置完成對話框。圖3-27選擇文件對話框圖3-28工程設(shè)置完成對話框2)將設(shè)計文件參加工程中

單擊“Next〞按鈕,彈出添加文件對話框,如圖3-29所示。將與本工程有關(guān)的文件參加,方法有兩種:一種是單擊右邊的“AddAll〞按鈕,將工程目錄中的所有文件參加到工程文件欄;另一種是單擊“Add〞按鈕,從工程目錄中選出相關(guān)的文件參加到工程中。圖3-29向工程中添加文件對話框3)選擇目標芯片

單擊“Next〞按鈕,翻開如圖3-30所示的選擇目標芯片對話框,根據(jù)系統(tǒng)設(shè)計的實際需要選擇目標芯片。首先在Family欄選擇芯片系列,本例選擇Cyclone系列的EP1C3T144C8芯片,讀者可以根據(jù)已有的實驗開發(fā)系統(tǒng)選擇適宜的芯片。圖3-30選擇目標芯片對話框4)選擇仿真器和綜合器類型

單擊“Next〞按鈕,彈出如圖3-31所示的選擇仿真器和綜合器對話框。如果不選擇,那么表示使用QuartusⅡ中自帶的仿真器和綜合器??梢愿鶕?jù)需要選擇適宜的仿真器與綜合器,在本例中選擇默認的選項。

單擊“Next〞按鈕,彈出工程設(shè)置統(tǒng)計窗口,如圖3-32所示。圖3-31選擇仿真器和綜合器類型圖3-32工程設(shè)置統(tǒng)計窗口5)結(jié)束設(shè)置

最后單擊“Finish〞按鈕,結(jié)束設(shè)置。在QuartusⅡ6.0主窗口的左側(cè)會出現(xiàn)如圖3-33所示的工程管理窗口,或稱CompilationHierarchy窗口,主要顯示本工程工程的層次結(jié)構(gòu)和各層次的實體名。圖3-33工程管理窗口5.目標芯片的配置

1)選擇目標芯片

單擊菜單欄中的Assignments\Device命令,彈出如圖3-34所示的對話框,選擇Category下的Device選項,然后在右側(cè)選擇目標芯片EP1C3T144C8(此芯片已在建立工程時選定了)。也可在Showin'Availabledevices'list欄通過設(shè)置Package(封裝形式)、Pincount(管腳數(shù)量)和Speedgrade(速度)來選定芯片。圖3-34選擇目標芯片2)選擇目標器件編程配置方式

單擊“Device&PinOptions…〞按鈕進入器件與管腳操作對話框,如圖3-35所示。首先選擇Configuration項,在此列表框的下方有相應(yīng)的說明,可選Configuration方式為PassiveSerial,這種方式可以直接由PC機配置,也可由專用配置器件進行配置。使用的配置器件選Auto(系統(tǒng)自動配置)。圖3-35器件與管腳操作對話框3)選擇輸出配置

單擊“ProgrammingFiles〞選項卡,如圖3-36所示,可以選“Hexadecimal(Intel-Format)OutputFile(.hexout)〞,即產(chǎn)生下載文件的同時,產(chǎn)生十六進制配置文件。Start(起始地址)設(shè)為0,Count(計數(shù))設(shè)為Up(遞增方式)。此可編程文件可用于單片機與EPROM構(gòu)成的FPGA配置電路系統(tǒng)。圖3-36“ProgrammingFiles〞選項卡4)選擇目標器件閑置引腳的狀態(tài)

單擊“UnusedPins〞選項卡,如圖3-37所示,可根據(jù)實際需要選擇目標器件空閑管腳的狀態(tài)。有三種狀態(tài)可供選擇:作為輸入并呈高阻狀態(tài),作為輸出并呈低電平狀態(tài),作為輸出并呈不確定狀態(tài)。也可以對空閑管腳不作任何選擇,而由編程器自動配置。圖3-37“UnusedPins〞選項卡

6.編譯

1)編譯

單擊菜單欄中的Processing\StartCompilation命令,啟動全程編譯,如圖3-38所示。如果工程文件中有錯誤,在下方的信息欄中會顯示出來??呻p擊提示信息,在閃動的光標處(或附近)仔細查找錯誤,改正后存盤,再次進行編譯,直到?jīng)]有錯誤為止。編譯成功的標志是所有進程都完成。圖3-38全程編譯界面2)閱讀編譯報告

編譯成功后可以看到編譯報告,如圖3-39所示,左邊是編譯處理信息目錄,右邊是編譯報告。這些信息也可以在Processing菜單下的CompilationReport中見到。圖3-39編譯報告7.仿真

1)建立波形文件

仿真前必須建立波形文件。?單擊File\New命令,?翻開文件選擇窗口,然后單擊“OtherFiles〞選項卡,選擇其中的“VectorWaveformFile〞選項,如圖3-40

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論