【文章內(nèi)容簡介】
極大地降低了成本。 Cyclone II 器件擴(kuò)展了低成本 FPGA 的密度,最多可達(dá)到 68, 416 個(gè)邏輯單元( LE)和 比特的嵌入式存儲(chǔ)器。 Cyclone II 器件的制造基于 300mm 晶圓,采用臺(tái)積電 90nm、低 K 值電介質(zhì)工藝,這種可靠工藝也曾中北大學(xué)信息商務(wù)學(xué)院 2020 屆畢業(yè)設(shè)計(jì)說明書 第 13 頁 共 32 頁 被用于 Altera 的 Stratix II器件。這種工藝技術(shù)確保了快速有效性和低成本。通過使硅片面積最小化, Cyclone II器件可以在單芯片上支持復(fù)雜的數(shù)字系統(tǒng),而在成本上則可以和 ASIC 競爭。所有 Cyclone II 器 件都可以通過免費(fèi)的 Quartus II網(wǎng)絡(luò)版軟件來支持。 本系統(tǒng)中的 FPGA 配置芯片采用 Altera 公司的芯片 EPCS4。它的正常工作電壓為 。它具有存儲(chǔ)器的功能,在設(shè)計(jì)中主要用來存儲(chǔ)下載的程序。 FPGA 的配置主要分為兩大類,主動(dòng)配置方式和被動(dòng)配置方式。主動(dòng)配置方式由 FPGA 引導(dǎo)配置操作過程,它控制著外部存儲(chǔ)器和初始化過程。而被動(dòng)配置則由外部計(jì)算機(jī)或控制器控制配置過程。本次設(shè)計(jì)采用的是主動(dòng)串行配置方式。在程序下載過程中,圖中VCC 統(tǒng)一接 電壓。本設(shè)計(jì)中使用 USBBlaster 串口下載電纜下載程 序,USBBlaster 串口下載電纜是一種直接連接到 PC 機(jī) USB 接口的硬件接口產(chǎn)品。USBBlaster 支持三種配置模式,即主動(dòng)串行模式( AS),被動(dòng)串行模式( PS)和邊界掃描模式( JTAG)。本系統(tǒng)采用邊界掃描模式。其連接電路如圖 所示。 1 2 3 4 5 6 7 8 9 10 11 12ABCD121110987654321DCBAT i t l eN u m be r R e v i s i o nS i z eA1D a t e : 1 8 J u n 2 0 08 S he e t o f F i l e : E : \畢業(yè)設(shè)計(jì) \ 9 9\ n e w F P G A 6 . d db D r a w n B y:T D IT D OT C KT M S24681013579J P _ A S 1H e a d e r 5 X 224681013579J P _ J T A G 1H e a d e r 5 X 2T C KT D OT M ST D IV C C _3 . 3VA S D On C S OC O N F _ D O N En C O N F I GV C C _3 . 3Vn C S OV C C3V C C7V C C8D A T A2D C L K6n C S1A S D I5GND4U5E P C S 4 N E WV C C _3 . 3VP 20P 22R 4 11 0KD A T A 020T D I19T D O16T C K18T M S17M S E L 01 26M S E L 11 25n C E22D C L K21C O N F _ D O N E1 23n C O N F I G26n S T A T U S1 21U 2 CE P 2 C 8P 21C O N F _ D O N En C O N F I GR 3 81 0KR 3 91 0KR 4 01 0KV C C _3 . 3VR 3 71 0KR 3 51 0KR 3 61 0KV C C _3 . 3VD2L E D 2R 5 22 00C O N F _ D O N E 圖 晶振用來產(chǎn)生一個(gè)不間斷的脈沖波形。 FPGA 通過它產(chǎn)生一個(gè)時(shí)鐘信號,作為中北大學(xué)信息商務(wù)學(xué)院 2020 屆畢業(yè)設(shè)計(jì)說明書 第 14 頁 共 32 頁 總的系統(tǒng)時(shí)鐘來控制每個(gè)動(dòng)作的時(shí)間及其快慢。 在本系統(tǒng)中的采用的是 40MHz 的晶體振蕩器。時(shí)鐘發(fā)生電路的連接情況如圖。 圖 由于系統(tǒng)需要的是 以及 ,而外部設(shè)備提供的是 5V的電壓,故選用了 NCP5504 作為電壓轉(zhuǎn)換電路,它可以將 5V 電壓轉(zhuǎn)換為 和 輸出去。具體電路如 所示 1 2 3 4 5 6 7 8 9 10 11 12ABCD121110987654321DCBAT i t l eN u m be r R e v i s i o nS i z eA1D a t e : 1 8 J u n 2 0 08 S he e t o f F i l e : E : \畢業(yè)設(shè)計(jì) \ 9 9\ n e w F P G A 6 . d db D r a w n B y:Adj1Vout22GND3Vin4Vout15U4N C P 55 0 4C11uC21 00 uC31uV C C _3 . 3VV C C _1 . 25 VV C C _5 VD3L E DR 1 02 00123J P 1H E A D E R 3 圖 在硬件電路設(shè)計(jì)中,電源是電路能否正常工作的關(guān)鍵環(huán)節(jié),也是最容易被忽略的環(huán)節(jié)。在數(shù)字電路中,電源有兩個(gè)基本功能:首先是為邏輯器件提供工作電源,中北大學(xué)信息商務(wù)學(xué)院 2020 屆畢業(yè)設(shè)計(jì)說明書 第 15 頁 共 32 頁 其次是為數(shù)字電平信號提供參考電壓。 為了消除電源線及地線的紋波,在器件及電路板上增加濾波電容,以提高器件的抗干擾能力。 本設(shè)計(jì)在每個(gè)電路芯片的電源引腳上都并接一個(gè) ,其作用是降低電路中因負(fù)載變 化而引起的噪聲、減少干擾信號并使信號穩(wěn)定。 3 基于 FPGA 的步進(jìn)電機(jī)細(xì)分控制 基于 FPGA 的設(shè)計(jì)方法 自頂向下的設(shè)計(jì)方法 傳統(tǒng)的電子設(shè)計(jì)流程通常是自底向上的,即首先確定構(gòu)成系統(tǒng)的最底層的電路模塊或元件的結(jié)構(gòu)和功能,然后根據(jù)主系統(tǒng)的功能要求,將它們組合成更大的功能塊,使它們的結(jié)構(gòu)和功能滿足高層系統(tǒng)的要求。以此流程,逐步向上遞推直至完成整個(gè)目標(biāo)系統(tǒng)的設(shè)計(jì)。例如,對于一般電子系統(tǒng)的設(shè)計(jì),使用自底向上的設(shè)計(jì)方法,必須首先決定使用的器件類別和規(guī)格,如 74 系列的器件、某種 RAM 和 ROM、某類CPU 或 單片機(jī)以及某些專用功能芯片等 :然后是構(gòu)成多個(gè)功能模塊,如數(shù)據(jù)采集模塊、信號處理模塊、數(shù)據(jù)交換和接口模塊等,直至最后利用它們完成整個(gè)系統(tǒng)的設(shè)計(jì)。 自底向上的設(shè)計(jì)方法的特點(diǎn)是,必須首先關(guān)注并致力于解決系統(tǒng)最底層硬件的可獲得性,以及他們的功能特性方面的諸多細(xì)節(jié)問題 :在整個(gè)逐級設(shè)計(jì)和測試過程中,始終必須顧及具體目標(biāo)器件的技術(shù)細(xì)節(jié)。在這個(gè)設(shè)計(jì)過程中的任一時(shí)刻,最底層目標(biāo)器件的更換,或某些技術(shù)參數(shù)不滿足總體要求,或缺貨,或由于市場競爭的變化,臨時(shí)提出降低系統(tǒng)成本,提高運(yùn)行速度等不可預(yù)測的外部因素,都將可能使前面的工作前 功盡棄。 由此可見,在某些情況下,自底向上的設(shè)計(jì)方法是一種低效、低可靠性、費(fèi)時(shí)費(fèi)力,且成本高昂的設(shè)計(jì)方法。 在電子設(shè)計(jì)領(lǐng)域,自頂向下設(shè)計(jì)方法只有在 EDA 技術(shù)得到快速發(fā)展和成熟應(yīng)用的今天才成為可能。自頂向下設(shè)計(jì)方法的有效應(yīng)用必須基于強(qiáng)大的 EDA 工具、具備集系統(tǒng)描述、行為描述和結(jié)構(gòu)描述功能為一體的 VHDL 硬件描述語言,以及先進(jìn)的可編程邏輯器件的開發(fā)設(shè)計(jì)。當(dāng)今,自頂向下的設(shè)計(jì)方法己經(jīng)是 EDA 技術(shù)的首選設(shè)中北大學(xué)信息商務(wù)學(xué)院 2020 屆畢業(yè)設(shè)計(jì)說明書 第 16 頁 共 32 頁 計(jì)方法,是 CPLD 開發(fā)的主要設(shè)計(jì)手段。 在 EDA 技術(shù)應(yīng)用中,自頂向下的設(shè)計(jì)方法就是在整個(gè)設(shè)計(jì)流程中各設(shè)計(jì)環(huán)節(jié)逐步 求精的過程。一個(gè)項(xiàng)目的設(shè)計(jì)過程包括從自然語言說明到 VHDL 的系統(tǒng)行為描述、系統(tǒng)的分解、 RTL模型的建立、門級模型產(chǎn)生,到最終的可以物理布線實(shí)現(xiàn)的底層電路,就是從高抽象級別到低抽象級別的整個(gè)設(shè)計(jì)周期。后端設(shè)計(jì)還必須包括設(shè)計(jì)硬件的物理結(jié)構(gòu)實(shí)現(xiàn)方法和測試。 應(yīng)用 VHDL 進(jìn)行自頂向下的設(shè)計(jì),就是使用 VHDL 模型在所有綜合級別上對硬件設(shè)計(jì)進(jìn)行說明、建模和仿真測試。主系統(tǒng)及子系統(tǒng)最初的功能要求在 VHDL 里體現(xiàn)為可以被 VHDL 仿真程序驗(yàn)證的可執(zhí)行程序。由于綜合工具可以將高級別的模型轉(zhuǎn)換為門級模型,所以整個(gè)設(shè)計(jì)過程基本是由 計(jì)算機(jī)自動(dòng)完成的。人為介入的方式主要是根據(jù)仿真的結(jié)果和優(yōu)化的指標(biāo)來控制邏輯綜合的方式和指向。因此,在設(shè)計(jì)周期中,要根據(jù)仿真的結(jié)果進(jìn)行優(yōu)化和升級,以及對模型及時(shí)的修改,以改進(jìn)系統(tǒng)或子系統(tǒng)的功能,更正設(shè)計(jì)錯(cuò)誤,提高目標(biāo)系統(tǒng)的工作速度,減小面積損耗,降低功耗和成本等,或者啟用新技術(shù)器件或新的 IP 核。在這些過程中,由于設(shè)計(jì)的下一步是基于當(dāng)前的設(shè)計(jì),即使發(fā)現(xiàn)問題或作新的修改而無需從頭開始設(shè)計(jì),也不妨礙整體的設(shè)計(jì)效率。此外, VHDL 優(yōu)秀的可移植性、 EDA 平臺(tái)的通用性以及與具體硬件結(jié)構(gòu)的無關(guān)性,使得前期的設(shè)計(jì)可以容易地應(yīng) 用于新的設(shè)計(jì)項(xiàng)目,則項(xiàng)目設(shè)計(jì)的周期可以顯著縮短。因此, EDA 設(shè)計(jì)方法里十分強(qiáng)調(diào)將前一個(gè) VHDL 模型重用的方法。此外隨著設(shè)計(jì)層次的降低,在低級別上使用高級別的測試包來測試模型也很重要并有效。 自頂向下的設(shè)計(jì)方法能使系統(tǒng)被分解為各個(gè)模塊的集合之后,可以對設(shè)計(jì)的每個(gè)獨(dú)立模塊指派不同的工作小組。這些小組可以工作在不同地點(diǎn),甚至可以分屬不同的單位,最后將不同的模塊集成為最終的系統(tǒng)模型,并對其進(jìn)行綜合測試核評估。 自頂向下的設(shè)計(jì)流程 圖 給出了自頂向下設(shè)計(jì)流程的框圖說明,它包括如下設(shè)計(jì)階段 : (1)提出設(shè) 計(jì)說明書,即用自然語言表達(dá)系統(tǒng)項(xiàng)目的功能特點(diǎn)和技術(shù)參數(shù)等。 (2)建立 VHDL 行為模型,這一步是將設(shè)計(jì)說明書轉(zhuǎn)化為 VHDL 行為模型。 在這一項(xiàng)目的表達(dá)中,可以使用滿足 IEEE 標(biāo)準(zhǔn)的 VHDL 的所有語句而不必考慮可綜合性。這一建模行為的目的是通過 VHDL 仿真器對整個(gè)系統(tǒng)進(jìn)行系統(tǒng)行為仿真和性中北大學(xué)信息商務(wù)學(xué)院 2020 屆畢業(yè)設(shè)計(jì)說明書 第 17 頁 共 32 頁 能評估。 圖 (3)VHDL 行為仿真。這一階段可以利用 VHDL 仿真器 (如 Modelsim)對頂層系統(tǒng)的行為模型進(jìn)行仿真測試,檢查模擬結(jié)果,繼而進(jìn)行修改和完善。 (4)VHDL 一 RTL 級建模。如上所述, VHDL 只有部分 語句集合可用于硬件功能行為的建模,因此在這一階段,必須將 VHDL行為模型表達(dá)為 VHDL 行為代碼 (或成為 VHDL 一 RTL 級模型 )。從第 3 步到第 4 步,人工介入的內(nèi)容比較多,設(shè)計(jì)者需要給予更多的關(guān)注。 (5)前端功能仿真。在這一階段對 VHDL 一 RTL 級模型進(jìn)行仿真,稱為功能仿真。盡管 VHDL 一 RTL 級模型是可綜合的,但對他的功能仿真仍然與硬件無關(guān),仿真結(jié)果表達(dá)的是可綜合模型的邏輯功能。 (6)邏輯綜合。使用邏輯綜合工具將 VHDL 行為級描述轉(zhuǎn)化為機(jī)構(gòu)化的門級電路。 (7)測試向量生成。這一階段主要是針對 ASIC 設(shè)計(jì) 的。 FPGA 設(shè)計(jì)的時(shí)序測試文件主要產(chǎn)生于適配器。對 ASIC 的測試向量文件是綜合器結(jié)合含有版圖硬件特性的工藝庫后產(chǎn)生的,用于對 ASIC 的功能測試。 (8)功能仿真。利用獲得的測試向量對 ASIC 的設(shè)計(jì)系統(tǒng)和子系統(tǒng)的功能進(jìn)行仿真。 中北大學(xué)信息商務(wù)學(xué)院 2020 屆畢業(yè)設(shè)計(jì)說明書 第 18 頁 共 32 頁 (9)結(jié)構(gòu)綜合。主要將綜合產(chǎn)生的表達(dá)邏輯連接關(guān)系的網(wǎng)表文件,結(jié)構(gòu)具體的目標(biāo)硬件環(huán)境進(jìn)行標(biāo)準(zhǔn)單元調(diào)用、布局、布線和滿足約束條件的結(jié)構(gòu)優(yōu)化配置,