【正文】
該方法為設(shè)計(jì)者帶來(lái)了極大地方便,但也需要設(shè)計(jì)者有整體意識(shí)和全局觀念,克服使用模塊化方法帶來(lái)的問(wèn)題,這些都讓我積累了寶貴的經(jīng)驗(yàn)。而引領(lǐng)EDA技術(shù)發(fā)展潮流的FPGA/CPLD芯片更是日趨智能化、精密化。人們只要有一臺(tái)計(jì)算機(jī)、一套EDA軟件和一片F(xiàn)PGA芯片,就能在家完成大規(guī)模集成電路合適子系統(tǒng)的設(shè)計(jì)。FPGA在實(shí)時(shí)處理時(shí)均為并行工作,速度十分快捷。那么,采用基于FPGA技術(shù)設(shè)計(jì)電子鐘有什么優(yōu)勢(shì)呢?首先,F(xiàn)PGA的學(xué)習(xí)效率比單片機(jī)高出很多。因此每?jī)纱屋敵鲂盘?hào)之間的時(shí)間間距為5/192秒。使用該功能,可以在系統(tǒng)功能出現(xiàn)紊亂或需要校正時(shí)間時(shí),方便地控制系統(tǒng)工作。通過(guò)轉(zhuǎn)換,把時(shí)鐘本身的24進(jìn)制轉(zhuǎn)化為二進(jìn)制BCD碼的形式。仿真圖如圖47所示。仿真圖如圖45所示。個(gè)位數(shù)的進(jìn)位歸零在十進(jìn)制為2時(shí),必須在one等于3時(shí)進(jìn)位,同時(shí)送出進(jìn)位指針full=1,1小時(shí)后將指針歸零。時(shí)鐘每秒計(jì)一次數(shù),因此需要1Hz的時(shí)鐘信號(hào)。 圖41 電子鐘系統(tǒng)框圖電子鐘設(shè)計(jì)的關(guān)鍵,應(yīng)是針對(duì)時(shí)、分、秒、分別作出24計(jì)數(shù)、60計(jì)數(shù)、60計(jì)數(shù),其次是調(diào)整時(shí)間。當(dāng)輸入二進(jìn)制編碼時(shí),經(jīng)Ya—Yg控制七段數(shù)碼管亮暗顯示,從而將BCD碼轉(zhuǎn)換為可視的十進(jìn)制形式。其中CHOOSE為選擇需要調(diào)整的位置,ADJ為調(diào)整的使能端,高有效,整個(gè)調(diào)整時(shí)間的實(shí)現(xiàn)是在暫停的前提下進(jìn)行的。ELSE COUT=39。)。 THENIF Q0=3 and Q1=2 THEN Q0:=(OTHERS=39。 Q1:=(OTHERS=39。 COUT:out std_logic)。圖36 二十四進(jìn)制計(jì)數(shù)器模塊同樣可以把2片74160芯片連成二十四進(jìn)制計(jì)數(shù)器,其電路圖如下。CQ0=Q0。END IF。 Q1:=(OTHERS=39。 ELSIF CLK39。BEGIN IF RST=39。 USE 。end process。architecture arch of div1024 isinput: clkoutput: f1hz signal count : integer range 0 to 1023。 圖33 分頻模塊 分頻模塊程序如下。4.接口的匹配。VHDL語(yǔ)言卻最適合描述電路的行為,即描述電路的功能,然后由綜合器生成符合要求的電路網(wǎng)絡(luò)。有專家認(rèn)為,在21世紀(jì)中,幾乎全部的數(shù)字系統(tǒng)設(shè)計(jì)將由VHDL與Verilog語(yǔ)言承擔(dān)。所謂硬件描述語(yǔ)言(HDL),就是該語(yǔ)言可以描述硬件的功能,信號(hào)連接關(guān)系及定時(shí)關(guān)系。5.時(shí)序分析在設(shè)計(jì)實(shí)現(xiàn)過(guò)程中,在映射后需要對(duì)一個(gè)設(shè)計(jì)的實(shí)際功能塊的延時(shí)和估計(jì)的布線延時(shí)進(jìn)行時(shí)序分析;而在布局布線后,也要對(duì)實(shí)際布局布線的功能塊延時(shí)和實(shí)際布線延時(shí)進(jìn)行靜態(tài)時(shí)序分析。通??煞譃橐韵聨讉€(gè)步驟;(1) 轉(zhuǎn)換:將多個(gè)設(shè)計(jì)文件進(jìn)行轉(zhuǎn)換,并合并到一個(gè)設(shè)計(jì)庫(kù)文件中?;贔PGA的應(yīng)用系統(tǒng)設(shè)計(jì)大體分為設(shè)計(jì)輸入、綜合、功能仿真(前仿真)、實(shí)現(xiàn)、時(shí)序仿真(后仿真)、配置下載等六個(gè)流程。在電池供電的系統(tǒng)中,能量消耗是很關(guān)鍵的。3.同種類型的FPGA可以用于不同類型的設(shè)計(jì)中,以降低庫(kù)存費(fèi)用。 FPGA在數(shù)字系統(tǒng)設(shè)計(jì)中的作用現(xiàn)場(chǎng)可編程門陣列FPGA填補(bǔ)了數(shù)字系統(tǒng)設(shè)計(jì)的空白,是對(duì)微處理器的補(bǔ)充。描述是電路與系統(tǒng)設(shè)計(jì)的輸入方法,它可以采用圖形輸入、硬件描述語(yǔ)言或二者混合使用的方法輸入。描述算法的工具有:算法流程圖、ASM圖、MDS圖等。2.自底向上法自底向上法是根據(jù)系統(tǒng)要求,從具體的器件、邏輯部件或者想死系統(tǒng)開(kāi)始,憑借設(shè)計(jì)者熟練的技巧和豐富的經(jīng)驗(yàn)通過(guò)對(duì)其進(jìn)行相互連接、修改和擴(kuò)大,構(gòu)造所要求的系統(tǒng)。對(duì)于一個(gè)比較復(fù)雜的數(shù)字系統(tǒng),由于它的輸入變量數(shù)、輸出變量數(shù)和內(nèi)部狀態(tài)變量數(shù)很多,如果用常規(guī)的工具(如真值表、卡諾圖、狀態(tài)方程等)和傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法來(lái)描述和設(shè)計(jì)將十分困難,有時(shí)甚至無(wú)法進(jìn)行,因此必須尋求從系統(tǒng)總體出發(fā)。數(shù)字系統(tǒng)主要由數(shù)據(jù)處理器和控制器兩部分組成。對(duì)于一個(gè)LUT無(wú)法完成的電路,就需要通過(guò)進(jìn)位邏輯將多個(gè)單元相連,這樣FPGA就可以實(shí)現(xiàn)復(fù)雜的邏輯[8]。也有少數(shù)FPGA采用反熔絲或Flash工藝,對(duì)這種FPGA,就不需要外加專用的配置芯片。(3) 短線資源:用來(lái)完成基本邏輯單元間的邏輯互連與布線; (4) 其他:在邏輯單元內(nèi)部還有著各種布線資源和專用時(shí)鐘、復(fù)位等控制信號(hào)線。3.嵌入式塊RAM目前大多數(shù)FPGA都有內(nèi)嵌的塊RAM。 FPGA的基本結(jié)構(gòu)及工作原理FPGA的基本結(jié)構(gòu)由6部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等,F(xiàn)PGA的基本結(jié)構(gòu)圖如圖21所示。用戶可利用這些預(yù)定義和預(yù)測(cè)試的軟件模塊在PLD內(nèi)迅速實(shí)現(xiàn)系統(tǒng)功能。目前賽靈思提供采用先進(jìn)的90nm和65nm工藝生產(chǎn)的可編程邏輯器件,它們都是業(yè)界最領(lǐng)先的工藝。FPGA大部分是基于SRAM編程,編程信息在系統(tǒng)斷電時(shí)丟失,每次上電時(shí),需從器件外部將編程數(shù)據(jù)重新寫(xiě)入SRAM中。4.FPGA的集成度比CPLD高,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實(shí)現(xiàn)。CoolRunner?PC)、大容量存儲(chǔ)器、時(shí)鐘管理系統(tǒng)等特性,并支持多種最新的超快速器件至器件(devicetodevice)信號(hào)技術(shù)。4.FPGA是ASIC電路中設(shè)計(jì)周期最短、開(kāi)發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。LogicPLD甚至在設(shè)備付運(yùn)到客戶那兒以后還可以重新編程。——PLD器件已經(jīng)放在分銷商的貨架上并可隨時(shí)付運(yùn)。它采用了EEPROM工藝,實(shí)現(xiàn)了電可按除、電可改寫(xiě),其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而它的設(shè)計(jì)具有很強(qiáng)的靈活性,至今仍有許多人使用[2]。典型的PLD由一個(gè)“與”門和一個(gè)“或”門陣列組成,而任意一個(gè)組合邏輯都可以用“與一或”表達(dá)式來(lái)描述,所以,PLD能以乘積和的形式完成大量組合邏輯功能,PLD基本框圖如圖11所示。設(shè)計(jì)和驗(yàn)證固定邏輯的前期工作需要大量的NRE成本。——PLD邏輯器件可分為兩大類——固定邏輯器件和可編程邏輯器件。數(shù)字集成電路本身在不斷地進(jìn)行更新?lián)Q代。EDA技術(shù)的物質(zhì)基礎(chǔ)即為可編程邏輯器件,又稱為可編程ASIC。FPGA。本文的主要內(nèi)容是根據(jù)上述原理和方法設(shè)計(jì)一個(gè)電子鐘系統(tǒng),目的在于通過(guò)該系統(tǒng)的功能,體現(xiàn)出FPGA在數(shù)據(jù)處理中的應(yīng)用?,F(xiàn)場(chǎng)可編程門陣列(FPGA)是近年來(lái)迅速發(fā)展起來(lái)的新型可編程器,其靈活的可編程邏輯可以方便的實(shí)現(xiàn)高速數(shù)字信號(hào)處理。關(guān)鍵詞 電子設(shè)計(jì)自動(dòng)化;現(xiàn)場(chǎng)可編程門陣列;硬件描述語(yǔ)言;電子鐘Digital Electronic Clock Design Based on Technology of FPGAAbstractWith the rapid development of electronic technology, modern electronic products have infiltrated into various fields of the society, and have effectively promoted the development of social productive forces and social information, also increased. In modern electronic technology, the programmable logic devices play a key role. Field programmable gate arrays (FPGA), a new type of programmable device, is developing rapidly recent years. It introduced the concept of flexible programmable logic, which can realize highspeed digital signal processing conveniently. It broke through the parallel processing, water levels of restrictions, has repeatedly programmable capacity to effectively use the onchip resources, coupled with efficient hardware description language VHDL, so as to design digital systems conveniently. This article introduces a system of the basic structure of the FPGA, the basic principle of features and applications。因此工程師們開(kāi)始進(jìn)行二維平面圖形的計(jì)算機(jī)輔助設(shè)計(jì),以解脫復(fù)雜機(jī)械的版圖設(shè)計(jì)工作,這就產(chǎn)生了第一代EDA工具。這種設(shè)計(jì)方法,極大地降低了設(shè)計(jì)難度,提高了工作效率。存儲(chǔ)器用來(lái)存儲(chǔ)隨機(jī)信息,如數(shù)據(jù)表或數(shù)據(jù)庫(kù)的內(nèi)容。早期的可編程邏輯器件只有可編程只讀存貯器(PROM)、紫外線可擦除只讀存貯器(EPROM)和電可擦除只讀存貯器(EEPROM)三種。 PLA器件既有現(xiàn)場(chǎng)可編程的,也有掩膜可編程的。 然而,可編程邏輯器件提供了一些優(yōu)于固定邏輯器件的重要優(yōu)點(diǎn),包括:1.PLD在設(shè)計(jì)過(guò)程中為客戶提供了更大的靈活性,因?yàn)閷?duì)于PLD來(lái)說(shuō),設(shè)計(jì)反復(fù)只需要簡(jiǎn)單地改變編程文件就可以了,而且設(shè)計(jì)改變的結(jié)果可立即在工作器件中看到。采用固定邏輯器件的客戶經(jīng)常會(huì)面臨需要廢棄的過(guò)量庫(kù)存,而當(dāng)對(duì)其產(chǎn)品的需求高漲時(shí),他們又可能為器件短缺(供貨不足)所苦,并且不得不面對(duì)生產(chǎn)延遲的現(xiàn)實(shí)。在這兩類可編程邏輯器件中,F(xiàn)PGA采用了邏輯單元陣列LCA(Logic系列中的部分器件,可提供八百萬(wàn)“系統(tǒng)門”(相對(duì)邏輯密度)。最高約1萬(wàn)門。3.在編程上FPGA比CPLD具有更大的靈活性。這是由于FPGA是門級(jí)編程,并且CLB之間采用分布式互聯(lián),而CPLD是邏輯塊級(jí)編程,并且其邏輯塊之間的互聯(lián)是集總式的。能夠?qū)崿F(xiàn)這一點(diǎn)的重要原因之一是像賽靈思這樣的PLD供應(yīng)商是“無(wú)晶圓制造廠”企業(yè),并不直接擁有芯片制造工廠,賽靈思將芯片制造工作外包給聯(lián)華電子(UMC)和東芝,他們是芯片制造行業(yè)的領(lǐng)導(dǎo)廠商。MHz,成本低至不到10美元,并且還提供了更高水平的集成特性,如處理器和存儲(chǔ)器。最后,結(jié)合此次設(shè)計(jì)的親身經(jīng)歷,對(duì)FPGA技術(shù)進(jìn)行簡(jiǎn)單的總結(jié)。一般來(lái)說(shuō),比較經(jīng)典的基本可編程單元的配置是一個(gè)寄存器加一個(gè)查找表,但不同廠商的寄存器和查找表的內(nèi)部結(jié)構(gòu)有一定的差異,而且寄存器和查找表的組合模式也不同。除了塊RAM,Xilinx和Lattice的FPGA還可以靈活地將LUT配置成RAM、ROM、FIFO等存儲(chǔ)結(jié)構(gòu)。當(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)容,然后輸出即可。觸發(fā)器的輸出與I/O腳相連,把結(jié)果輸出到芯片管腳。FPGA中就是由很多類似這樣的基本邏輯單元來(lái)完成各種復(fù)雜邏輯功能的。圖 24 數(shù)字系統(tǒng)的組成隨著數(shù)字集成技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)字系統(tǒng)設(shè)計(jì)的理論和方法也在不斷的發(fā)展和變化。子系統(tǒng)劃分的太少,則失去了模塊化設(shè)計(jì)的特點(diǎn);子系統(tǒng)劃分的太多,則系統(tǒng)之間的連接過(guò)于復(fù)雜,容易出錯(cuò)。1.系統(tǒng)級(jí)設(shè)計(jì)的過(guò)程(1) 在詳細(xì)了解設(shè)計(jì)任務(wù)的基礎(chǔ)上,確定頂層系統(tǒng)的方案這是設(shè)計(jì)過(guò)程的第一階段,要求對(duì)設(shè)計(jì)任務(wù)做透徹地了解,確定設(shè)計(jì)任務(wù)及系統(tǒng)的整體功能、輸入信號(hào)及輸出信號(hào)。隨著數(shù)字集成技術(shù)的飛速發(fā)展,VLSI規(guī)模核技術(shù)復(fù)雜度也在急劇增長(zhǎng),人工設(shè)計(jì)數(shù)字系統(tǒng)十分困難,必須依靠自動(dòng)設(shè)計(jì)(EDA)技術(shù)。首先闡述了FPGA各結(jié)構(gòu)的簡(jiǎn)要介紹以及FPGA的工作原理;并對(duì)數(shù)字系統(tǒng)設(shè)計(jì)的組成,其中常用的兩種設(shè)計(jì)方法和數(shù)字系統(tǒng)設(shè)計(jì)的基本流程進(jìn)行了簡(jiǎn)單介紹。1.從完成設(shè)計(jì)到取得一個(gè)可工作的芯片之間不用等待,可以把程序?qū)懭隖PGA并立即進(jìn)行測(cè)試。實(shí)現(xiàn)邏輯功能只是FPGA或任何數(shù)字系統(tǒng)設(shè)計(jì)必須達(dá)到的一個(gè)目標(biāo),為了使設(shè)計(jì)獲得成功,還必須滿足以下屬性:1.性能:邏輯器件必須在要求的速度下工作,性能可以用以下幾種方案來(lái)衡量,比如吞吐量和等待時(shí)間。FPGA的開(kāi)發(fā)工具一般比VLSI開(kāi)發(fā)工具便宜。3.仿真驗(yàn)證從廣義上講,設(shè)計(jì)驗(yàn)證包括功能與時(shí)序仿真和電路驗(yàn)證。在實(shí)現(xiàn)過(guò)程中可以進(jìn)行選項(xiàng)設(shè)置。圖 31 數(shù)字系統(tǒng)的設(shè)計(jì)流程6.下載驗(yàn)證下載是在功能仿真和時(shí)序仿真正確的前提下,將綜合后形成的位流下載到具體的FPGA芯片中,也叫芯片配置,F(xiàn)PGA設(shè)計(jì)有兩種配置模式:直接由計(jì)算機(jī)經(jīng)過(guò)專用下載電纜進(jìn)行配置;由外圍配置芯片進(jìn)行上電時(shí)自動(dòng)配置。 1982年,各ASIC芯片廠相繼開(kāi)發(fā)了用于各自目的的HDL,1987年底,IEEE確認(rèn)美國(guó)國(guó)防部開(kāi)發(fā)的VHDL為標(biāo)準(zhǔn)硬件描述語(yǔ)言。這些特點(diǎn)符合IC設(shè)計(jì)的市場(chǎng)要求。2.文本定義的隱式操作,如read、write、endfile等。