【正文】
............................................. 83 畢業(yè)設(shè)計(jì)小結(jié) .............................................................................................................. 84 40 第一章 概論 FPGA 技術(shù)在可編程器件的基礎(chǔ)上發(fā)展而來(lái),能夠作為專用集成電路領(lǐng)域中的半定制電路。 Xilinx 的 FPGA 產(chǎn)品從最初的包含 64 個(gè) CLB、 58 個(gè) IOB 的芯片到 Virtex5 系列的 1200 個(gè) IOB, FPGA 技術(shù)發(fā)展迅速。在不同的 FPGA 核心芯片的基礎(chǔ)上,許多公司都做出了自己的開(kāi)發(fā)平臺(tái),比如 Genesys、 FA161開(kāi)發(fā)平臺(tái)。 研究背景 FPGA 技術(shù)是 Field Programmable Gate Array 的縮寫(xiě),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在 PAL、 GAL、 EPLD 等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。 FPGA 是作為專用集成電路( ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限 的缺點(diǎn)。 目前 FPGA 的品種很多,有 XILINX 的 XC 系列、 TI 公司的 TPC 系列、 ALTERA 公司的 FIEX系列等。 FPGA 是由存放在片內(nèi) RAM 中的程序來(lái)設(shè)置其 工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的 RAM 進(jìn)行編程。 Xilinx 于 1985 年推出了 2021 系列的 FPGA。該系列的 FPGA 是世界上第一款基于 SRAM 的可編程 FPGA,包括兩個(gè)器件:第一個(gè)器件由 8x8〔共 64 個(gè) )的可配置邏輯模塊 (CLB Configurable Logic Block)構(gòu)成,并在芯片的周邊提供了58 個(gè)輸入輸出接口模塊 (IOB, I/O Block);第二個(gè)器件出 10xl0 的 CLB 構(gòu)成,并提供了總共 74 個(gè) IOB 單元。自 Xilinx 推出第一款 FPGA 之后,世界上的其他公司也相繼推出各 自的 FPGA 產(chǎn) 品。如 Actel 推出很有特色的反熔絲(Antifused)FPGA。 1987 年 Xilinx 推出了它的第二款 3000 系列的 FPGA,距第一款 FPGA的推出只有 2 年的時(shí)間。自從第二代 FPGA 問(wèn)世以來(lái),各種 FPGA 的應(yīng)用開(kāi)始層出不窮,電路復(fù)雜度也相繼上升。這時(shí), Xilinx 就開(kāi)始研制第三代 FPGA 產(chǎn)品, AT& T 也開(kāi)始開(kāi)發(fā)自己的下一代 FPGA。 Xilinx 的第三代 FPGA 產(chǎn)品于 1991年問(wèn)世,而 AT& T 的下一代產(chǎn)品育到 1992 年才研制成功。認(rèn)識(shí)到 FPGA 市場(chǎng)潛在的廣闊空間,很多 IC 和軟 件廠商也開(kāi)始向 FPGA 領(lǐng)域進(jìn)軍,包括一些著名的公司,如 Actel、 AMD、 A1tera、 Intel、 Mento Graphics、 Texas Instrument。 Virtex5 系列是 Xilinx 公司 2021 年推出的全球首款 65nm FPGA 系列芯片 ,采用 三柵極氧化層工藝技術(shù)制造,可提供多達(dá) 330,000 個(gè)邏輯單 41 元、 1,200 個(gè) I/O 引腳、 48 個(gè)低功耗收發(fā)器以及內(nèi)置 PowerPC174。 440 處理器、PCIe174。 端點(diǎn)與以太網(wǎng) MAC 模塊,具體配置因器件而異。 Virtex5 系列采用第二代高級(jí)芯片組合模塊 (ASMBLTM) 列式架構(gòu),包含 5 個(gè)截然不同的平臺(tái)( LX, LXT, SXT, TXT,FXT),是 FPGA 系列中選擇最為豐富的系列;每個(gè)平臺(tái)都擁有獨(dú)特特性,以滿足諸多高級(jí)邏輯設(shè)計(jì)的需求 由于其強(qiáng)大的功能和接口特性,而且具有跨平臺(tái)兼容性, LXT、 SXT 及 FXT 器件使用可調(diào)穩(wěn)壓器,可以在相同封裝內(nèi)實(shí)現(xiàn)引腳兼容。 XC5VLX50T芯片是該系列下的一款 FPGA芯片。該芯片的可配置邏輯塊包以及有 7200個(gè) Slice, 130*20的陣列以及 480Kb的最大分布式 RAM;芯片含有 48個(gè)DSP48E Slice,最大 2160Kb的 Block RAM, 6個(gè) CMT,有一個(gè)支持 PCI Express的端點(diǎn)模塊, 4個(gè)以太網(wǎng) MAC, 15個(gè) I/O bank, 480個(gè)用戶 I/O。 Diligent公司在 XC5VLX50T芯片基礎(chǔ)上,集成了諸如 Gbit以太網(wǎng), DDR2存儲(chǔ)陣列, USB等功能模塊,構(gòu)成了一個(gè)完善的、可以使用的的數(shù)字集成開(kāi)發(fā)平臺(tái)Genesys。 Genesys開(kāi)發(fā)系統(tǒng)功能如圖: V i r t e x 5 X C 5 V L X 5 0 TF F G 1 1 3 6 CA d e p t U S B 2D D R 2H D M I V i d e oE t h e r n e t P H YB a s i c I / O1 6 * 2 L C DH i g h S p e e dE x p a n s i o mi M p a c t U S B 2S t r a t a F l a s hA C 9 7 A u d i oU S B H O S TC l o c k G e nR S 2 3 2 P o r tP m o d P o r t 圖 11 Genesys系統(tǒng)功能圖 Genesys開(kāi)發(fā)板和 Xilinx的 CAD工具都兼容,為 FPAG開(kāi)發(fā)節(jié)省設(shè)計(jì)成本。開(kāi)發(fā)板上集成了 Diligent公司的 USB2系統(tǒng),該 USB系統(tǒng)能夠提供 FPGA編程、實(shí)時(shí)電源監(jiān)控、自動(dòng)開(kāi)發(fā)板測(cè)試、虛擬 I/O功能。為了和 Xilinx的 CAD工具兼容,開(kāi)發(fā)板上集成了基于 Xilinx編程電纜的 iMpact USB接口。 Genesys開(kāi)發(fā)板還集成 64位數(shù)據(jù)位寬 256Mbyte的 DDR2 SODIMM,可配置的時(shí)鐘模塊, HDMI視頻接口, AC97聲卡系統(tǒng), Strata Flash模塊。 42 研究現(xiàn)狀 FPGA 開(kāi)發(fā)板是在 FPGA 核心 芯片的 基礎(chǔ)上,集成外部功能模塊,構(gòu)成的一個(gè)完整的系統(tǒng)。目前有許多基于不同核心芯片,比如 FA161 開(kāi)發(fā)板,其核心器件為 Altera Cyclone 系列的 FPGA EP1C6;開(kāi)發(fā)板上還有 接口, ( CY7C68013A)接口,以太網(wǎng)( RTL8901S)接口,能夠?qū)崿F(xiàn) HDL 程序開(kāi)發(fā)、nois ii 程序開(kāi)發(fā)、結(jié)合 Matlab 制作 DSP。 Diligent 公司的 Genesys 開(kāi)發(fā)板的核心器件則是 Virtex5 系列的XC5VLX50T 芯片,支持 Diligent USB port 和 Xilinx iMpact USB port、 Ether PHY 接口。 Genesys 開(kāi)發(fā)平臺(tái)的 FPGA 比起其它的開(kāi)發(fā)板來(lái)說(shuō)具有更主流性和兼容性,在 USB 技術(shù)方面有對(duì) JTAG 技術(shù)的支持,內(nèi)存空間能夠達(dá)到256MByte,Flash 存儲(chǔ)空間也能 256Mb,而 FA161 開(kāi)發(fā)板則是 16MByte 的 MT48LC4M32 SDRAM 芯片、 4Mb 的 AM29LV320 Flash 芯片。 FPGA 芯片是基于 SRAM 工藝的,不具備非易失特性,因此芯片每次上電后,都需要從外部導(dǎo)入配置比特流文件。 FPGA 配置模塊可 以通過(guò)主模式、從模式以及 JTAG 下載模式進(jìn)行比特流文件下載; BPI 配置模式歸屬于從模式。此外,目前 Xilinx 還有基于 Inter 的、成熟的可重構(gòu)邏輯技術(shù) System ACE 解決方案。 USB 是通用串行總線的英文簡(jiǎn)寫(xiě), USB 模塊能夠提供高速數(shù)據(jù)交換。目前很多公司做出了自己的 USB 模塊,比如 CH372 USB 模塊、 USB4711b USB 模塊、 EasyUSB 模塊、 Adept USB 模塊等。不同模塊提供的 USB 數(shù)據(jù)交換速率不一樣,通信的數(shù)據(jù)通道位數(shù)也不一樣 。EasyUSB 能提供 24 為數(shù)據(jù)通道 ,而 Adept USB 能提供 8 位的數(shù)據(jù)通道。 Strata Flash 是非易失型存儲(chǔ)設(shè)備,目前主要由 NOR 閃存和 NAND 閃存兩類;輸出傳輸一般都是并行進(jìn)行。包括 Intel、 Numonyx 等公司都有大容量的 Flash芯片,其 Flash 位寬一般是 16 位。 DDR2,雙倍數(shù)據(jù)傳輸速率。現(xiàn)在 DDR2 模塊設(shè)計(jì),會(huì)利用 ODT(內(nèi)部終結(jié)電阻)來(lái)簡(jiǎn)化 DQ(數(shù)據(jù)選通總線)總線設(shè)計(jì);同時(shí)利用 ODT 能降低多重反射,提高信號(hào)完整性并增加時(shí)序余量。 時(shí)鐘模塊對(duì)于一個(gè)系統(tǒng)來(lái)說(shuō),僅提供一個(gè)時(shí)鐘信號(hào)已經(jīng)不能滿足系統(tǒng)的需要,多樣的、高穩(wěn)定性 的、用戶可以自定義的時(shí)鐘策略成為大多數(shù)時(shí)鐘模塊的主流方案。大多時(shí)鐘模塊的設(shè)計(jì)都會(huì)在一個(gè)標(biāo)準(zhǔn)時(shí)鐘信號(hào)的基礎(chǔ)上,通過(guò) PLL等電路,進(jìn)行降頻或者倍頻處理,產(chǎn)生需要的時(shí)鐘信號(hào)。 43 論文工作 論文作者在畢業(yè)設(shè)計(jì)期間對(duì) Genesys 開(kāi)發(fā)板的 FPGA 模塊, Adept USB 模塊,Strata Flash 模塊, DDR2 模塊,和四種模塊的設(shè)計(jì)原理分析,給出各芯片和XC5VLX50T 的電路連接頭。完成的主要工作下: ( 1) 學(xué)習(xí) Virtex5 系列的相關(guān)概念和知識(shí),著重關(guān)注 XC5VLX50T 芯片的特性,了解芯片的內(nèi)部模塊功能和作用 。 ( 2) 分析 GENESYS 開(kāi)發(fā)板 的技術(shù)手冊(cè)。重點(diǎn)分析 FPGA 下載配置模塊,AdeptUSB 模塊, Strata Flash 模塊, DDR2 模塊,時(shí)鐘模塊的原理。 ( 3)各模塊進(jìn)行頂層的功能描述和,繪制出模塊的結(jié)構(gòu)圖以及部分模塊的子模塊結(jié)構(gòu)圖,給出模塊的信號(hào)功能定義。 ( 4)分析所負(fù)責(zé)模塊的硬件實(shí)現(xiàn)方法,芯片的工作方式,繪制模塊的邏輯連接圖。 論文結(jié)構(gòu) 本論文的內(nèi)容共分五章,具體的安排如下: 第一章是緒論部分,首先介紹了 Xilinx Virtex5 系列的特性,然后簡(jiǎn)介在 Virtex5芯片基礎(chǔ)上集成的 GENESYS 開(kāi)發(fā)板,接著介紹了論文的工作,最后是論文結(jié)構(gòu)。 第二章介紹 Adept USB 模塊的工作原理,給出模塊原理圖,介紹模塊信號(hào)功能定義,著重介紹了該模塊的核心子模塊的端點(diǎn)緩存技術(shù);再進(jìn)一步介紹其子模塊 68013A 模塊、 EEPPROM 模塊、 MicroUSB 模塊的原理,給出這些子模塊硬件實(shí)現(xiàn)方法和模塊的邏輯連接設(shè)計(jì)。 第三章介紹 FPGA 模塊的原理, FPGA 芯片的結(jié)構(gòu); FPGA 配置模塊的工作原理,配置方式,以及配置電路邏輯連接。 第四章介紹了 DDR2 模塊、 Strata Flash 模塊以及時(shí)鐘模塊的 原理、硬件實(shí)現(xiàn)方法和邏輯連接。 第五章是結(jié)束語(yǔ),對(duì)本論文所做的工作進(jìn)行了總結(jié)。 44 第二章 Adept USB 模塊設(shè)計(jì) Adept USB 模塊是 Genesys 開(kāi)發(fā)系統(tǒng)中的一個(gè) USB 接口,該模塊能夠提供數(shù)據(jù)傳輸、通過(guò)電腦軟件進(jìn)行 FPGA 配置等功能。 Adept USB 模塊的存在,可以使得開(kāi)發(fā)平臺(tái)能夠更好地和外部應(yīng)用環(huán)境進(jìn)行數(shù)據(jù)交換,提升了其應(yīng)用性。 Adept USB 模塊原理 Adept USB2模塊的工作主要分為三個(gè)過(guò)程 ,模塊的初始化和配置信息的加載, USB設(shè)備的連接,數(shù)據(jù)的傳輸。 在 Adept USB2模塊上電后,芯片會(huì)自動(dòng)尋找外部存儲(chǔ)設(shè)備并加載其中的配置信息。 68013A 模塊的 IIC總線上連接了一個(gè)包含有 FX2LP固件程序的 E2PROM,固件程序?qū)? E2PROM自動(dòng)下載到 68013A模塊的 RAM中, 68013A模塊內(nèi)部的 8051微處理器通過(guò)復(fù)位后運(yùn)行下載的固件代碼,此時(shí) VID/PID/DID的值包含在固件程序中。此時(shí), USB設(shè)備請(qǐng)求控制位 RENUM將自動(dòng)置為 1,表示由該固件程序來(lái)處理設(shè)備的請(qǐng)求,而不是缺省的 USB設(shè)備。此時(shí)就完成了芯片的初始化和配置信息的加載。 當(dāng)有 USB設(shè)備的連接口通過(guò) Adept USB port接口接入后, 68013A模塊中的SIE會(huì)向零地址(當(dāng)?shù)谝淮谓尤霑r(shí),每個(gè) USB設(shè)備都必須對(duì)零地址做出響應(yīng))發(fā)出獲取設(shè)備描述的請(qǐng)求;設(shè)備箱 SIE返回 ID數(shù)據(jù),以便芯片識(shí)別; 68013A模塊中的 SIE發(fā)出設(shè)置地址請(qǐng)求,為剛接入的 USB接口的設(shè)備分配唯一地址; 68013A模塊中的 SIE發(fā)出獲取設(shè)備描述符請(qǐng)求,請(qǐng)求附加的設(shè)備信息,如中斷數(shù)目,加載驅(qū)動(dòng)類型等;然后加載 USB設(shè)備驅(qū)動(dòng),驅(qū)動(dòng)加載成功之后, 外部 USB設(shè)備就與Virtex5芯片建立了連接,可進(jìn)行數(shù)據(jù)傳送了。 數(shù)據(jù)傳送是在 IFCLK 時(shí)鐘控制下進(jìn)行的。外部 USB 設(shè)備中的數(shù)據(jù)通過(guò)數(shù)據(jù)線正和數(shù)據(jù)線負(fù)傳輸?shù)?68013A 模塊的 RAM 或者 FIFO 端點(diǎn)中。 68013A 模塊通過(guò) IFCLK 來(lái)傳輸數(shù)據(jù)。 IFCLK 可以被設(shè)置成 30MHz 或者 40MHz 或者外部提供的時(shí)鐘,且數(shù)據(jù)傳輸方式可以為異步或者同步傳輸