【正文】
設計的精度和效率的要求。EDA技術的物質(zhì)基礎即為可編程邏輯器件,又稱為可編程ASIC。至于數(shù)據(jù)在芯片內(nèi)部的處理過程,設計者不用考慮,但設計者可以通過仿真軟件觀察和驗證數(shù)據(jù)的處理結果。數(shù)字集成電路本身在不斷地進行更新?lián)Q代。在數(shù)字電子系統(tǒng)領域,存在三種基本的器件類型:存儲器、微處理器和邏輯器件?!狿LD邏輯器件可分為兩大類——固定邏輯器件和可編程邏輯器件。而且此類器件可在任何時間改變,從而完成許多種不同的功能。設計和驗證固定邏輯的前期工作需要大量的NRE成本。然后,可快速將設計編程到器件中,并立即在實際運行的電路中對設計進行測試。典型的PLD由一個“與”門和一個“或”門陣列組成,而任意一個組合邏輯都可以用“與一或”表達式來描述,所以,PLD能以乘積和的形式完成大量組合邏輯功能,PLD基本框圖如圖11所示。還有一類結構更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個“與”平面和一個“或”平面構成,但是這兩個平面的連接關系是可編程的。它采用了EEPROM工藝,實現(xiàn)了電可按除、電可改寫,其輸出結構是可編程的邏輯宏單元,因而它的設計具有很強的靈活性,至今仍有許多人使用[2]?!狿LD器件已經(jīng)放在分銷商的貨架上并可隨時付運。4.PLD允許客戶在需要時僅訂購所需要的數(shù)量,從而使客戶可控制庫存。PLD甚至在設備付運到客戶那兒以后還可以重新編程。可編程邏輯器件的兩種類型是現(xiàn)場可編程門陣列(FPGA)和復雜可編程邏輯器件(CPLD)。LogicFPGA的基本特點主要有: 1.采用FPGA設計ASIC電路,用戶不需要投片生產(chǎn)就能得到合適芯片。4.FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。Virtex?PC)、大容量存儲器、時鐘管理系統(tǒng)等特性,并支持多種最新的超快速器件至器件(devicetodevice)信號技術?!狢oolRunner?2.CPLD的連續(xù)式布線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式布線結構決定了其延遲的不可預測性。4.FPGA的集成度比CPLD高,具有更復雜的布線結構和邏輯實現(xiàn)。6.CPLD的速度比FPGA快,并且具有較大的時間可預測性。FPGA大部分是基于SRAM編程,編程信息在系統(tǒng)斷電時丟失,每次上電時,需從器件外部將編程數(shù)據(jù)重新寫入SRAM中。過去幾年時間里,可編程邏輯供應商取得了巨大的技術進步,以致現(xiàn)在PLD被眾多設計人員視為是邏輯解決方案的當然之選。目前賽靈思提供采用先進的90nm和65nm工藝生產(chǎn)的可編程邏輯器件,它們都是業(yè)界最領先的工藝。然而,今天具有最先進特性的FPGA可提供百萬門的邏輯容量、工作300用戶可利用這些預定義和預測試的軟件模塊在PLD內(nèi)迅速實現(xiàn)系統(tǒng)功能。同時具體介紹了構成電子鐘主要功能模塊特性與功能,在此基礎上給出電子鐘系統(tǒng)的設計方法和設計過程,這其中包括電子鐘的總體框圖架構,各模塊的模擬仿真及其分析。 FPGA的基本結構及工作原理FPGA的基本結構由6部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等,F(xiàn)PGA的基本結構圖如圖21所示。FPGA一般依賴寄存器完成同步時序邏輯設計。3.嵌入式塊RAM目前大多數(shù)FPGA都有內(nèi)嵌的塊RAM。簡單的說,RAM是一種寫地址,讀數(shù)據(jù)的存儲單元;CAM與RAM恰恰相反。(3) 短線資源:用來完成基本邏輯單元間的邏輯互連與布線; (4) 其他:在邏輯單元內(nèi)部還有著各種布線資源和專用時鐘、復位等控制信號線。目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的16x1的RAM。也有少數(shù)FPGA采用反熔絲或Flash工藝,對這種FPGA,就不需要外加專用的配置芯片。時鐘信號CLK由I/O腳輸入后進入芯片內(nèi)部的時鐘專用通道,直接連接到觸發(fā)器的時鐘端。對于一個LUT無法完成的電路,就需要通過進位邏輯將多個單元相連,這樣FPGA就可以實現(xiàn)復雜的邏輯[8]。在上述門陣列的基礎上增加些觸發(fā)器,便可構成即可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元電路。數(shù)字系統(tǒng)主要由數(shù)據(jù)處理器和控制器兩部分組成。數(shù)字系統(tǒng)的組成流程圖如圖24所示。對于一個比較復雜的數(shù)字系統(tǒng),由于它的輸入變量數(shù)、輸出變量數(shù)和內(nèi)部狀態(tài)變量數(shù)很多,如果用常規(guī)的工具(如真值表、卡諾圖、狀態(tài)方程等)和傳統(tǒng)的數(shù)字系統(tǒng)設計方法來描述和設計將十分困難,有時甚至無法進行,因此必須尋求從系統(tǒng)總體出發(fā)。在對系統(tǒng)進行劃分時需要注意子系統(tǒng)的數(shù)目是否合適。2.自底向上法自底向上法是根據(jù)系統(tǒng)要求,從具體的器件、邏輯部件或者想死系統(tǒng)開始,憑借設計者熟練的技巧和豐富的經(jīng)驗通過對其進行相互連接、修改和擴大,構造所要求的系統(tǒng)。其一般過程是:在詳細了解設計任務的基礎上,確定系統(tǒng)的整體功能;用某種方法描述系統(tǒng)功能,設計實現(xiàn)系統(tǒng)功能的算法;根據(jù)算法選擇電路結構;選擇器件并實現(xiàn)電路。描述算法的工具有:算法流程圖、ASM圖、MDS圖等。(2) 選擇器件并實現(xiàn)電路 根據(jù)設計選擇適當?shù)钠骷韺崿F(xiàn)電路,并導出詳細的電路圖。描述是電路與系統(tǒng)設計的輸入方法,它可以采用圖形輸入、硬件描述語言或二者混合使用的方法輸入。本章主要對FPGA的基本結構和數(shù)字系統(tǒng)設計進行敘述。 FPGA在數(shù)字系統(tǒng)設計中的作用現(xiàn)場可編程門陣列FPGA填補了數(shù)字系統(tǒng)設計的空白,是對微處理器的補充。但是,由于FPGA是標準芯片,因而能夠彌補定制芯片的一些不足。3.同種類型的FPGA可以用于不同類型的設計中,以降低庫存費用。FPGA已經(jīng)成為數(shù)字系統(tǒng)實現(xiàn)的主流器件。在電池供電的系統(tǒng)中,能量消耗是很關鍵的。4.設計成本:設計時間是設計成本的一個重要組成部分,但是還需要考慮其他因素,比如對支持工具的投入等?;贔PGA的應用系統(tǒng)設計大體分為設計輸入、綜合、功能仿真(前仿真)、實現(xiàn)、時序仿真(后仿真)、配置下載等六個流程。2.設計綜合總和就是針對給定的電路實現(xiàn)功能和實現(xiàn)此電路的約束條件,如速度、功耗、成本及電路類型等,通過計算機進行優(yōu)化處理,獲得一個能滿足上述要求的電路設計方案。通??煞譃橐韵聨讉€步驟;(1) 轉(zhuǎn)換:將多個設計文件進行轉(zhuǎn)換,并合并到一個設計庫文件中。(5) 配置:產(chǎn)生FPGA配置時需要的位流文件。5.時序分析在設計實現(xiàn)過程中,在映射后需要對一個設計的實際功能塊的延時和估計的布線延時進行時序分析;而在布局布線后,也要對實際布局布線的功能塊延時和實際布線延時進行靜態(tài)時序分析。設計流程圖如圖31所示。所謂硬件描述語言(HDL),就是該語言可以描述硬件的功能,信號連接關系及定時關系。多年來設計者一直使用這些專門的HDL。有專家認為,在21世紀中,幾乎全部的數(shù)字系統(tǒng)設計將由VHDL與Verilog語言承擔。2.VHDL語句的行為描述能力和程序結構決定了它具有支持大規(guī)模設計的分解和已有設計在利用的功能,它支持系統(tǒng)的數(shù)學模型直到門級電路的描述,并且高層次的行為描述和低層次的門級電路描述、結構描述可以混合使用。VHDL語言卻最適合描述電路的行為,即描述電路的功能,然后由綜合器生成符合要求的電路網(wǎng)絡。盡管VHDL作為IEEE的制定的工業(yè)標準硬件描述語言具有諸多優(yōu)點,但它也具有文本的局限性及隱含信息內(nèi)容,具體表現(xiàn)如下:1.通用整數(shù)等匿名類類型或依據(jù)不同系統(tǒng)應用環(huán)境而定的語言內(nèi)容信息,在編譯處理時,應對這些想象予以定量限制。4.接口的匹配?;赩HDL語言的系統(tǒng)設計流程如圖32所示。 圖33 分頻模塊 分頻模塊程序如下。Use 。architecture arch of div1024 isinput: clkoutput: f1hz signal count : integer range 0 to 1023。 else f1hz=39。end process。模塊如圖34所示,其中clk為1Hz的時鐘信號,COUT為進位輸出,SL為秒低位的輸出,SH為秒高位的輸出。 USE 。 CQ1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。BEGIN IF RST=39。)。 ELSIF CLK39。139。 Q1:=(OTHERS=39。039。END IF。139。CQ0=Q0。在該計數(shù)模塊中,將分鐘計數(shù)器的時鐘信號作為該模塊的輸入。圖36 二十四進制計數(shù)器模塊同樣可以把2片74160芯片連成二十四進制計數(shù)器,其電路圖如下。USE 。 COUT:out std_logic)。139。 Q1:=(OTHERS=39。EVENT AND CLK=39。 THENIF Q0=3 and Q1=2 THEN Q0:=(OTHERS=39。039。)。END IF。ELSE COUT=39。CQ3=Q1。其中CHOOSE為選擇需要調(diào)整的位置,ADJ為調(diào)整的使能端,高有效,整個調(diào)整時間的實現(xiàn)是在暫停的前提下進行的。因此數(shù)字顯示電路是許多數(shù)字設備不可缺少的一部分。當輸入二進制編碼時,經(jīng)Ya—Yg控制七段數(shù)碼管亮暗顯示,從而將BCD碼轉(zhuǎn)換為可視的十進制形式。第4章 電子鐘模擬仿真及其分析本章將設計一個顯示時(2位)、分(2位)、秒(2位)共6個數(shù)字的多功能電子鐘。 圖41 電子鐘系統(tǒng)框圖電子鐘設計的關鍵,應是針對時、分、秒、分別作出24計數(shù)、60計數(shù)、60計數(shù),其次是調(diào)整時間。3.當電子鐘的鬧鐘模塊或定時、校時模塊工作時,時鐘脈沖作為調(diào)整觸發(fā)信號,當按住調(diào)整鍵時,相應位每秒(分、時)鐘加1或減1。時鐘每秒計一次數(shù),因此需要1Hz的時鐘信號。設定rst和時鐘carry的值后,仿真圖如圖43所示。個位數(shù)的進位歸零在十進制為2時,必須在one等于3時進位,同時送出進位指針full=1,1小時后將指針歸零。以1Hz的顯示速率來調(diào)整時分秒的顯示,足以滿足視覺要求。仿真圖如圖45所示。當持續(xù)按住調(diào)秒鍵sec_tune時,秒鐘將從0持續(xù)增到59后,再返回0,任何時刻松開按鍵即顯示當時的值。仿真圖如圖47所示。即時鐘本身的60進制被轉(zhuǎn)化為2進制BCD碼形式。通過轉(zhuǎn)換,把時鐘本身的24進制轉(zhuǎn)化為二進制BCD碼的形式。設計完所有功能模塊后,將所有功能模塊整合起來,完成最后的系統(tǒng)功能。使用該功能,可以在系統(tǒng)功能出現(xiàn)紊亂或需要校正時間時,方便地控制系統(tǒng)工作。而當把sec_tune置為0時,停止計時,此時顯示的時間為設定的定時起始時間。因此每兩次輸出信號之間的時間間距為5/192秒。而FPGA試驗箱本身已經(jīng)集成了分頻模塊、BCD七段顯示譯碼器等功能模塊。那么,采用基于FPGA技術設計電子鐘有什么優(yōu)勢呢?首先,F(xiàn)PGA的學習效率比單片機高出很多。對每個廠家生產(chǎn)的單片機其匯編語言均不同。FPGA在實時處理時均為并行工作,速度十分快捷。而單片機的各引腳功能均為確定,無法更改。人們只要有一臺計算機、一套EDA軟件和一片F(xiàn)PGA芯片,就能在家完成大規(guī)模集成電路合適子系統(tǒng)的設計。電子鐘系統(tǒng)最終原理圖見附錄C,整體運行程序見附錄D。而引領EDA技術發(fā)展潮流的FPGA/CPLD芯片更是日趨智能化、精密化。2.對FPGA有了一定的認識。該方法為設計者帶來了極大地方便,但也需要設計者有整體意識和全局觀念,克服使用模塊化方法帶來的問題,這些都讓我積累了寶貴的經(jīng)驗。 mincut, quadratic, simulated annealing, and a hybrid approach of using genetic algorithm with simulated annealing technique. The methodology of each optimization technique is presented and its advantages and disadvantages are evaluated. Overall, the hybrid approach of using genetic algorithm with simulated annealing technique produces best result, reaching a global optimal solution. The hybrid approach of using genetic algorithm and simulated annealing optimization technique is implemented using MATLAB and its results are presented using a wirelengthdriven placement as cost function.Index Terms Field programmable gate arrays, optimization methods, routing, quadratic programming, simulated annealing, and genetic algorithms1. INTRODUCTIONFieldProgrammable gate arrays (FPGA) are reprogrammable logic chips that can be configured to implement various digital circuits. The Field Programmable Gate Array (FPGA) has gained its popularity in implementing digital circuit due to its significant low cost and fast prototyping turn around time. In this survey, an island style FPGA model is considered. Island st