版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章 EDA技術(shù)概述第1章 EDA技術(shù)概述當(dāng)今數(shù)字電子技術(shù)得到了飛速發(fā)展,有力地推動(dòng)和促進(jìn)了社會(huì)生產(chǎn)力和社會(huì)信息化的提高。數(shù)字電子技術(shù)逐步滲透到人類(lèi)生活的各個(gè)領(lǐng)域。從消費(fèi)電子產(chǎn)品、工業(yè)自動(dòng)化設(shè)備到航天技術(shù)都能看到數(shù)字電子技術(shù)的身影。在技術(shù)發(fā)展的同時(shí),電子產(chǎn)品的設(shè)計(jì)方式也發(fā)生了巨大的改變,采用EDA(電子設(shè)計(jì)自動(dòng)化)技術(shù)成為數(shù)字電子設(shè)計(jì)的主要方式。1.1 EDA技術(shù)及發(fā)展數(shù)字電子技術(shù)工程師現(xiàn)在正面臨著前所未有的挑戰(zhàn)。一方面,電子公司要求工程師在更短的時(shí)間里,使用更少的資源來(lái)設(shè)計(jì)新產(chǎn)品,而且性能要比競(jìng)爭(zhēng)產(chǎn)品好。另一方面,技術(shù)變化非???,不同的客戶有完全不同的需求,要求有更具個(gè)性化的產(chǎn)品。因此,E
2、DA技術(shù)應(yīng)運(yùn)而生,成為解決以上“所有”問(wèn)題的很好的技術(shù)選擇。1.1.1 何謂EDA技術(shù)EDA技術(shù)是一門(mén)迅速發(fā)展的新技術(shù)。它以大規(guī)模可編程邏輯器件為設(shè)計(jì)載體,以硬件描述語(yǔ)言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷拈_(kāi)發(fā)軟件及實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)為設(shè)計(jì)工具。它能用軟件的方式設(shè)計(jì)電子系統(tǒng),自動(dòng)完成硬件系統(tǒng)的邏輯編譯、邏輯化簡(jiǎn)、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,最后在特定的目標(biāo)芯片中完成適配編譯、邏輯映射、編程下載等工作,形成集成電子系統(tǒng)或?qū)S眉尚酒?。利用EDA技術(shù)進(jìn)行電子系統(tǒng)的設(shè)計(jì)具有以下幾個(gè)特點(diǎn)。q 用軟件的方式設(shè)計(jì)硬件。q 用軟件的方式設(shè)計(jì)的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由
3、有關(guān)的開(kāi)發(fā)軟件自動(dòng)完成的。q 設(shè)計(jì)過(guò)程中可用有關(guān)軟件進(jìn)行各種仿真。q 系統(tǒng)可現(xiàn)場(chǎng)編程,在線升級(jí)。q 整個(gè)系統(tǒng)可集成在一個(gè)芯片上,體積小、功耗低、可靠性高。因此,EDA技術(shù)是現(xiàn)代電子設(shè)計(jì)的發(fā)展趨勢(shì)。EDA技術(shù)是數(shù)字系統(tǒng)設(shè)計(jì)的核心技術(shù),是電子類(lèi)專(zhuān)業(yè)技術(shù)人員必須掌握的基本技能之一。目前的大規(guī)??删幊踢壿嬈骷荂PLD(復(fù)雜可編程邏輯器件)和FPGA(可編程邏輯陣列)。1.1.2 基于大規(guī)??删幊踢壿嬈骷臄?shù)字系統(tǒng)設(shè)計(jì)現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)相當(dāng)大一部分是基于大規(guī)??删幊踢壿嬈骷模@是因?yàn)榛诖笠?guī)??删幊踢壿嬈骷脑O(shè)計(jì)擁有面市時(shí)間快、靈活性大、可定制解決方案、開(kāi)發(fā)成本低和具有現(xiàn)場(chǎng)更新能力等優(yōu)點(diǎn)。工程師首先對(duì)
4、系統(tǒng)或者設(shè)計(jì)進(jìn)行構(gòu)思,然后在計(jì)算機(jī)上采用高級(jí)語(yǔ)言(Verilog HDL語(yǔ)言或者VHDL語(yǔ)言)來(lái)描述這一構(gòu)思,設(shè)計(jì)出軟件代碼。最重要的是,可以使用設(shè)計(jì)工具軟件檢查設(shè)計(jì)中有沒(méi)有錯(cuò)誤。確定設(shè)計(jì)適合目標(biāo)的可編程邏輯器件后,檢查設(shè)計(jì)是否達(dá)到了性能要求,可以把設(shè)計(jì)下載到目標(biāo)器件中,直接在硬件中調(diào)試功能。本書(shū)討論的大規(guī)??删幊踢壿嬈骷荈PGA?,F(xiàn)在的FPGA設(shè)計(jì)與幾年前的FPGA設(shè)計(jì)有很大不同,它具有全功能,可以實(shí)現(xiàn)電路板級(jí)的集成,同時(shí)降低了成本。例如,一個(gè)典型的系統(tǒng)設(shè)計(jì)如圖1.1所示。這塊電路板上有很多芯片,諸如CPU、I/O單元、小規(guī)模的FPGA、閃存和SDRAM存儲(chǔ)器及一個(gè)DSP模塊。該系統(tǒng)需要的
5、電路板比較大,這樣才能容納這些芯片。這提高了設(shè)計(jì)成本和復(fù)雜度。但是,現(xiàn)在能夠把CPU、I/O和DSP都放在一個(gè)可編程邏輯芯片中,如圖1.2所示。采用一片F(xiàn)PGA,可以從系統(tǒng)中去掉很多硬件,從而降低了成本和功耗。 圖1.1 典型的系統(tǒng)設(shè)計(jì)框圖 圖1.2 集成后的系統(tǒng)現(xiàn)在可編程邏輯幾乎無(wú)處不在。從家里的HDTV到附近的蜂窩電話發(fā)射塔,直至銀行的ATM,這些都含有可編程邏輯器件形式的數(shù)字邏輯,它實(shí)現(xiàn)了從控制系統(tǒng)怎樣工作的CPU到網(wǎng)絡(luò)和通信應(yīng)用中高速交換流量管理等方方面面的功能。1.2 可編程邏輯器件的發(fā)展簡(jiǎn)介在早期的數(shù)字邏輯設(shè)計(jì)中,設(shè)計(jì)人員在電路板或者面包板上把多個(gè)芯片連在一起構(gòu)成系統(tǒng)。每個(gè)芯片包括
6、一個(gè)或者多個(gè)邏輯門(mén)(如NAND、AND、OR或者非門(mén)),或者簡(jiǎn)單邏輯結(jié)構(gòu)(如觸發(fā)器和復(fù)用器等)。20世紀(jì)60和70年代的很多設(shè)計(jì)都采用美國(guó)德州儀器公司的7400系列TTL,即晶體管-晶體管邏輯器件。設(shè)計(jì)TTL時(shí),其目的一般是以盡量少的芯片來(lái)實(shí)現(xiàn)設(shè)計(jì),以降低成本,減小電路板面積。而且,還需要盡量采用已有的器件來(lái)進(jìn)行設(shè)計(jì)。1.2.1 邏輯設(shè)計(jì)基本流程在實(shí)現(xiàn)邏輯功能時(shí),首先要建立真值表,如表1.1所示。真值表列出了邏輯所有可能的輸入及輸入組合可能產(chǎn)生的相關(guān)輸出。對(duì)于n輸入,有種可能的輸入組合,這些都需要進(jìn)行考慮。根據(jù)真值表,我們可以建立卡諾圖,如圖1.3所示。用卡諾圖很容易建立簡(jiǎn)單的邏輯表達(dá)式。表1
7、.1 真值表ABCDY00000000100010000111010000101101101011111000010011101011011111001110111110111111圖1.3 根據(jù)真值表建立的卡諾圖根據(jù)卡諾圖中含有1的每個(gè)框,結(jié)合每個(gè)框的公共輸入,我們可以建立函數(shù)的一個(gè)“乘積和”式的邏輯表達(dá)式,如公式1所示。(公式1)表達(dá)式由6個(gè)乘積項(xiàng)組成,每個(gè)乘積項(xiàng)對(duì)應(yīng)一個(gè)與門(mén)。要在硬件中直接實(shí)現(xiàn)這一功能,需要6個(gè)2輸入與門(mén),1個(gè)6輸入或門(mén),如果希望同步輸出,還需要一個(gè)輸出寄存器或者觸發(fā)器。6輸入或門(mén)不支持TTL,因此,需要級(jí)聯(lián)更小的或門(mén),這增加了延時(shí)和元件數(shù)量。為解決這些問(wèn)題,TTL設(shè)計(jì)人
8、員使用與非邏輯重寫(xiě)公式,如公式2所示。(公式2)這樣,使用7400系列標(biāo)準(zhǔn)元件來(lái)最終實(shí)現(xiàn)這些邏輯,如圖1.4所示。圖1.4 實(shí)現(xiàn)邏輯的電路圖這一實(shí)現(xiàn)方案只使用了兩級(jí)邏輯來(lái)產(chǎn)生乘積和,使用一個(gè)寄存器來(lái)建立同步輸出??傮w上,可以使用這一例子中介紹的方法把大部分?jǐn)?shù)字電路的邏輯功能簡(jiǎn)化為乘積和。使用兩個(gè)組合邏輯級(jí)來(lái)實(shí)現(xiàn)這些功能,與門(mén)建立乘積項(xiàng),或門(mén)對(duì)乘積求和。在輸入上可以采用非門(mén)來(lái)置反輸入,以產(chǎn)生所需的功能。為了存儲(chǔ)輸出,或者使輸出與其他輸出同步,需要寄存器形式的同步邏輯。如果不需要存儲(chǔ)器或者同步,可以旁路輸出寄存器。采用TTL邏輯器件,在實(shí)驗(yàn)面包板或者印刷電路板上,用銅線把這些分立元件連在一起。1.
9、2.2 可編程邏輯器件PAL思考一下邏輯功能實(shí)現(xiàn)的共性,如果把這些邏輯門(mén)和寄存器組合到一個(gè)器件中會(huì)怎樣?從與門(mén)到或門(mén),從或門(mén)到寄存器有固定的連接會(huì)怎樣呢?更進(jìn)一步,如果有一種方法來(lái)設(shè)置輸入和與門(mén)之間的連接,以確定應(yīng)使用哪些輸入,以及在哪里使用,又會(huì)怎樣呢?這方面的思考導(dǎo)致了第一款可編程陣列邏輯器件PAL的產(chǎn)生,如圖1.5所示。將邏輯門(mén)和輸出寄存器固定為通用邏輯后,選擇使用邏輯輸入及其互補(bǔ)邏輯,就可以建立任何邏輯功能。PAL主要由圖1.5中的三部分構(gòu)成,多次復(fù)制這三部分就可以形成復(fù)雜PAL器件。這里顯示的可編程陣列是所選擇的輸入,將其連接到需要的與門(mén)。在輸入和進(jìn)入與門(mén)的線之間進(jìn)行連接,可實(shí)現(xiàn)線與
10、操作。與門(mén)輸出構(gòu)成乘積項(xiàng)。乘積項(xiàng)通過(guò)或門(mén)完成乘積和,從而產(chǎn)生最終函數(shù)輸出。圖1.5 可編程陣列邏輯示意圖然后,將其送入寄存器進(jìn)行存儲(chǔ)或者同步。這一部分PAL通常被稱(chēng)為宏單元。某些PAL包括了陣列反饋選項(xiàng),以實(shí)現(xiàn)更復(fù)雜的邏輯功能,還可以完全旁路輸出寄存器,以建立異步輸出。需要指出的是,在目前的大部分器件中,所有這三部分共同構(gòu)成了宏單元。這就是CPLD器件的情況。這類(lèi)器件的優(yōu)點(diǎn)非常明顯。一個(gè)器件中的邏輯越多,電路板上需要的器件就越少。器件越少,意味著占用更少的電路板來(lái)實(shí)現(xiàn)邏輯,空出的電路板可以用于放置其他元件。更少的器件還意味著較低的總成本及功耗。邏輯功能連接不必跨過(guò)多個(gè)器件,避免了連接錯(cuò)誤,也簡(jiǎn)
11、化了邏輯功能的測(cè)試和調(diào)試。PAL還可以實(shí)現(xiàn)設(shè)計(jì)安全性。PAL在設(shè)計(jì)上還非常靈活,設(shè)計(jì)人員采用一類(lèi)器件就能夠建立很多不同的設(shè)計(jì),不用擔(dān)心邏輯的可用性。這種靈活性使可編程邏輯設(shè)計(jì)實(shí)現(xiàn)起來(lái)更復(fù)雜,但與PAL配套產(chǎn)生了很多自動(dòng)設(shè)計(jì)工具,它們簡(jiǎn)化了設(shè)計(jì)過(guò)程,縮短了設(shè)計(jì)時(shí)間。PAL最強(qiáng)的功能在于它可以支持在系統(tǒng)編程和重新編程,很容易修復(fù)故障或者更新設(shè)計(jì),而不需要替換電路板元件。早期PAL器件編程甚至當(dāng)前閃存技術(shù)的關(guān)鍵都在于編程陣列中跨線連接所使用的特殊晶體管。這些特殊晶體管被稱(chēng)為浮柵晶體管,因?yàn)樗鼈兒械诙€(gè)柵極,浮在標(biāo)準(zhǔn)選擇柵極和器件基底其他部分之間。兩類(lèi)最典型的浮柵晶體管是FAMOS(浮柵雪崩注入MO
12、S晶體管)和FLOTOX(浮柵溝道氧化晶體管)。如果不進(jìn)行任何設(shè)置,這兩類(lèi)晶體管都可以用做標(biāo)準(zhǔn)n型晶體管:當(dāng)電壓加在柵極上時(shí),晶體管源極和漏極之間導(dǎo)通。兩類(lèi)晶體管都可以采用相似的方法進(jìn)行設(shè)置來(lái)改變這種工作方式。漏極和柵極之間加上足夠的設(shè)置電壓后,電子被“限制”在浮柵上,即使在所選柵極上加上標(biāo)準(zhǔn)工作電壓,晶體管也不會(huì)導(dǎo)通。這樣,設(shè)置浮柵晶體管使之總是“關(guān)斷”,這實(shí)際上是一個(gè)開(kāi)關(guān)。FLOTOX晶體管還需要一個(gè)額外的選擇晶體管,這是因?yàn)槲丛O(shè)置的FLOTOX晶體管有時(shí)像p型晶體管,柵極接地時(shí)導(dǎo)通。選擇晶體管防止了這一現(xiàn)象的發(fā)生。這兩類(lèi)浮柵晶體管的主要不同點(diǎn)在于它們重新編程的方式。FAMOS晶體管需要用
13、紫外強(qiáng)光迫使被俘獲的電子回到基底。使用FAMOS晶體管的器件是可擦除可編程ROM,即EPROMS。簡(jiǎn)單的置反漏極-柵極編程電壓就可以擦除FLOTOX晶體管。由于用電就可以擦除FLOTOX晶體管,用于實(shí)現(xiàn)電擦除可編程ROM,即EEPROM,它們非常適合在系統(tǒng)編程。1.2.3 從PAL到PLD到復(fù)雜可編程邏輯器件CPLDPAL之后是PLD,PLD和PAL器件非常相似,但是加入了一些其他特性,成為真正的可編程器件,而且更實(shí)用。該器件區(qū)別于簡(jiǎn)單PAL器件的主要進(jìn)步是它含有全面可編程宏單元,以及可變乘積項(xiàng)分配。宏單元提供多種可編程選擇,實(shí)現(xiàn)乘積和輸出。可編程宏單元還能夠反饋至陣列或者使用輸出引腳作為輸入
14、。靈活的PLD宏單元成為實(shí)現(xiàn)邏輯功能真正實(shí)用的器件,第一款PLD如圖1.6所示。圖1.6 第一款PLD示意圖PLD理念進(jìn)一步擴(kuò)展便產(chǎn)生了CPLD。與由多個(gè)PAL和宏單元構(gòu)成的PLD相似,CPLD包含多個(gè)和I/O引腳連接的PLD邏輯模塊,彼此之間通過(guò)可編程互連架構(gòu)進(jìn)行連接,如圖1.7所示。這種措施可在一個(gè)器件中提高邏輯數(shù)量。圖1.7 CPLD結(jié)構(gòu)圖CPLD中的邏輯模塊通常被稱(chēng)為邏輯陣列模塊(LAB),每個(gè)LAB就像一個(gè)PLD。CPLD LAB一般含有4到20個(gè)宏單元。LAB中的可編程陣列非常類(lèi)似于PAL或者PLD陣列。然而,CPLD和PLD中的可變乘積項(xiàng)分配不同,CPLD LAB中的宏單元通常包
15、括額外的與門(mén)邏輯,這些邏輯直接反饋回陣列。這一額外的邏輯可用于形成額外的乘積項(xiàng),名為擴(kuò)展項(xiàng)。擴(kuò)展邏輯產(chǎn)生的額外乘積項(xiàng)可用于當(dāng)前的宏單元中,以擴(kuò)展邏輯功能。其他宏單元還可以共享使用擴(kuò)展項(xiàng)。這樣,對(duì)于需要乘積項(xiàng)的宏單元而言,只建立一次乘積項(xiàng)即可,而不必每次都建立。這是減少邏輯浪費(fèi)更高效的方法,如圖1.8所示。圖1.8 CPLD LAB中的宏單元%注意:使用擴(kuò)展項(xiàng)邏輯的缺點(diǎn)是由擴(kuò)展乘積項(xiàng)導(dǎo)致的額外時(shí)延,而使用擴(kuò)展項(xiàng)邏輯的時(shí)延是已知的。因此,放置邏輯和進(jìn)行時(shí)序分析時(shí),應(yīng)對(duì)此進(jìn)行考慮。除了LAB,CPLD中的其他結(jié)構(gòu)與PAL和PLD相似,但配置更高級(jí)。LAB之間的互連被稱(chēng)為可編程互連陣列,即PI或者PI
16、A。PI與PAL和PLD中的可編程陣列相似,使用了相同的編程技術(shù)。而PI提供了LAB之間以及LAB和I/O引腳之間數(shù)據(jù)傳送需要的所有走線。通過(guò)PI,任何LAB的輸入和輸出都可以連接至任一其他LAB或者I/O。這是實(shí)現(xiàn)非常靈活的可編程器件的關(guān)鍵。CPLD相對(duì)于PLD的另一改進(jìn)是加入了單獨(dú)的I/O控制模塊。在PLD中,I/O引腳直接連接至邏輯。在CPLD中,PI將I/O引腳和器件的主要邏輯分開(kāi)。I/O引腳有自己的控制邏輯來(lái)實(shí)現(xiàn)多種特性,任一引腳有多種I/O標(biāo)準(zhǔn),輸入、輸出,或者雙向工作,并不需要迫使某些引腳只能用做輸入。CPLD相對(duì)于PLD最大的優(yōu)點(diǎn)在于邏輯數(shù)量及布線選擇。LAB邏輯和PI是全面可
17、編程的,在單片器件中具有很大的設(shè)計(jì)靈活性。CPLD的I/O特性和功能遠(yuǎn)遠(yuǎn)超出了PLD的簡(jiǎn)單I/O,在I/O怎樣工作上提供更多的選項(xiàng)和控制功能。與PAL和PLD一樣,CPLD在電路板上電時(shí)即可瞬時(shí)接通工作。它們具有很低的成本,占用了很少的電路板面積。非易失EEPROM編程體系結(jié)構(gòu)使其非常適合使用在系統(tǒng)編程方法進(jìn)行測(cè)試和調(diào)試,不需要在電路板上電時(shí)對(duì)其進(jìn)行重新編程。目前的Altera CPLD包括MAX 3000和7000系列器件,以及MAX II和MAX IIZ系列。1.2.4 從CPLD到FPGA的產(chǎn)生CPLD相對(duì)于老的PLD器件的最大進(jìn)步在于它能夠在單個(gè)器件中容納大量的邏輯。理論上,可以不斷在
18、CPLD中加入LAB,繼續(xù)增加邏輯數(shù)量。但是,這樣做需要有額外的PI布線,實(shí)現(xiàn)所有這些LAB的連接,其連接數(shù)量會(huì)呈指數(shù)增長(zhǎng),直到芯片管芯的連線數(shù)量超過(guò)邏輯數(shù)量,這限制了容量的擴(kuò)展。解決方法是把LAB排列在網(wǎng)格中,從而產(chǎn)生了現(xiàn)場(chǎng)可編程門(mén)陣列FPGA的概念,LAB都被排列在大型陣列中,器件可以現(xiàn)場(chǎng)編程或者重新編程,和CPLD一樣。沒(méi)有采用中心全局器件互連,而是把布線放置在LAB之間的空格上,就像大城市的街道。這種布線被排列成行列互連的形式。它可以跨過(guò)器件的整個(gè)長(zhǎng)度和寬度,或者器件的一小部分,只覆蓋行列中的幾個(gè)LAB,如圖1.9所示。圖1.9 FPGA互連結(jié)構(gòu)圖FPGA LAB和CPLD的LAB設(shè)計(jì)
19、不同。CPLD LAB由宏單元構(gòu)成,包括自己的本地可編程陣列,而FPGA LAB由大量的邏輯模塊構(gòu)成,這些模塊被稱(chēng)為邏輯單元,即LE,而且本地互連和邏輯分開(kāi)。LE看起來(lái)可能和CPLD宏單元相似,但更容易配置,有更豐富的特性來(lái)提高性能,減少邏輯資源的浪費(fèi)。1.2.5 在系統(tǒng)編程問(wèn)題的解決由于可編程邏輯器件越來(lái)越大,越來(lái)越復(fù)雜,器件本身編程也越來(lái)越復(fù)雜。對(duì)前面介紹的浮柵晶體管器件進(jìn)行編程時(shí),PAL或者PLD必須放在特殊的自動(dòng)編程單元中,在正確的I/O引腳上加上正確的編程電壓。這基本違背了在系統(tǒng)編程的理念,因?yàn)樗枰哑骷碾娐钒迳夏孟聛?lái),放在編程單元中重新編程,或者在電路板上放一些特殊裝置來(lái)進(jìn)行編
20、程。為了實(shí)現(xiàn)在系統(tǒng)編程,CPLD和FPGA增加了和設(shè)計(jì)I/O分開(kāi)的編程接口。這就是幾乎所有CPLD和FPGA都采用的一種流行接口JTAG接口,如圖1.10所示。JTAG接口是簡(jiǎn)單的4線或者5線串行接口,器件上的JTAG接口一般作為器件自測(cè)試的一部分來(lái)保證器件制造合格、正常工作。數(shù)據(jù)在TDI輸入上移入,在TDO輸出上移出。如果輸出和輸入相匹配,則器件通過(guò)測(cè)試。如果PLD本身可以產(chǎn)生編程所需要的電壓,那么JTAG接口能夠控制并指導(dǎo)芯片,在器件的哪一部分加上編程電壓。這就簡(jiǎn)化了在實(shí)驗(yàn)室或者電路板產(chǎn)品線上對(duì)PLD的編程。JTAG是業(yè)界標(biāo)準(zhǔn),因此,任何JTAG接口器件都可以進(jìn)行器件自測(cè)試。圖1.10 J
21、TAG接口示意圖然而,通常需要特殊控制器才能通過(guò)鏈接和供應(yīng)商的器件進(jìn)行編程。例如,Altera器件需要使用Altera編程電纜,USB-Blaster或者ByteBlaster II下載電纜等。JTAG編程非常適合應(yīng)用在EEPROM器件上,這是因?yàn)榫幊淌欠且资У摹?.3 FPGA系統(tǒng)結(jié)構(gòu)和資源由于技術(shù)的進(jìn)步,產(chǎn)生了百萬(wàn)級(jí)的FPGA,同時(shí)為了照顧用戶的特殊需求,現(xiàn)在包含了4種可編程資源,即位于芯片內(nèi)部的可編程邏輯單元(LE)、位于芯片四周的可編程I/O、分布在芯片各處的可編程布線資源和片內(nèi)嵌入式存儲(chǔ)器塊RAM。也增加了嵌入式乘法器、鎖相環(huán)的資源,如圖1.11所示。圖1.11 FPGA內(nèi)部資源結(jié)構(gòu)
22、圖下面將對(duì)FPGA內(nèi)部資源進(jìn)行簡(jiǎn)單介紹。1.3.1 可編程邏輯單元(LE)圖1.12所示是一個(gè)典型的LE的結(jié)構(gòu)圖。LE包括3個(gè)主要部分:查找表(LUT)、進(jìn)位邏輯和輸出寄存器邏輯。圖1.12 典型的LE的結(jié)構(gòu)圖其中,F(xiàn)PGA用查找表(LUT)替代了CPLD中的乘積項(xiàng)陣列,它是FPGA中組合邏輯輸出乘積和的關(guān)鍵。大部分器件使用4輸入LUT,而有些器件提供輸入數(shù)量更大的LUT,以建立更復(fù)雜的功能。LUT由一系列級(jí)聯(lián)復(fù)用器構(gòu)成,如圖1.13所示。圖1.13 查找表(LUT)結(jié)構(gòu)示意圖復(fù)用器輸入可以被設(shè)置為高或者低邏輯電平。邏輯之所以被稱(chēng)為查找表,是因?yàn)橥ㄟ^(guò)“查找”正確的編程級(jí)來(lái)選擇輸出,并根據(jù)LUT
23、輸入信號(hào)通過(guò)復(fù)用器將輸出送到正確的地方。LUT本質(zhì)上就是一個(gè)RAM。對(duì)于4輸入的LUT,每一個(gè)LUT可以看成一個(gè)有4位地址線的16×1的RAM。當(dāng)用戶通過(guò)原理圖或HDL語(yǔ)言描述了一個(gè)邏輯電路以后,PLD/FPGA開(kāi)發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫(xiě)入RAM。這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。%注意:相對(duì)于CPLD宏單元,產(chǎn)生LUT輸出可能需要更多的邏輯級(jí)。但是,它能夠靈活地建立函數(shù)和LE鏈,從而提高了性能,有助于減少資源的浪費(fèi)。LE的同步部分來(lái)自可編程寄存器,非常靈活,通常由全局器件時(shí)鐘來(lái)驅(qū)動(dòng)它,而任何
24、時(shí)鐘域都可以驅(qū)動(dòng)任何LE。寄存器的異步控制信號(hào),如清位、復(fù)位或者預(yù)設(shè)等,都可以由其他邏輯產(chǎn)生,也可以來(lái)自I/O引腳。寄存器輸出通過(guò)LE后驅(qū)動(dòng)至器件布線通道,還可以反饋回LUT??梢园鸭拇嫫髋月罚a(chǎn)生嚴(yán)格的組合邏輯功能,也可以完全旁路LUT,只使用寄存器用于存儲(chǔ)或者同步。這種靈活的LE輸出級(jí)使其非常適合所有類(lèi)型的邏輯操作。FPGA LE含有專(zhuān)門(mén)的進(jìn)位邏輯和LAB中的寄存器鏈布線,為這些信號(hào)提供最短鏈接。進(jìn)位比特可以來(lái)自LAB中的其他LE,也可以來(lái)自器件中的其他LAB。產(chǎn)生的進(jìn)位比特可以輸出到其他LE,或者器件互連中。LAB中的LUT和進(jìn)位邏輯可以被完全旁路,鏈接LAB中的所有LE寄存器,把它們變
25、成移位寄存器,這適合DSP工作。和CPLD相比,進(jìn)位邏輯和寄存器鏈布線的通用性進(jìn)一步提高了性能,增強(qiáng)了對(duì)資源的管理。%注意:由于LUT和寄存器都能夠輸出至器件中的任一位置,不論是位于相同的LAB中,還是通過(guò)器件的布線通道。因此,F(xiàn)PGA LE可以配置完成寄存器封裝功能。采用寄存器封裝,一個(gè)LE可以輸出兩路不同的函數(shù),一路來(lái)自LUT和進(jìn)位鏈邏輯,另一路來(lái)自輸出寄存器。只使用模塊的組合邏輯部分,完全不相關(guān)的寄存器函數(shù)可以封裝到一個(gè)LE中。因此,這有助于節(jié)省器件資源。目前為止,所討論的FPGA LE的確要比CPLD宏單元在設(shè)計(jì)上更加靈活,但還是需要LE級(jí)聯(lián)和反饋才能產(chǎn)生具有較多輸入的函數(shù)。為解決這個(gè)
26、問(wèn)題,一些高級(jí)FPGA使用自適應(yīng)邏輯模塊(ALM)。ALM和LE相似,但有一些重要優(yōu)勢(shì)。首先,ALM包括兩個(gè)輸出寄存器,為邏輯鏈和寄存器封裝提供更多的選項(xiàng),在一個(gè)邏輯模塊中生成多個(gè)函數(shù)。ALM還具有內(nèi)置硬件加法器模塊。ALM中的加法器是專(zhuān)用資源,完成標(biāo)準(zhǔn)算術(shù)操作,不需要在LUT或者在DSP中生成這些數(shù)學(xué)函數(shù)。這提高了數(shù)學(xué)性能,簡(jiǎn)化了LUT邏輯。ALM中的LUT和LE的主要不同點(diǎn)是ALM中的LUT是自適應(yīng)LUT,即ALUT。ALUT與LUT相似,但可以對(duì)它進(jìn)行劃分,配置為大小不同的LUT,以適應(yīng)兩種類(lèi)型不同的函數(shù),包括最簡(jiǎn)單到非常復(fù)雜的函數(shù)。所有8個(gè)輸入都可以用于完成復(fù)雜算術(shù)函數(shù),而ALUT可以
27、按照不同的方式來(lái)進(jìn)行劃分,實(shí)現(xiàn)簡(jiǎn)單函數(shù)。例如,兩個(gè)LUT,一個(gè)是3輸入,一個(gè)是5輸入。還可以劃分ALUT以支持更復(fù)雜的7輸入函數(shù),其額外的輸入用于寄存器封裝。分成兩個(gè)4輸入LUT,使ALUT后向兼容標(biāo)準(zhǔn)LE中的4輸入LUT技術(shù)。最后,如果兩個(gè)函數(shù)之間可以共享輸入,還能夠進(jìn)行其他方式的劃分?;贏LM的FPGA使用較少的資源和智能資源管理技術(shù),大大提高了邏輯工作的性能。1.3.2 可編程布線FPGA器件中的布線通道看起來(lái)簡(jiǎn)單,但實(shí)際上提供更多的功能和互連。FPGA布線通道使器件資源能夠與芯片任何地方的所有其他資源進(jìn)行通信。老款的非FPGA器件是無(wú)法實(shí)現(xiàn)的。曼哈頓型布線通道及大小不同的固定長(zhǎng)度邏輯
28、段,大大簡(jiǎn)化了通過(guò)布線調(diào)整來(lái)達(dá)到設(shè)計(jì)時(shí)序要求。隨著器件資源的增加,布線通道數(shù)量線性增長(zhǎng)就可以連接所有的器件資源。FPGA布線通道可以分成兩類(lèi):本地互連及行列互連。本地互連直接連接LE或者LAB中的ALM,鄰近LAB之間進(jìn)行最短連接,稱(chēng)為直接鏈路。另一類(lèi)互連是行列互連。這類(lèi)互連的長(zhǎng)度固定,跨過(guò)一定數(shù)量的LAB,或者整個(gè)器件。LAB I/O可以連接到本地互連,實(shí)現(xiàn)高速本地操作,或者直接連接至行列互連,向芯片的其他部分發(fā)送數(shù)據(jù)。1.3.3 可編程I/OFPGA I/O控制功能含在陣列邊沿的模塊中,所有器件資源都可以通過(guò)FPGA布線通道使用該功能。FPGA中的I/O模塊通常被稱(chēng)為I/O單元。I/O單元
29、含有和老款CPLD I/O控制模塊相同的基本功能,但是功能更豐富,使FPGA I/O單元非常適合用于所有類(lèi)型的設(shè)計(jì)。除了基本輸入、輸出及雙向信號(hào),I/O引腳還支持多種I/O標(biāo)準(zhǔn),包括多種最新的低電壓高速標(biāo)準(zhǔn)。其他特性包括可變電流驅(qū)動(dòng)能力和擺率控制等,以提高電路板級(jí)信號(hào)完整性。上拉電阻形式的片內(nèi)匹配功能有助于減少電路板上的匹配元件數(shù)量。有些器件的I/O單元還含有鉗位二極管,使能后可以用做PCI總線的I/O。根據(jù)設(shè)計(jì)需要,器件中未使用的I/O引腳可以被設(shè)置為開(kāi)漏或者三態(tài)。1.3.4 嵌入式存儲(chǔ)器RAM現(xiàn)代FPGA器件除了LAB之外還含有特殊的硬件模塊。這些專(zhuān)用資源模塊占用了陣列中一個(gè)或者多個(gè)模塊,
30、通過(guò)FPGA布線通道可以訪問(wèn)這些模塊。這些專(zhuān)用資源通常在器件中以特殊行列模塊的形式進(jìn)行排列。存儲(chǔ)器模塊就是特殊的專(zhuān)用模塊,可以配置為不同類(lèi)型的存儲(chǔ)器。FPGA存儲(chǔ)器模塊可以配置成單端口或者雙端口RAM,或者可編程ROM,還可以用做移位寄存器或者FIFO緩沖,以替代LAB邏輯。由于FPGA存儲(chǔ)器模塊和器件中的其他結(jié)構(gòu)一樣可以進(jìn)行編程,因此,上電時(shí)能夠以任意存儲(chǔ)器內(nèi)容對(duì)其進(jìn)行初始化。可以初始化為任意存儲(chǔ)器模式,并進(jìn)行測(cè)試,所以,這對(duì)設(shè)計(jì)調(diào)試非常有用。1.3.5 嵌入式乘法器現(xiàn)代FPGA器件中另一類(lèi)專(zhuān)用資源模塊是嵌入式乘法器。嵌入式乘法器是高性能邏輯模塊,能夠完成乘法、加法和累加操作。它們可以替代L
31、UT邏輯來(lái)提高設(shè)計(jì)中的算術(shù)性能。這對(duì)DSP設(shè)計(jì)非常有用。某些器件還具有高速收發(fā)器。這些I/O結(jié)構(gòu)支持高速協(xié)議,傳送速率達(dá)到每秒百兆位甚至千兆位。較高的傳送速率一般用于通信和網(wǎng)絡(luò)設(shè)備中。1.3.6 時(shí)鐘由于FPGA是基于同步寄存器邏輯的,因此,時(shí)鐘和時(shí)鐘控制結(jié)構(gòu)是FPGA體系結(jié)構(gòu)的重要組成部分。時(shí)鐘基本上是高速扇出控制信號(hào),F(xiàn)PGA器件有控制時(shí)鐘信號(hào)應(yīng)分配到哪里、時(shí)鐘信號(hào)怎樣到達(dá)目的地的硬件。所有FPGA器件都含有專(zhuān)用時(shí)鐘輸入引腳。這些引腳接收時(shí)鐘信號(hào),直接連接至芯片中的其他時(shí)鐘控制結(jié)構(gòu)。其他引腳可以用做時(shí)鐘引腳,但信號(hào)需要通過(guò)其他邏輯結(jié)構(gòu)。當(dāng)不用做時(shí)鐘時(shí),時(shí)鐘輸入引腳可以用做標(biāo)準(zhǔn)I/O。時(shí)鐘輸
32、入引腳一般饋入器件中的鎖相環(huán)PLL。PLL根據(jù)輸入時(shí)鐘的特性來(lái)產(chǎn)生其他時(shí)鐘域,保證所有時(shí)鐘域彼此同相,并且斜移最小。時(shí)鐘控制模塊用于管理時(shí)鐘控制,選擇哪些時(shí)鐘應(yīng)送入器件的時(shí)鐘布線網(wǎng)絡(luò)。它們還用于使能或者禁止上電和斷電時(shí)選擇的時(shí)鐘。時(shí)鐘布線網(wǎng)絡(luò)含有用于向器件中所有邏輯輸出時(shí)鐘的布線通道。這些特殊的布線通道一般和普通的行列互連分開(kāi)。時(shí)鐘互連全局網(wǎng)絡(luò)能夠連接所有邏輯,而有的器件還含有局部或者分層時(shí)鐘網(wǎng)絡(luò),僅向器件中的某些部分輸送時(shí)鐘。1.3.7 鎖相環(huán)如前所述,PLL是能夠產(chǎn)生不同時(shí)鐘域的結(jié)構(gòu),保證在生成的輸出時(shí)鐘之間斜移最小。PLL是可編程的,使設(shè)計(jì)人員很容易建立不同頻率、占空比和相移的多種時(shí)鐘域
33、,用于整個(gè)設(shè)計(jì)中。例如,含有1路輸入時(shí)鐘和基于輸入時(shí)鐘的3路輸出時(shí)鐘域。100 MHz的輸入來(lái)自時(shí)鐘輸入引腳。PLL輸出時(shí)鐘是和輸入相同的100 MHz時(shí)鐘,或者200 MHz時(shí)鐘,以及相對(duì)于輸入相移90度的200 MHz時(shí)鐘。這些時(shí)鐘被送入時(shí)鐘控制模塊,在器件時(shí)鐘網(wǎng)絡(luò)中進(jìn)行分配。一般可以在上電時(shí)對(duì)PLL進(jìn)行編程,而某些器件的PLL在正常工作時(shí)可隨時(shí)編程。1.3.8 FPGA與CPLD的對(duì)比現(xiàn)在我們對(duì)比一下CPLD和FPGA的主要特性,提供一個(gè)簡(jiǎn)單參考,幫助確定某一設(shè)計(jì)適合采用哪類(lèi)器件。首先,對(duì)比一下硬件,如表1.2所示。表1.2 FPGA與CPLD的硬件對(duì)比內(nèi) 部 結(jié) 構(gòu)CPLDFPGA基本
34、邏輯組成LAB由宏單元構(gòu)成LAB由LE和ALM構(gòu)成 建立邏輯功能乘積和LUT 或ALUT邏輯布局LAB圍繞全局互連LAB排列在網(wǎng)格陣列互連LAB本地和全局PILAB本地和行/列/分段/整個(gè)芯片板上DSP專(zhuān)用乘法器/加法器/累加器板上存儲(chǔ)器存儲(chǔ)器模塊,可使用互連編程技術(shù)EPROM、EEPROM FlashSRAMCPLD和FPGA都是由邏輯陣列模塊構(gòu)成的,但是CPLD LAB基于乘積和宏單元,而FPGA LAB使用基于LUT的邏輯單元。CPLD LAB圍繞中心全局互連排列,隨著器件中邏輯數(shù)量的增加,呈指數(shù)增長(zhǎng)。FPGA LAB以網(wǎng)格陣列排列,隨器件密度線性增長(zhǎng)。CPLD互連包括LAB本地可編程陣
35、列及中心可編程互連。FPGA器件包括本地互連,用于各個(gè)LAB,但是和LAB邏輯分開(kāi),器件還包括行列互連,這些互連跨過(guò)陣列中的多個(gè)LAB,以及整個(gè)芯片的長(zhǎng)寬。FPGA器件一般包括專(zhuān)用資源模塊用于存儲(chǔ)或者DSP邏輯。CPLD不含有這些資源。最后,CPLD包括片內(nèi)EPROM、EEPROM或者閃存結(jié)構(gòu),以存儲(chǔ)編程和配置信息,這些信息在斷電后也不會(huì)丟失。FPGA使用SRAM單元進(jìn)行編程,這種易失編程技術(shù)要求器件每次上電時(shí)都進(jìn)行編程。對(duì)基本特性進(jìn)行對(duì)比,是選擇使用哪種技術(shù)最好的方法。CPLD性能合適,而FPGA速率更高。這兩種技術(shù)都能夠?yàn)閺?fù)雜功能設(shè)計(jì)提供大量的邏輯。但是,F(xiàn)PGA由于具有LAB網(wǎng)格陣列,邏
36、輯資源更豐富。對(duì)于高速通信應(yīng)用,唯一的選擇是使用某些FPGA中的收 發(fā)器。一般而言,CPLD的功耗較低,但是FPGA也有很多低功耗特性,其功耗幾乎和CPLD相當(dāng),具體取決于設(shè)計(jì)。當(dāng)把設(shè)計(jì)移植到固定的結(jié)構(gòu)化ASIC時(shí),唯一選擇是使用FPGA。最后,設(shè)計(jì)電路板時(shí),必須考慮FPGA編程需要的外部元件,占用的電路板面積、電路板走線和功耗等。CPLD是單機(jī)器件,在編程和正常工作時(shí),不需要任何額外的硬件。選擇可編程邏輯器件時(shí)需要考慮很多選項(xiàng)和因素。在選擇器件時(shí),進(jìn)行對(duì)比是良好的開(kāi)始,但還是需要經(jīng)常查看器件手冊(cè),以了解器件特性和不足。如表1.3所示,是CPLD和FPGA的特性對(duì)比。表1.3 CPLD和FPG
37、A的特性對(duì)比特 性CPLDFPGA性能低端到高端高端、高速用戶邏輯用于小型和中型設(shè)計(jì)用于大型復(fù)雜設(shè)計(jì)I/O可編程,支持多種I/O標(biāo)準(zhǔn)可編程,支持多種I/O標(biāo)準(zhǔn)高速通信某些器件為很多協(xié)議提供收發(fā)器支持功耗低低到高ASIC移植直接移植、功能匹配、性能提高編程非易失實(shí)施接通,不需要其他外部器件易失,每次上電需要編程1.4 FPGA的設(shè)計(jì)流程FPGA設(shè)計(jì)方法可以總結(jié)為一個(gè)簡(jiǎn)單的設(shè)計(jì)流程,Altera的Quartus II軟件是全集成開(kāi)發(fā)工具,完全支持這一設(shè)計(jì)流程。具體步驟如下。(1)進(jìn)行源文件的編輯和編譯。首先需要將設(shè)計(jì)思路用文本方式或圖形方式表達(dá)出來(lái),進(jìn)行排錯(cuò)編譯,為進(jìn)一步的邏輯綜合做準(zhǔn)備。常用的源
38、程序輸入方式有原理圖輸入方式和文本輸入方式。(2)進(jìn)行邏輯綜合和優(yōu)化。將源文件經(jīng)過(guò)一系列的操作,分解成一系列的邏輯電路及對(duì)應(yīng)的關(guān)系,最終獲得門(mén)級(jí)電路甚至更底層的電路描述文件,即生成與FPGA/CPLD基本結(jié)構(gòu)相對(duì)應(yīng)的網(wǎng)表文件。(3)進(jìn)行目標(biāo)器件的布線/適配。在選用的目標(biāo)器件中建立起與網(wǎng)表文件符合的基本邏輯電路的對(duì)應(yīng)關(guān)系。(4)目標(biāo)器件的編程下載。如果編譯、綜合、布線/適配和行為仿真、功能仿真、時(shí)序仿真等過(guò)程都沒(méi)有發(fā)現(xiàn)問(wèn)題,即滿足原設(shè)計(jì)的要求,則可以將布線/適配器產(chǎn)生的配置/下載文件下載電纜載入目標(biāo)芯片中。(5)硬件仿真/硬件測(cè)試。將下載好程序的FPGA放在開(kāi)發(fā)板上進(jìn)行測(cè)試,以驗(yàn)證設(shè)計(jì)思想與實(shí)際
39、電路的偏差。1.5 Altera公司FPGA低成本器件Cyclone IICyclone II器件是Altera公司在2004年6月推出的,采用90nm、低k值電解質(zhì)工藝。其中的邏輯單元數(shù)量高達(dá)68 416個(gè),片內(nèi)嵌入式存儲(chǔ)器容量最多增加至1.1MB,用戶I/O最多可達(dá)622個(gè)。這個(gè)系列的產(chǎn)品具有用戶定義的功能、性能領(lǐng)先、低功耗、高密度和低成本的優(yōu)勢(shì)。1.5.1 主要特性Cyclone II器件可提供4608到68 416個(gè)邏輯單元(LE),包括了嵌入式18×18位乘法器、專(zhuān)用外部存儲(chǔ)器接口電路、4Kb嵌入式存儲(chǔ)器塊、鎖相環(huán)(PLL)和高速差分I/O等功能。表1.4所示為Cyclon
40、e II FPGA系列的特性。表1.5所示為Cyclone II器件封裝和最多用戶I/O管腳數(shù)。表1.6列出了Cyclone II FPGA的適用配置器件。表1.4 Cyclone II FPGA系列的特性器 件EP2C5EP2C8EP2C20EP2C35EP2C50EP2C70邏輯單元4608825618 75233 21650 52868 416M4K RAM塊(4 K比特+512校驗(yàn)比特)263652105129250總比特?cái)?shù)119 808165 888239 616483 840594 4321 152 000嵌入式18×18位乘法器1318263586150PLLs2244
41、44最多用戶I/O 管腳數(shù)142182315475450622差分通道5575125200192275表1.5 Cyclone II 器件封裝和最多用戶I/O管腳數(shù)封裝尺寸/mm×mmEP2C5EP2C8EP2C20EP2C35EP2C50EP2C70144-Pin TQFP (16×16)8985208-Pin PQFP(30.6×30.6)142138256-Pin FineLine BGA(17×17)182152484-Pin FineLine BGA(23×23)315322294672-Pin FineLine BGA(2
42、7×27)475450422896-Pin FineLine BGA(31×31)622表1.6 CycloneII FPGA的適用配置器件配置器件支持CycloneII器件EP2C5EP2C8EP2C20EP2C35EP2C50EP2C70EPCS1×EPCS4×××EPCS16××××××EPCS64××××××1.5.2 基于數(shù)字信號(hào)處理(DSP)應(yīng)用Cyclone II器件提供最多150個(gè)18×18
43、位的乘法器,可以實(shí)現(xiàn)通用數(shù)字信號(hào)處理(DSP)功能。與基于邏輯單元的乘法器相比,嵌入式乘法器性能更高,占用邏輯單元更少。Cyclone II FPGA內(nèi)部的嵌入式乘法器能夠?qū)崿F(xiàn)常用的簡(jiǎn)單乘法器操作。嵌入式乘法器,如圖1.14所示,都可以被配置成為一個(gè)18×18位的乘法器,或兩個(gè)9×9位的乘法器。 圖1.14 CycloneII器件內(nèi)部的嵌入式乘法器嵌入式乘法器同時(shí)支持有符號(hào)和無(wú)符號(hào)數(shù)的乘法。它還提供可選的輸入和輸出寄存器,用于提高性能。嵌入式乘法器也可以與Cyclone II器件的M4K RAM塊進(jìn)行無(wú)縫集成,實(shí)現(xiàn)高效的DSP算法,如FIR 濾波器和視頻處理。上述嵌入式乘法
44、器能夠在250MHz下運(yùn)行,消除了復(fù)雜算法計(jì)算的性能瓶頸,將DSP系統(tǒng)的整體吞吐量提高了若干個(gè)數(shù)量級(jí)。Cyclone II器件可被用做DSP應(yīng)用的FPGA協(xié)處理器,分擔(dān)DSP處理器的復(fù)雜算法計(jì)算,提高系統(tǒng)的整體性能。1.5.3 專(zhuān)用外部存儲(chǔ)器接口Cyclone II器件可以通過(guò)一個(gè)專(zhuān)用接口和雙倍數(shù)據(jù)速率(DDR)/DDR2、單倍速率(SDR)SDRAM器件以及四倍數(shù)據(jù)速率(QDR II)SRAM器件進(jìn)行通信,保證快速可靠的數(shù)據(jù)傳輸,傳輸速率最高達(dá)到668 Mbps。表1.7給出了Cyclone II支持的外部存儲(chǔ)器接口。DDR SDRAM器件十分流行,主要是因?yàn)槠涞凸?、相?duì)低的價(jià)格和高帶寬特
45、性。由于數(shù)據(jù)處理在時(shí)鐘的兩個(gè)沿都可進(jìn)行,因此DDR SDRAM 器件的帶寬是SDR的兩倍。四倍數(shù)據(jù)速率(QDR II)SRAM器件使系統(tǒng)設(shè)計(jì)人員能夠?qū)?shù)據(jù)吞吐能力最大化,主要應(yīng)用在通信領(lǐng)域,時(shí)鐘速率最高可達(dá)167MHz。QDR II架構(gòu)具有雙數(shù)據(jù)端口(輸入和輸出)特性,每個(gè)時(shí)鐘周期各執(zhí)行兩次操作,從而實(shí)現(xiàn)每個(gè)時(shí)鐘周期完成四個(gè)數(shù)據(jù)指令。表1.7 Cyclone II 器件支持的外部存儲(chǔ)器接口存 儲(chǔ) 技 術(shù)I/O標(biāo)準(zhǔn)最大總線寬最大時(shí)鐘速率最大數(shù)據(jù)速率SDR SDRAM3.3 V LVTTL72 bits167 MHz167MbpsDDR SDRAM2.5 V SSTLClass I,II72 bi
46、ts167 MHz334 MbpsDDR2 SDRAM1.8 V SSTLClass I,II72 bits167 MHz334 MbpsQDRII SRAM1.8 V HSTLClass I,II36 bits167 MHz668 MbpsCyclone II器件可以和外部存儲(chǔ)器進(jìn)行高速可靠的數(shù)據(jù)傳輸。高速接口的關(guān)鍵技術(shù)在于采用專(zhuān)用I/O特性,確保滿足所有的時(shí)序需求。每個(gè)Cyclone II器件都采用了優(yōu)化的I/O管腳,以接入DDR/DDR2、SDR SDRAM和QDR II SRAM 器件。每個(gè)I/O區(qū)都具有最多兩套接口信號(hào)管腳,每套管腳包含一個(gè)單一數(shù)據(jù)選通(DQS)管腳和相關(guān)數(shù)據(jù)(DQ)
47、管腳。每個(gè)器件最多可支持72個(gè)DQ管腳,并帶有相應(yīng)的DQS管腳,支持一個(gè)具有64比特?cái)?shù)據(jù)和糾錯(cuò)的雙面存儲(chǔ)器模塊(DIMM)。專(zhuān)用數(shù)據(jù)選通DQS電路在讀周期中針對(duì)優(yōu)化了的時(shí)鐘和數(shù)據(jù)序列將DQS信號(hào)做了 移相。1.5.4 嵌入式鎖相環(huán)Cyclone II器件具備最多4個(gè)增強(qiáng)型鎖相環(huán)(PLL),提供先進(jìn)的時(shí)鐘管理能力。例如,頻率合成、可編程相移、外部時(shí)鐘輸出、可編程占空比、鎖定檢測(cè)、可編程帶寬、輸入時(shí)鐘擴(kuò)頻和支持高速差分輸入輸出時(shí)鐘信號(hào)。Cyclone II PLL提供了時(shí)鐘合成功能,允許內(nèi)部工作時(shí)鐘與輸入時(shí)鐘頻率不同。每個(gè)PLL能夠提供最多3個(gè)輸出時(shí)鐘,每個(gè)輸出時(shí)鐘的頻率可互不相同。PLL提供兩個(gè)
48、比例因子,分別為m、n的除法計(jì)數(shù)器,這里m、n和后比例計(jì)數(shù)器可以是1到32中的任何整數(shù)。Cyclone II PLL允許實(shí)現(xiàn)時(shí)間上的多路復(fù)用,通過(guò)時(shí)分多路復(fù)用,可以利用較少的邏輯單元實(shí)現(xiàn)給定功能,從而以器件資源共享的方式提高器件面積效率。Cyclone II中的每個(gè)PLL支持一個(gè)差分或一個(gè)單端外部輸出時(shí)鐘。每個(gè)PLL帶有一對(duì)外部時(shí)鐘輸出管腳。外部時(shí)鐘輸出管腳支持多種I/O標(biāo)準(zhǔn),如表1.8所示。表1.8 Cyclone II PLL的特性特 性PLL支持輸入時(shí)鐘頻率11311 MHz輸出時(shí)鐘頻率10400 MHz外部輸出管腳的時(shí)鐘頻率10200 MHz時(shí)鐘倍頻和分頻m、n除法計(jì)數(shù)器和后比例計(jì)數(shù)器
49、相移125 ps遞增可編程占空比支持可編程帶寬支持?jǐn)U頻支持輸入時(shí)鐘的擴(kuò)頻續(xù)表特 性PLL支持內(nèi)部時(shí)鐘輸出數(shù)3外部時(shí)鐘輸出數(shù)一個(gè)差分或單端輸入時(shí)鐘和外部時(shí)鐘輸出I/O標(biāo)準(zhǔn)支持LVTTL, LVCMOS, 2.5/1.8/1.5 V, 3.3 V PCI, SSTL-2 Class &, SSTL-3 Class I &, LVDS, HSTL, PCI-X, LVPECL%注意:外部時(shí)鐘輸出可被用做系統(tǒng)時(shí)鐘或用來(lái)使板上不同的器件同步。時(shí)鐘反饋特性可以作為內(nèi)部延遲的補(bǔ)償,或用來(lái)調(diào)整外部時(shí)鐘輸出與時(shí)鐘輸入的相位關(guān)系。Cyclone II PLL具有較強(qiáng)的時(shí)鐘移相能力,能夠?qū)崿F(xiàn)可編程相移。用戶可以實(shí)現(xiàn)125 ps時(shí)間間隔的相位移動(dòng)。這種可編程相移特性是滿足時(shí)序約束的理想方法。Cyclone II PLL可以鎖定檢測(cè)信號(hào)。鎖定輸出指示當(dāng)前的時(shí)鐘輸出信號(hào)與參考時(shí)鐘是否同步。鎖定檢測(cè)信號(hào)可用于控制和同步電路板上的不同器件??删幊陶伎毡仍试SPLL產(chǎn)生不同占空比的輸出時(shí)鐘??删幊陶伎毡忍匦詫?duì)于雙倍數(shù)據(jù)速率(DDR)應(yīng)用非常有效,數(shù)據(jù)在時(shí)鐘的正負(fù)邊沿都可以進(jìn)行傳送??删幊陶伎毡仍试S開(kāi)發(fā)人員控制時(shí)鐘正負(fù)邊沿的位置,簡(jiǎn)化和這些沿相關(guān)的建立保持時(shí)間需求。Cyclone II PLL的帶寬是衡量其跟蹤輸入時(shí)鐘和濾除抖動(dòng)能力的標(biāo)準(zhǔn)。利用Cyclone II器件,開(kāi)發(fā)人員可以控制PLL的帶
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 12690.20-2024稀土金屬及其氧化物中非稀土雜質(zhì)化學(xué)分析方法第20部分:稀土氧化物中微量氟、氯的測(cè)定離子色譜法
- 本周工作總結(jié)與下周工作計(jì)劃報(bào)告
- 2025年禁毒宣傳工作計(jì)劃例文
- 個(gè)人教學(xué)計(jì)劃范文集合
- 做好班級(jí)家長(zhǎng)工作計(jì)劃
- 個(gè)人工作計(jì)劃書(shū)的寫(xiě)作模板
- 學(xué)年度第二學(xué)期四年級(jí)班主任個(gè)人工作計(jì)劃
- 2025護(hù)理個(gè)人的工作計(jì)劃范文
- 銀行新員工個(gè)人工作計(jì)劃
- 2025年“心起點(diǎn)”工作室開(kāi)學(xué)工作計(jì)劃范文
- 托盤(pán)演示教學(xué)課件
- 中華農(nóng)耕文化及現(xiàn)實(shí)意義
- DB32T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 農(nóng)產(chǎn)品品牌與營(yíng)銷(xiāo)課件
- 加快中高職銜接,促進(jìn)職業(yè)教育協(xié)調(diào)發(fā)展(201507)課件
- 車(chē)輛二級(jí)維護(hù)檢測(cè)單參考模板范本
- 亮化照明維護(hù)服務(wù)方案
- 疼痛評(píng)估方法與管理
- 測(cè)定總固體原始記錄
- (最新整理)夜市一條街建設(shè)方案
- 住院醫(yī)師解讀心電圖
評(píng)論
0/150
提交評(píng)論