版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于的fpga的數(shù)據(jù)采集控制系統(tǒng)設(shè)計摘 要以altera公司的fpga芯片ep1c6t144c8為核心,采用a/d轉(zhuǎn)換器件和d/a轉(zhuǎn)換器件設(shè)計了一個基于fpga的數(shù)據(jù)采集系統(tǒng),并用狀態(tài)機描述方式對系統(tǒng)進行了深入分析。系統(tǒng)通過軟件設(shè)計輸入、分析與綜合、仿真與驗證等過程仿真實現(xiàn)了這一系統(tǒng)。設(shè)計輸入過程中用vhdl語言編程實現(xiàn)了對tlc5510的采樣控制和d/a轉(zhuǎn)換器的控制;分析與綜合過程對設(shè)計文件進行排錯處理,并且對系統(tǒng)耗用的資源進行統(tǒng)計;仿真與驗證過程對設(shè)計的核心模塊的功能和時序性質(zhì)進行了仿真測試,用仿真波形分析說明設(shè)計結(jié)果滿足設(shè)計要求。關(guān)鍵詞:數(shù)據(jù)采集系統(tǒng);fpga;采樣控制系統(tǒng)abstrac
2、tthe fpga chip ep1c6t144c8 of altera company which works with the a/d and d/a conversion devices as the core. a data acquisition, based on fpga, was designed by programming with quartusii simulation software and the function of validation. the system was analyzed deeply by adopting the method of the
3、 state machine. a data acquisition structure was designed in the system, which was achieved by designing inputs, analysis and synthesis, simulation and validation and so on. in the process of design inputs, the control of sampling to tlc5510 and d/a diversion were achieved by programming with vhdl l
4、anguage. the process of analysis and synthesis misarranged the design files. it also made a statistics of consumed sources in the system. the function and timing nature of the design was tested by simulation in the simulating and verifying process for validating the work here.key words: data acquisi
5、tion system, fpga, vhdl, sampling control system目 錄第一章 緒 論11.1 課題背景及依據(jù)11.2 選題目的及意義2第二章 系統(tǒng)的結(jié)構(gòu)設(shè)計32.1 概述32.2 系統(tǒng)總體結(jié)構(gòu)及原理32.2.1 a/d轉(zhuǎn)換模塊42.2.2數(shù)據(jù)存儲模塊62.2.3 d/a轉(zhuǎn)換模塊62.2.4 fpga控制模塊7第三章 fpga對a/d和d/a轉(zhuǎn)換控制軟件設(shè)計93.1 vhdl硬件描述語言基礎(chǔ)93.1.1 設(shè)計輸入93.1.2 程序結(jié)構(gòu)說明103.2 狀態(tài)機設(shè)計113.2.1 moore狀態(tài)機設(shè)計123.2.2 vhdl一般狀態(tài)機設(shè)計123.2.3 類型定義語句ty
6、pe133.3 用狀態(tài)機設(shè)計a/d采樣控制143.4 用行為描述方式設(shè)計a/d采樣控制163.5 實用狀態(tài)機的優(yōu)勢173.6 d/a轉(zhuǎn)換的控制18第四章 quartus仿真204. 1 設(shè)計輸入204.2 設(shè)計編譯214.3 設(shè)計綜合224.4 設(shè)計仿真254.5 仿真結(jié)果及分析274.5.1 狀態(tài)機描述方式的時序仿真和功能仿真分析274.5.2 行為描述方式時序仿真分析27第五章 測試信號分析295.1 正弦波的產(chǎn)生295.2 正弦波發(fā)生器的特點31結(jié) 論33致 謝34參考文獻35附錄1 狀態(tài)機實現(xiàn)tlc5510采樣控制程序36附錄2 行為描述方式實現(xiàn)tlc5510采樣控制程序38附錄3 測
7、試信號正弦波的產(chǎn)生程序39附錄4 d/a轉(zhuǎn)換器控制程序45第一章 緒 論現(xiàn)代電子設(shè)計技術(shù)的核心已日趨轉(zhuǎn)向基于計算機的電子設(shè)計自動化技術(shù),即eda技?,F(xiàn)代電子系統(tǒng)設(shè)計領(lǐng)域中的eda是隨著計算機輔助設(shè)計技術(shù)的提高和專用集成電路規(guī)模的擴大應(yīng)用而生,并得到不斷完善的。由于數(shù)字技術(shù)的發(fā)展,可編程專用集成電路,即cpld/fpga器件,目前得到廣泛的應(yīng)用,為電子系統(tǒng)的設(shè)計帶來極大的靈活性。可編程專用集成電路可以通過軟件編程對器件的硬件結(jié)構(gòu)和工作方式進行重構(gòu),使得硬件的設(shè)計如同軟件設(shè)計那樣方便快捷。這一切可極大地改變傳統(tǒng)的電子系統(tǒng)設(shè)計方法、設(shè)計過程乃至設(shè)計觀念。甚至在asic器件設(shè)計過程中,利用eda技術(shù)完
8、成對軟件仿真之后,在投片之前,也可以先利用fpga進行“硬件仿真”。如果能夠利用cpld/fpga器件的可編程特性,把設(shè)計的結(jié)果加載到器件中進行硬件的調(diào)試和驗證,則對eda技術(shù)的掌握極其有益。1.1 課題背景及依據(jù)20世紀(jì)末,電子技術(shù)獲得了飛速發(fā)展,在其推動下, 現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。eda工程就是以計算機為工作平臺,以eda軟件工具為開發(fā)環(huán)境,以可編程器件為實驗載體,以asic、soc新品為目標(biāo)器件,以電子系統(tǒng)設(shè)計為應(yīng)用方向的電子產(chǎn)品自動化設(shè)計過程,eda工程
9、廣義的定義范圍包括半導(dǎo)體工藝設(shè)計自動化,可編程器件設(shè)計自動化,電子系統(tǒng)設(shè)計自動化,印刷電路板設(shè)計自動化,仿真與測試故障診斷以及形式驗證自動化。eda工程的狹義的定義范圍是電子設(shè)計自動化。不包含電子生產(chǎn)自動化。eda工具的出現(xiàn),給電子系統(tǒng)設(shè)計帶來了革命性的變化。隨著intel公司pentium處理器的推出,altera等公司幾十萬門乃至上百萬門規(guī)模的fpga的上市,eda工程在功能仿真、時序分析、集成電路自動測試、高速印刷電路板設(shè)計及操作平臺的擴展等方面都面臨著新的巨大的挑戰(zhàn)。目前,eda技術(shù)作為電子設(shè)計的通用平臺,逐漸向支持系統(tǒng)級的設(shè)計發(fā)展;數(shù)字系統(tǒng)的設(shè)計也從圖形設(shè)計方案向硬件描述語言設(shè)計方案
10、發(fā)展??删幊唐骷跀?shù)字系統(tǒng)設(shè)計領(lǐng)域得到廣泛應(yīng)用,不僅縮短了系統(tǒng)開發(fā)周期,而且利用器件的現(xiàn)場可編程特性,可根據(jù)應(yīng)用的要求對器件進行動態(tài)配置或編程,簡單易行地完成功能的添加和修改。在eda軟件開發(fā)方面,主要集中在美國。 但各國也正在努力開發(fā)相應(yīng)的工具。日本,韓國都有asic設(shè)計工具,但不對外開放。相信在不久的將來會有更多更好的設(shè)計工具在各地發(fā)展壯大。eda技術(shù)發(fā)展迅猛,完全可以用日新月異來描述。eda技術(shù)的應(yīng)用廣泛,現(xiàn)在已涉及到各行各業(yè)。eda水平不斷提高,設(shè)計工具趨于完美的地步。eda市場日趨成熟,但我國的研發(fā)水平很有限,需迎頭趕上。1.2 選題目的及意義1、對電子設(shè)計最前沿技術(shù)eda的跟蹤和掌
11、握針對eda技術(shù)發(fā)展的走勢,無疑高速率,高質(zhì)量的設(shè)計系統(tǒng)代表著未來十幾年,甚至幾十年的發(fā)展方向。傳統(tǒng)的電子設(shè)計技術(shù)通常是自底向上的,即首先確定構(gòu)成系統(tǒng)的最底層的電路模塊或元件的結(jié)構(gòu)和功能,然后根據(jù)主系統(tǒng)的功能要求,將他們組合成更大的功能塊,使它們的結(jié)構(gòu)和功能滿足高層系統(tǒng)的要求。以此流程逐步向上遞推,直至完成整個目標(biāo)系統(tǒng)的設(shè)計。而eda技術(shù)的應(yīng)用是自頂向下的,就是在整個設(shè)計流程中各設(shè)計環(huán)節(jié)逐步求精的過程。一個項目的設(shè)計過程包括從自然語言說明到vhdl的系統(tǒng)行為描述,系統(tǒng)地分解,rtl模型的建立,門級模型產(chǎn)生,到最終的可以物理布線實現(xiàn)的底層電路,就是從高抽象級別到低抽象級別的整個設(shè)計周期。此外,v
12、hdl設(shè)計優(yōu)秀的可行性,eda平臺的通用性以及與具體硬件結(jié)構(gòu)的無關(guān)性,使得前期的設(shè)計可以容易的應(yīng)用于新的設(shè)計項目,則項目設(shè)計的周期可以顯著縮短。2、應(yīng)用fpga技術(shù)實現(xiàn)高速的數(shù)據(jù)采集系統(tǒng)隨著信號處理器件的處理速度越來越快,數(shù)據(jù)采樣的速率也變得越來越高,在某些電子信息領(lǐng)域,要求處理的頻帶要盡可能的寬,動態(tài)范圍要盡可能的大,以便得到更寬的頻率搜索范圍,獲取更多的信息量。本課題是對eda技術(shù)的應(yīng)用,即用eda工具實現(xiàn)數(shù)據(jù)的采樣。fpga的應(yīng)用是eda技術(shù)有機融合軟硬件電子設(shè)計技術(shù),soc和asic設(shè)計,以及對自動設(shè)計與自動實現(xiàn)最典型的詮釋。用fpga控制數(shù)據(jù)采集系統(tǒng)代替用單片機控制數(shù)據(jù)采集系統(tǒng)已經(jīng)成
13、為特定的趨勢。第二章 系統(tǒng)的結(jié)構(gòu)設(shè)計2.1 概述針對基于fpga的數(shù)據(jù)采集系統(tǒng)設(shè)計的要求,先對eda技術(shù)和vhdl語言進行學(xué)習(xí),然后研究數(shù)據(jù)采集中的關(guān)鍵問題,并且實現(xiàn)用fpga控制數(shù)據(jù)采集系統(tǒng)地設(shè)計。2.2 系統(tǒng)總體結(jié)構(gòu)及原理系統(tǒng)的總體結(jié)構(gòu)如圖2-1所示。在符合奈奎斯特采樣定理的條件下,外界的模擬信號頻率要小于采樣模塊采樣頻率的1/2。如果還有高頻分量的話,可以讓外界的模擬信號經(jīng)過一個低通濾波器濾除高頻分量后輸入到a/d轉(zhuǎn)換芯片tlc5510中。a/d轉(zhuǎn)換芯片每隔一個時鐘取出一次x(t)的幅度,抽樣后的信號稱為離散時間信號,它只表示一些離散時間點。隨之在a/d轉(zhuǎn)換器的保持電路中將抽樣信號變換成
14、數(shù)字信號。經(jīng)過a/d轉(zhuǎn)換器后不僅時間離散化了,而且幅度也離散化,即x(n)。由fpga中的采樣控制器控制tlc5510的采樣,將采集到的信號鎖存在fpga的內(nèi)部存儲器ram中,然后控制ram中的數(shù)據(jù)輸出到d/a轉(zhuǎn)換器,d/a轉(zhuǎn)換器每隔一個時鐘取出一次y(n),隨之在d/a轉(zhuǎn)換器的保持電路中將數(shù)字信號轉(zhuǎn)換為模擬信號,這些信號在時間點上的幅度應(yīng)等于序列y(n)中相應(yīng)數(shù)碼所代表的數(shù)值大小。若最后輸a/d轉(zhuǎn)換器數(shù)字信號x(n)模擬信號輸入x(t)控制信號fpga內(nèi)部fifo控制信號模擬信號輸出y(t)d/a轉(zhuǎn)換器數(shù)字信號y(n)信號恢復(fù) y(t)圖2-1 數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)圖出的信號具有不符合條件的高頻
15、分量,則還要通過一個模擬濾波器,濾除不需要的高頻分量,平滑成所需的模擬輸出信號y(t),以完成信號的采集。根據(jù)fpga在系統(tǒng)中的功能,可將其模塊分為a/d采樣控制模塊、數(shù)據(jù)存儲模塊和d/a控制模塊。2.2.1 a/d轉(zhuǎn)換模塊在系統(tǒng)的a/d轉(zhuǎn)換中使用的芯片是tlc5510,tlc5510 高速模數(shù)轉(zhuǎn)換芯片,用于視頻處理,高速數(shù)據(jù)轉(zhuǎn)換等領(lǐng)域,采用cmos工藝制造,精度為8位,轉(zhuǎn)換速率20msps,每秒采樣20m次,采用半閃速結(jié)構(gòu),內(nèi)建采樣保持電路。tlc5510芯片圖如圖2-2所示:圖2-2 tlc5510芯片引腳圖tlc5510為24引腳、psop表貼封裝形式(ns)。其引腳排列如圖2-2所示。
16、agnd:模擬地信號;analog in:模擬信號輸入端;clk:時鐘輸入端,作為數(shù)據(jù)采集的主控時鐘;dgnd:數(shù)字信號地;d1d8:數(shù)據(jù)輸出端口。d1為數(shù)據(jù)最低位,d8位最高位;oe:輸出使能端。當(dāng)oe位低時,d1d8數(shù)據(jù)有效;因為系統(tǒng)中d1d8端口的數(shù)據(jù)在整個仿真過程中都有效,所有oe始終設(shè)置為低電平; vdda:模擬電路工作電源;vddd:數(shù)字電路工作電源;此系統(tǒng)中使用fpga來控制a/d采樣,包括將采得的數(shù)據(jù)存入fifo(fpga內(nèi)部fifo存儲速率可達10ns),整個采樣周期需要4至5個狀態(tài)即可完成。若fpga的時鐘頻率為100mhz,則從一個狀態(tài)向另一狀態(tài)轉(zhuǎn)換的時間為一個時鐘周期,
17、不到單片機的采樣周期的千分之一。tlc5510fpga模擬信號數(shù)據(jù)控制信號數(shù)字信號圖2-3 fpga控制tlc5510圖示如圖2-3所示,fpga控制tlc5510實現(xiàn)了將模擬信號轉(zhuǎn)換成數(shù)字信號的過程。其中,tlc5510轉(zhuǎn)換好的數(shù)據(jù)將存到fpga的內(nèi)部存儲器中等待處理。tlc5510是以流水線的工作方法進行工作。它在每一個周期都啟動一次采樣,完成一次采樣;每次啟動采樣是在clk的下降沿進行,不過采樣轉(zhuǎn)換結(jié)果的輸出在2.5個clk周期后,將送到內(nèi)部數(shù)據(jù)總線上。將輸出延時tdd計入,從采樣到輸出需經(jīng)過2.5*tclk+tdd。對于需要設(shè)計的從采樣控制器,可以認為,每加一個采樣clk周期,a/d就
18、會輸出一個采樣數(shù)據(jù)。在圖2-4所示的工作時序的控制下,當(dāng)?shù)谝粋€時鐘周期的下降沿到來時,模擬輸入電壓將被采樣到高比較器塊和低比較器塊,高比較器塊在第二個時鐘周期的上升沿最后確定高位數(shù)據(jù),同時,低基準(zhǔn)電壓產(chǎn)生與高位數(shù)據(jù)相應(yīng)的電壓。低比較塊在第三個時鐘周期的上升沿的最后確定低位數(shù)據(jù)。高位數(shù)據(jù)和低位數(shù)據(jù)在第四個時鐘周期的上升沿進行組合,這樣,第次采集的數(shù)據(jù)經(jīng)過2.5個時鐘周期的延遲之后,便可送到內(nèi)部數(shù)據(jù)總線上。此時輸出使能oe有效,數(shù)據(jù)被送至8位數(shù)據(jù)總線上。由于clk的最大周期為50ns, tlc5510 圖2-4 tlc5510時序模數(shù)轉(zhuǎn)換器的最大采樣速率可以達到20msps。對a/d器件進行采樣控
19、制,傳統(tǒng)的方法是用cpu或單片機完成的。編程簡單,控制靈活,但缺點是控制周期長,速度慢。特別是當(dāng)a/d器件本身的采樣速度比較快時,cpu的慢速極大的限制了a/d的速度。a/d轉(zhuǎn)換芯片tlc5510的采樣速率達40mhz,采樣周期是0.025s,單片機在控制a/d進行一個采樣周期中必須完成的操作有初始化tlc5510,啟動采樣,等待約0.025s,發(fā)出讀數(shù)命令,分兩次將12位轉(zhuǎn)換好的數(shù)從tlc5510讀進單片機,再分兩次將此數(shù)存入外部ram中,外部ram地址加1,此后再進行第二次采樣周期的控制。顯然,用單片機控制tlc5510采樣遠遠不能發(fā)揮其高速采樣的特性。對于更高速的a/d器件,單片機完全無
20、從控制。2.2.2 數(shù)據(jù)存儲模塊數(shù)據(jù)鎖存模塊是由ezniosdk fpga板的芯片fifo構(gòu)成,其存儲速率可達到10ns。在fpga中a/d采樣控制器控制tlc5510將數(shù)據(jù)采集到后,fpga便將鎖存信號調(diào)節(jié)為有效的高電平,然后將信號鎖存入存儲器中。選擇一:外部隨機存儲器ram。其優(yōu)點是存儲量大,缺點是需要外接芯片,且常用的ram讀寫速度較低:與fpga間的連接線過長:特別是在存儲數(shù)據(jù)時需要對地址進行加1操作,影響數(shù)據(jù)寫入速度。選擇二:內(nèi)部隨機存儲器ram,在altera的大部分fpga 器件中都含有eab模塊,由此可配置成不同類型的內(nèi)部高速ram。與外部ram相比,盡管內(nèi)部ram有更大的優(yōu)勢
21、,但使用中仍然存在需要對地址進行加1操作,而影響數(shù)據(jù)寫入速度的缺點。選擇三:內(nèi)部fifo,相比之下,fifo更適合于用作a/d采樣數(shù)據(jù)高速寫入的存儲器,因為fifo的寫入時間只有一個時鐘周期,因此決定使用lpm_fifo作為采樣存儲器。2.2.3 d/a轉(zhuǎn)換模塊dac0832是8位分辨率d/a轉(zhuǎn)換集成芯片,與處理器完全兼容,其價格低廉,接口簡單,轉(zhuǎn)換控制容易等優(yōu)點得到了廣泛的應(yīng)用,其引腳圖如圖2-5所示。對于從零電平開始的正極性模擬輸入電壓,refb應(yīng)當(dāng)連接到模擬地agnd。vreft的范圍為2v5v。如果要簡化電路,可利用dac0832的內(nèi)部分壓電阻從模擬電源電壓vdda上取得基準(zhǔn)電壓。在本
22、設(shè)計中,ccd輸出的模擬視頻信號經(jīng)過反相、濾波、放大之后即為從零電平開始的正極性模擬電壓信號。因此,為了簡化圖2-5 dac0832芯片引腳圖電路并同時滿足設(shè)計要求,選用了dac0832的內(nèi)部基準(zhǔn)方式,同時,因為ccd視頻信號是2v基準(zhǔn),所以,根據(jù)dac0832的自身的特點,在設(shè)計過程中,將refbs端與agnd,而將refts與vdda端相連,同時將refbs短接至refb端,refts短接至reft端來獲得2v基準(zhǔn)電壓。fpgadac0832控制信號數(shù)字信號模擬信號數(shù)字信號圖2-6 fpga控制dac0832圖示如圖2-6所示,數(shù)字信號從fpga的存儲器中輸出后,送到d/a轉(zhuǎn)換模塊dac0
23、832中,它將數(shù)字信號轉(zhuǎn)換從成與初始信號相似的模擬信號。2.2.4 fpga控制模塊系統(tǒng)中采用fpga控制a/d轉(zhuǎn)換模塊和d/a轉(zhuǎn)換模塊,相對于單片機的控制,顯然提高了速度,更有應(yīng)用價值。如圖2-7所示,為fpga控制模塊內(nèi)部結(jié)構(gòu)圖??刂芼/a芯片信號a/d采樣控制器fifod/a采樣控制器數(shù)字信號數(shù)字信號控制a/d芯片信號圖2-7 fpga模塊內(nèi)部結(jié)構(gòu)fpga模塊內(nèi)部有三大部分構(gòu)成,分別為a/d采樣控制器,fifo,d/a采樣控制器。首先主控時鐘條件下,a/d采樣控制器驅(qū)動a/d轉(zhuǎn)換模塊進行數(shù)據(jù)的采樣和轉(zhuǎn)換,然后將轉(zhuǎn)換好的數(shù)據(jù)存入fpga內(nèi)部的fifo中,然后在主控時鐘特定的周期下,將fif
24、o中暫存的數(shù)據(jù)輸出給d/a轉(zhuǎn)換模塊,與此同時,d/a采樣控制器驅(qū)動d/a轉(zhuǎn)換模塊將數(shù)據(jù)恢復(fù)為與原始信號相似的模擬信號。最后將信號發(fā)送到硬件設(shè)備中進行測試。第三章 fpga對a/d和d/a轉(zhuǎn)換控制軟件設(shè)計3.1 vhdl硬件描述語言基礎(chǔ)程序設(shè)計是使用硬件描述語言hdl,在eda軟件提供的設(shè)計向?qū)Щ蛘Z言助手的支持下進行設(shè)計。vhdl語言設(shè)計是目前電子工程設(shè)計最重要的設(shè)計方法。用作程序設(shè)計的語言種類較多,本設(shè)計中用vhdl語言,下面對vhdl進行簡單的介紹。硬件描述語言vhdl,語言是隨著集成電路的系統(tǒng)化和集成化發(fā)展起來的,是一種用于數(shù)字系統(tǒng)的設(shè)計和測試方法的描述語言。vhdl語言已成為eda設(shè)計中
25、信息交換的重要標(biāo)準(zhǔn)。它較為注重規(guī)范化和標(biāo)準(zhǔn)化,這使得vhdl語言系統(tǒng)龐大,語法規(guī)則較為復(fù)雜,但功能卻非常強大。它還有許多的優(yōu)點。 vhdl的主要優(yōu)點如下:(1) 系統(tǒng)硬件描述能力強。vhdl具有多層次描述系統(tǒng)硬件功能的能力,即設(shè)計的原始描述可以是非常簡練的描述,經(jīng)過層層細化分解,最終成為可直接付諸生產(chǎn)的電路級或版圖參數(shù)描述。整個過程都在vhdl環(huán)境下進行。(2) vhdl語言標(biāo)準(zhǔn)、規(guī)范,易于共享和服用。vhdl的移植性很強。vhdl是一種標(biāo)準(zhǔn)語言,故他的設(shè)計描述可以被不同工具所支持??蓪⑺鼜囊粋€模擬工具移植到另外一個模擬工具;從一個綜合工具移植到另一個綜合工具;從一個工作平臺移植到另一個工作平
26、臺。這意味著同一個vhdl設(shè)計描述可以在不同的設(shè)計中采用。(3) 上市時間快,成本低。vhdl與可編程asic器件相結(jié)合,可大大提高數(shù)字系統(tǒng)集成化的速度,同時cpld/fpga可使產(chǎn)品設(shè)計的前期風(fēng)險降到最低。3.1.1 設(shè)計輸入設(shè)計輸入包括使用硬件描述語言vhdl、狀態(tài)圖與原理圖輸入三種方式。vhdl語言描述在狀態(tài)機、控制邏輯、總線功能方面較強,使其描述的電路能特定綜合器作用下以具體硬件單元較好地實現(xiàn);而原理圖輸入在頂層設(shè)計、數(shù)據(jù)通路邏輯、手工最優(yōu)化電路等方面具有圖形化強、單元節(jié)儉、功能明確等特點,根據(jù)數(shù)據(jù)采集系統(tǒng)的特點,采用了vhdl語言描述方式。系統(tǒng)設(shè)計的vhdl語言程序通常包含5個部分:
27、(1) 實體說明。用于描述系統(tǒng)的外部接口信號。(2) 結(jié)構(gòu)體說明。用于描述系統(tǒng)的行為、系統(tǒng)數(shù)據(jù)的流程或系統(tǒng)組織結(jié)構(gòu)形式。(3) 配置。屬性選項,描述層與層之間、實體與結(jié)構(gòu)體之間的連接關(guān)系。(4) 程序包。屬性選擇,用于把共享的定義放置其中。(5) 庫。存放已編譯的實體、結(jié)構(gòu)體、包集合和配置,可由用戶生成或由asic芯片制造商提供。3.1.2 程序結(jié)構(gòu)說明 程序結(jié)構(gòu)可分為三大部分,即程序包集合,以entity引導(dǎo)的實體說明和以architecture引導(dǎo)的結(jié)構(gòu)體說明。1、包集合、庫部分采樣控制程序中用到的庫有ieee庫和std庫與work庫。庫是經(jīng)編譯之后數(shù)據(jù)的集合,它存放包集合定義、實體定義、
28、結(jié)構(gòu)體定義和配置定義。庫的功能類似于dos操作系統(tǒng)中的目錄,庫中存放著設(shè)計的數(shù)據(jù)。庫的說明總是放在設(shè)計單元的最前面。在vhdl中存在的庫大致可分為5類:ieee庫、std庫、asic矢量庫、work庫、用戶定義庫。 ieee庫是最常用的資源庫。目前ieee庫中包含ieee標(biāo)準(zhǔn)包std_logic_1164,numeric_bit,numeric_std和math。 std庫使vhdl的標(biāo)準(zhǔn)庫,在庫中存放著稱為standard的包集合。由于它是vhdl的標(biāo)準(zhǔn)配置,因此,在調(diào)用standard時,可以不按標(biāo)準(zhǔn)格式說明,即邏輯名為std的庫為所有設(shè)計單元的隱含定義。work庫是現(xiàn)行作業(yè)庫,描述的vh
29、dl語句不需要任何說明,都將存放在work庫中,在使用該庫時無需進行任何說明。除了work庫之外,其他的庫在使用前都要先做說明。一般來說,在使用庫時先要用兩條語句對庫進行說明。2、實體說明部分以entity引導(dǎo)的實體說明定義了一個設(shè)計單元的輸入端口clk和din以及輸出端口clk1、oe和dout,這些端口也是設(shè)計單元對外的特性。實體說明給出了設(shè)計單元與外部的接口,也就是說給出了單元外部的引腳。vhdl描述的所有設(shè)計均與實體有關(guān),實體是設(shè)計中最基本的單元。設(shè)計的最頂層是頂層實體,如果將設(shè)計分層次,那么在頂層實體中又可以包含較低層次的實體。實體說明的一般語法如下:實體說明主要包括端口說明和類屬說
30、明兩個方面。在實體說明中不能使用類屬說明和端口說明以外的任何說明。實體說明,作為一個設(shè)計的對外特性的具體描述,提供了與其他設(shè)計的接口。所有這些功能通過定義實體的特征來完成。(1)類屬說明類屬說明是實體說明組織中的可選項,放在端口說明之前。 (2)端口說明端口說明是對基本設(shè)計單元外部接口的描述,也可以說是外部引腳信號的名稱,對數(shù)據(jù)類型和輸入輸出方向的描述,端口說明包含端口名和端口方向兩個因素。1) 端口名:賦予每個外部引腳的名稱,即clk,din,dout,oe,clk1。2) 端口方向:定義外部引腳是輸入還是輸出。如clk:in std_logic;dout:out std_logic_vec
31、tor(7 downto 0)。表明方向的說明符如下:in 輸入,信號從端口進入結(jié)構(gòu)體之內(nèi);它主要用于時鐘輸入、控制輸入和單向的數(shù)據(jù)輸入。out 輸出,信號從結(jié)構(gòu)體內(nèi)流經(jīng)端口輸出;它主要用于計數(shù)輸出。inout 雙向,驅(qū)動信號可以在實體內(nèi)向外,也可在實體外向內(nèi),也允許用于內(nèi)部反饋。buffer 緩沖輸出,但也可以用于內(nèi)部反饋。3) 數(shù)據(jù)類型:規(guī)定描述對象的特征。在vhdl語言中有10種數(shù)據(jù)類型,但是在邏輯電路中通常用到的有4種: 位:位(bit)可取值0或1。 位矢量:位矢量(bit_vector)取值是一組二進制位的值。 布爾型:布爾型(boolean)可取值true或false。 整數(shù):整
32、數(shù)(integer)可用作循環(huán)的指針或常量,通常不用于i/o信號。3、結(jié)構(gòu)體說明部分以architecture引導(dǎo)的結(jié)構(gòu)體是一個基本設(shè)計單元內(nèi)部工作的具體描述。它具體指明該基本設(shè)計單元的行為,單元內(nèi)部的連接關(guān)系,也就是定義了設(shè)計單元具體的功能或內(nèi)部操作特性。3.2 狀態(tài)機設(shè)計有限狀態(tài)機及其設(shè)計技術(shù)是實用數(shù)字系統(tǒng)設(shè)計中的重要組成部分,也是實現(xiàn)高效率可靠邏輯控制的重要途徑。盡管到目前為止,有限狀態(tài)機的設(shè)計理論并沒有增加多少新的內(nèi)容,然而面對先進的eda工具、日益發(fā)展的大規(guī)模集成電路技術(shù)和強大的vhdl等硬件描述語言,有限狀態(tài)機在其具體的設(shè)計技術(shù)和實現(xiàn)方法上又有了許多新的內(nèi)容。3.2.1 moore
33、狀態(tài)機設(shè)計從狀態(tài)機的信號輸出方式上分,有moore型和mealy型兩類狀態(tài)機。從輸出時序上看,前者屬于同步輸出狀態(tài)機,而后者屬于異步輸出狀態(tài)機。mealy型狀態(tài)機的輸出是當(dāng)前狀態(tài)和所有輸入信號的函數(shù),它的輸出是在輸入變化后立即發(fā)生變化的,不依賴時鐘的同步。moore型狀態(tài)機的輸出則僅為當(dāng)前狀態(tài) 的函數(shù),這類狀態(tài)機在輸入發(fā)生變化時還必須等待時鐘的到來,時鐘使?fàn)顟B(tài)發(fā)生變化時才導(dǎo)致輸出的變化,所以比mealy機要多等待一個時鐘進程。在狀態(tài)機設(shè)計中根據(jù)高速數(shù)據(jù)采集的特點采用了moore型狀態(tài)機。3.2.2 vhdl一般狀態(tài)機設(shè)計用vhdl可以設(shè)計不同表達方式不同實用功能的狀態(tài)機,然而他們都有相對固定的
34、語句和程序表達方式,只要把握了這些固定的語句表達部分,就能根據(jù)實際需要寫出各種不同風(fēng)格和面向不同實用目的的vhdl狀態(tài)機。用vhdl設(shè)計的狀態(tài)機有多種形式,從狀態(tài)機的信號輸出方式上分有mealy型和moore型兩種狀態(tài)機;從結(jié)構(gòu)上分,有單進程狀態(tài)機和多進程狀態(tài)機;從狀態(tài)表達方式上分有符號化狀態(tài)機和確定狀態(tài)編碼的狀態(tài)機;從編碼方式上分有順序編碼狀態(tài)機、1位熱碼編碼狀態(tài)機或其他編碼方式狀態(tài)機。然而最一般和最常用的狀態(tài)機通常都包含說明部分、主控時序進程、主控組合進程、輔助進程等幾個部分。1)、說明部分說明部分中使用type語句定義新的數(shù)據(jù)類型,此數(shù)據(jù)類型位枚舉型,其元素通常都用狀態(tài)機的狀態(tài)名來定義。
35、狀態(tài)變量應(yīng)定義為信號,便于信息傳遞;并將狀態(tài)變量的數(shù)據(jù)類型定義為含有既定狀態(tài)元素的新定義的數(shù)據(jù)類型。說明部分一般放在結(jié)構(gòu)體的architecture和begin之間。2)、主控時序進程所謂主控時序進程是指負責(zé)狀態(tài)機運轉(zhuǎn)和在時鐘驅(qū)動下負責(zé)狀態(tài)轉(zhuǎn)換的進程。狀態(tài)機是隨外部時鐘信號,以同步的時序方式工作的。因此,狀態(tài)機中必須包含一個對工作時鐘信號敏感的進程,作為狀態(tài)機的“驅(qū)動泵”。時鐘clk相當(dāng)于這個“驅(qū)動泵”中電機的驅(qū)動功率電源。當(dāng)時鐘發(fā)生有效跳變時,狀態(tài)機的狀態(tài)才發(fā)生變化。狀態(tài)機向下一狀態(tài)轉(zhuǎn)換的實現(xiàn)僅僅取決于時鐘信號的到來。3)、主控組合進程如圖3-1所示,com進程即為一主控組合進程,它通過信號
36、current_state中的狀態(tài)值,進入相應(yīng)的狀態(tài),并在此狀態(tài)中根據(jù)外部的信號,同時確定下一狀態(tài)的走向,即向次態(tài)信號next_state中賦入相應(yīng)的狀態(tài)值。此狀態(tài)值將通過next_state傳給圖中的reg時序進,直至下個時鐘脈沖的到來再進入另一次的狀態(tài)轉(zhuǎn)換周期。因此主控組合進程也可稱為狀態(tài)譯碼進程,其任務(wù)時根據(jù)外部輸入的控制信號,或當(dāng)前狀態(tài)的狀態(tài)值確定下一狀態(tài)的取向,即next_state的取值內(nèi)容,以及確定對外輸出或?qū)?nèi)部其他組合或時序進程輸出控制信號的內(nèi)容。4)、輔助進程輔助進程用于配合狀態(tài)機工作的組合進程或時序進程。comb_outputs fsm:s_machine current
37、_state next_stateprocessregprocesscomclkresetstate_inputs圖3-1 一般狀態(tài)機結(jié)構(gòu)框圖3.2.3 類型定義語句typevhdl有限狀態(tài)機涉及的相關(guān)語句類型和語法表述在此之前的vhdl語法介紹中已涉及,這里僅介紹與有限狀態(tài)機設(shè)計有聯(lián)系的其他語法現(xiàn)象,即用戶自定義數(shù)據(jù)類型定義語句及相關(guān)的語法現(xiàn)象。用戶自定義數(shù)據(jù)類型是用類型定義語句type和子類型定義語句subtype實現(xiàn)的。type語句的用法如下:type 數(shù)據(jù)類型名 is 數(shù)據(jù)類型定義 of 基本數(shù)據(jù)類型;或type 數(shù)據(jù)類型名 is 數(shù)據(jù)類型定義 ;利用type語句進行數(shù)據(jù)類型自定義有兩
38、種不同的格式,但方法是相同的。其中,數(shù)據(jù)類型名由設(shè)計者自定,此名將作為數(shù)據(jù)類型定義之用,方法與以上提到的預(yù)定義數(shù)據(jù)了行的用法一樣;數(shù)據(jù)類型定義部分用來描述所定義的數(shù)據(jù)類型的表達方式和表達內(nèi)容;關(guān)鍵詞of后的基本數(shù)據(jù)類型是指數(shù)據(jù)類型定義中所定義的元素的基本數(shù)據(jù)類型,一般都是取已有的預(yù)定義數(shù)據(jù)類型,如bit、std_logic或integer等。子類型subtype指是由type所定義的原數(shù)據(jù)類型的一個子集,它滿足原數(shù)據(jù)類型的所有約束條件,原數(shù)據(jù)類型稱為基本數(shù)據(jù)類型。子類型subtype的語句格式如下:subtype 子類型名 is 基本數(shù)據(jù)類型 range 約束范圍;子類型的定義只在基本數(shù)據(jù)類型
39、上作一些約束,并沒有定義新的數(shù)據(jù)類型,這是與type最大的不同之處。子類型定義中的基本數(shù)據(jù)類型必須在前面已有過type定義的類型,包括已在vhdl預(yù)定義程序包中用type定義過的類型。利用子類型定義數(shù)據(jù)對象的好處是,除了使程序提高可讀性和易處理外,其實質(zhì)性的好處還在于有利于提高綜合和優(yōu)化效率,這是因為綜合器可以根據(jù)子類型所設(shè)的約束范圍,有效地推出參與綜合的寄存器的最合適的數(shù)目。3.3 用狀態(tài)機設(shè)計a/d采樣控制 a/d轉(zhuǎn)換器控制程序見附錄1。tlc5510采樣狀態(tài)機設(shè)計。根據(jù)一般狀態(tài)機的結(jié)構(gòu)設(shè)計采樣狀態(tài)機結(jié)構(gòu)。如圖3-2所示,程序包含3個進程。reg進程是時序進程,他在時鐘信號clk的驅(qū)動下,
40、不斷將next_state中的內(nèi)容賦給current_state,并由此信號將狀態(tài)變量傳輸給組合進程com。組合進程com有兩個主要功能:狀態(tài)譯碼功能。即根據(jù)從current_state信號中獲得的狀態(tài)變量,決定下一狀態(tài)的轉(zhuǎn)移方向,即確定次態(tài)的狀態(tài)變量;采樣控制功能。即根據(jù)current_state中的狀態(tài)變量確定tlc5510的控制信號線adoe、adck、oe等輸出相應(yīng)的控制信號,當(dāng)采樣結(jié)束后還要通過lock向鎖存器件進程發(fā)出鎖存信號,以便將由tlc5510的d7.0數(shù)據(jù)輸出口輸出的8位轉(zhuǎn)換數(shù)據(jù)鎖存起來。clk狀態(tài)機next_statecurrent_stateprocessregproc
41、esscomprocesslocktlc5510a/doea/dckoed7.0rstdata7.0模擬信號輸入圖3-2 采樣狀態(tài)機結(jié)構(gòu)框圖根據(jù)其采樣時序用vhdl語言中的狀態(tài)機來描述采樣控制過程。掌握vhdl語言的基本結(jié)構(gòu),語法以及基本語句和設(shè)計優(yōu)化,編程并且仿真來完成基于fpga的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計。而狀態(tài)機則是最佳選擇方案。無論與vhdl的其它設(shè)計方案相比,還是與可完成相似功能的cpu相比,狀態(tài)機都有難以超越的優(yōu)越性。如圖3-3所示的狀態(tài)圖,在狀態(tài)st0,給a/d一個采樣時鐘adck的上升沿,同時鎖存a/d的輸出;在狀態(tài)st1,給出采樣控制模塊數(shù)據(jù)輸出鎖存信號。a/d采樣控制器的輸出
42、共有4個信號:l adck:提供a/d采樣時鐘。l adoe:tlc5510的輸出使能,一直有效。l dclk:用來同步data的輸出,可以作為下一級的data鎖存信號。st0st1a/dck=1;lock=1;dclk=0;a/dck=0;lock=0;dclkadck=1;lock=1;dclk=0;next_stateadck=0;lock=0;dclk=1;next_stateadck=0;lock=0;dclk=1;next_state=sta0;狀態(tài)機的兩個主要狀態(tài)的轉(zhuǎn)換是通過以上的控制程序?qū)崿F(xiàn)的。在st0狀態(tài),定制了三個信號特性:時鐘采樣信號adck=1,鎖存信號lock=1,數(shù)
43、據(jù)輸出同步時鐘dclk=0,這一狀態(tài)完成后指向的下一狀態(tài)next_state=sta1即st1狀態(tài); 在st1狀態(tài)同樣定制了三個狀態(tài),時鐘采樣信號adck=0,鎖存信號lock=0,數(shù)據(jù)輸出同步時鐘dclk=2 then clk1=1; else clk1=0;以上程序語句所在的process構(gòu)成了一個將系統(tǒng)時鐘進行4分頻的進程。a/d采樣控制可以用行為描述方式的vhdl設(shè)計,是因為行為描述方式是對系統(tǒng)數(shù)字模型的描述。程序中oe信號為輸出使能,控制輸出信號的時序,為了使輸出端口一直有效,所以將oe信號設(shè)置為低電平。經(jīng)過系統(tǒng)時鐘4分頻以后得到采樣控制程序的采樣時鐘clk1,在采樣時鐘有效的電平內(nèi)
44、才能實現(xiàn)采樣操作,否則停止采樣。程序中的q為8位信號,它作為一種數(shù)值容器,不但可以容納當(dāng)前值,也可以保持歷史值。這一屬性與觸發(fā)器的記憶功能有很好的對應(yīng)關(guān)系,只是不必注明信號上數(shù)據(jù)流動的方向。它的作用是實現(xiàn)將端口輸入的信號通過控制信號傳輸?shù)礁鱾€指定的端口。實際中它是不存在的器件,只是一個為了實現(xiàn)信號的傳輸設(shè)置的數(shù)值容器。信號的初始值不用設(shè)置,而且初始值僅在vhdl的行為仿真中有效,它有全局性特征。根據(jù)規(guī)定,信號的賦值必須在進程中,所以定義q在process中:q:std_logic_vector(7 downto 0);3.5 實用狀態(tài)機的優(yōu)勢利用vhdl設(shè)計的邏輯系統(tǒng)中,由于許多是可以利用有限
45、狀態(tài)機的設(shè)計方案來描述和實現(xiàn)的。無論與基于vhdl的其他設(shè)計方案相比,還是與可完成相似功能的cpu相比,在許多方面,有限狀態(tài)機都由其難以超越的優(yōu)越性,主要表現(xiàn)在一下幾個方面:l 狀態(tài)機克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的特點。狀態(tài)機的工作方式是根據(jù)控制信號按照預(yù)先設(shè)定的狀態(tài)機進行順序運行的,狀態(tài)機是純硬件數(shù)字系統(tǒng)中的順序控制模型,因此狀態(tài)機在其運行方式上類似于控制靈活和方便的cpu,而在性能上優(yōu)于cpu。l 由于狀態(tài)機的結(jié)構(gòu)相對簡單,設(shè)計方案相對固定,特別是可以定義符號化枚舉類型的狀態(tài),這一切都為vhdl綜合器盡可能發(fā)揮其強大的優(yōu)化功能提供了有利條件。而且,性能良好的綜合器都具備許多可控或
46、自動的優(yōu)化狀態(tài)機的功能已資利用。l 狀態(tài)機容易構(gòu)成性能良好的同步時序邏輯模塊,這對于對付大規(guī)模邏輯電路設(shè)計中令人深感棘手的競爭冒險現(xiàn)象無疑是一個上佳的選擇。為了消除電路中的毛刺現(xiàn)象,在狀態(tài)機這機中由更多的設(shè)計方案可供選擇。l 于vhdl的其他描述方式相比,狀態(tài)機的vhdl表述豐富多樣,程序?qū)哟畏置?,結(jié)構(gòu)清晰,易讀易懂;在排錯、修改和模塊移植方面也有其獨到的好處。l 在高速運算和控制方面,狀態(tài)機更有其巨大的優(yōu)勢。由于在vhdl中,一個狀態(tài)機可以由多個進程構(gòu)成,一個結(jié)構(gòu)體中可以包含多個狀態(tài)機,而一個單獨的狀態(tài)機(或多個并行運行的狀態(tài)機)以順序方式所能完成的運算和控制方面的工作于一個cpu的功能類似
47、。因此,一個實體的功能便類似于一個含有并行運行的多cpu的功能。就運行速度而言,盡管cpu和狀態(tài)機都是按照時鐘節(jié)拍以順序時序方式工作的,但cpu是按照指令周期,以逐條執(zhí)行指令的方式運行的;每執(zhí)行一條指令,通常只能完成一項簡單的操作,而一個指令周期須由多個機器周期構(gòu)成,一個機器周期又由多個時鐘節(jié)拍構(gòu)成;一個含有運算和控制的完整設(shè)計程序往往需要成百上千條指令。相比之下,狀態(tài)機狀態(tài)變換周期只有一個時鐘周期,而且由于在每一狀態(tài)中,狀態(tài)機可以完成許多并行的運算和控制操作。所以,一個完整的控制程序,即使由多個并行的狀態(tài)機構(gòu)成,其狀態(tài)數(shù)也是十分有限的。一般由狀態(tài)機構(gòu)成的硬件系統(tǒng)比cpu所能完成同樣功能的軟件
48、系統(tǒng)的工作速度要高出35個數(shù)量級。因此在一般cpu無法勝任的領(lǐng)域中有廣泛的應(yīng)用,如超高速串行或并行a/d、d/a器件的控制、硬件串行通信接口rs-232、ps/2、usb的實現(xiàn)、fpga高速配置電路的設(shè)計、自控領(lǐng)域中的高速順序控制系統(tǒng),通信領(lǐng)域中的許多功能模塊的構(gòu)成,risc cpu設(shè)計領(lǐng)域中特定功能指令模塊的設(shè)計等。l 高可靠性。cpu本身的結(jié)構(gòu)特點與執(zhí)行軟件指令的工作方式?jīng)Q定了任何cpu都不可能獲得圓滿的容錯保障,這已是不爭的事實了。因此,用于要求高可靠性的特殊環(huán)境中的電子系統(tǒng)中,如果以cpu作為主控部件,應(yīng)是一項錯誤的決策。然而,狀態(tài)機系統(tǒng)就不同了,首先它是由純硬件電路構(gòu)成,它的運行不依
49、賴軟件指令的逐條執(zhí)行,因此不存在cpu運行軟件過程中許多固有的缺陷;其次是由于狀態(tài)機的設(shè)計中能使用各種完成的容錯技術(shù);再次是當(dāng)狀態(tài)機進入非法狀態(tài)并從中跳出,進入正常狀態(tài)所耗的時間十分短暫,通常只有23個時鐘周期,約數(shù)十個ns,尚不足以對系統(tǒng)的運行構(gòu)成損害;而cpu通過復(fù)位方式從非法運行方式中恢復(fù)過來時,耗時達數(shù)十毫秒,這對于高速高可靠系統(tǒng)顯然時無法容忍的。3.6 d/a轉(zhuǎn)換的控制d/a轉(zhuǎn)換控制程序見附錄4。此模塊主要是控制d/a模塊的讀寫狀態(tài)。當(dāng)reset信號為高電平時,讀寫端口均停止工作,當(dāng)reset信號為低電平時,讀寫狀態(tài)進入工作狀態(tài),接受數(shù)據(jù)和輸出數(shù)據(jù)。if reset=1 then c
50、s=1; wr=1; else cs=0; wr=0; 當(dāng)fpga給存儲器發(fā)出控制信號控制存儲器數(shù)據(jù)數(shù)據(jù),同時控制dac的讀端口進入工作狀態(tài)后,就將要轉(zhuǎn)換的信號輸入到dac中,等待轉(zhuǎn)換。dac的轉(zhuǎn)換精度由dac的分辨率來說明。dac的分辨率就是dac所能分辨的最小電壓增量,它反映了dac對微小輸入量變換得敏感性。分辨率得高低通常用二進制輸入量的位數(shù)來表示。fpga發(fā)出控制信號,控制dac0832芯片接收數(shù)字信號。其過程為先將數(shù)字信號鎖存到芯片本身內(nèi)部的鎖存器中,再將鎖存的信號發(fā)送到芯片本身內(nèi)部的寄存器中,然后將數(shù)據(jù)發(fā)送到d/a轉(zhuǎn)換單元。這樣就實現(xiàn)了fpga控制dac轉(zhuǎn)換信號的過程。第四章 qu
51、artus仿真4. 1 設(shè)計輸入可以使用quartus提供的圖形編輯器和文本編輯器實現(xiàn)圖形輸入、設(shè)計框圖輸入、ahdl、vhdl和verilog hdl輸入,還可以利用混合設(shè)計格式、lpm和宏功能模塊來加速設(shè)計輸入。本設(shè)計中選用的是vhdl語言。首先,創(chuàng)建一個項目。項目的組成包括:設(shè)計文件、資源分配文件、仿真文件、系統(tǒng)設(shè)置和設(shè)計的層次信息。1) 在quartus的當(dāng)前窗口中,選擇file-new project wizard。出現(xiàn)一個“新建項目向?qū)В汉喗椤贝翱?;按照提示,單擊next出現(xiàn)一個“新建項目向?qū)В耗夸?、名稱、頂層設(shè)計實體名稱”對話框,再這個對話框中,依次填寫設(shè)計存放的路徑、項目的名稱
52、及項目頂層設(shè)計實體的名稱;單擊next按鈕,出現(xiàn)一個“新建項目向?qū)В禾砑釉O(shè)計文件”對話框,選擇需要添加進項目的設(shè)計文件;單擊next按鈕出現(xiàn)一個“新建項目向?qū)В赫贝翱?,這個窗口顯示了設(shè)計項目的一些基本信息;單擊finish按鈕,結(jié)束創(chuàng)建新項目向?qū)?。這時,在項目的導(dǎo)航窗口的hierarchies標(biāo)簽內(nèi)出現(xiàn)頂層設(shè)計實體的名稱。接下來,創(chuàng)建一個vhdl文件。設(shè)置信息如圖4-1所示。圖4-1 新建工程示意圖2) 在quartus的當(dāng)前窗口中,選擇file-new-vhdl file,如果要產(chǎn)生一個新圖表模塊/原理圖文檔。這里,選擇添加vhdl file選項,單擊ok,進入到vhdl代碼編輯窗口。設(shè)
53、置信息如圖4-2所示。圖4-2 新建vhdl文本程序示意圖4.2 設(shè)計編譯quartus允許對整個設(shè)計項目進行編譯,或者只編譯項目的一個組成部分。針對編譯的設(shè)計實體compilation focus可以選擇項目層次的任何一個部分。它的編譯器由一系列模塊組成。這些模塊將檢查設(shè)計錯誤,進行邏輯綜合,并且將設(shè)計適配到具體的altera器件中,產(chǎn)生輸出文件。這些輸出文件將在設(shè)計仿真、定時分析和器件編程時使用。編譯器首先從定義項目不同的設(shè)計文件的層次連接中提取信息,檢查設(shè)計文件的基本設(shè)計輸入錯誤;然后產(chǎn)生一個設(shè)計的組織圖標(biāo),并且將設(shè)計文件組合到單一的可以進行高效處理的數(shù)據(jù)庫當(dāng)中。產(chǎn)生一個新的項目的同時,
54、quartus軟件產(chǎn)生默認的編譯器設(shè)置,說明編譯焦點、編譯器完成的類型、目標(biāo)器件和其他選項。(1) 確定軟件處于編譯模式(processing-compile mode)。(2) 選擇processing-compile settings選項,出現(xiàn)一個compiler settings對話框。(3) 選中需要編輯的文件,按右鍵,選擇add-current entity at top level&set focus,將當(dāng)前文件設(shè)置為頂層文件。(4) 對照設(shè)計實體example的編譯器設(shè)計方式(compiler settings)設(shè)置設(shè)計實體(data_counters)。(5) 運行編譯:選中processing-start compliation開始編譯過程,編譯器立即編譯設(shè)計實體。在設(shè)計編譯時,狀態(tài)窗口自動顯示編譯過程的各種信息。quartus支持對單個和多個時鐘的延時分析,所
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度區(qū)塊鏈技術(shù)解決方案個人勞務(wù)合同4篇
- 二零二五版家政服務(wù)人員健康管理與保險協(xié)議3篇
- 水平定向鉆孔施工方案
- 2024年中班教案:《耳朵》
- 2025年金融資產(chǎn)打包收購合同模板3篇
- 二零二五年度門窗安裝工程環(huán)保評估合同8篇
- 2024年新東方初中數(shù)學(xué)初一年級寒假 滿分版 第9講 平行線的性質(zhì)與判定的綜合含答案
- 二零二五版民辦學(xué)校校長任期學(xué)生心理健康聘用合同4篇
- 2024版商業(yè)保理合同
- 玻璃鋼防腐工程施工方案
- 使用錯誤評估報告(可用性工程)模版
- 公司章程(二個股東模板)
- GB/T 19889.7-2005聲學(xué)建筑和建筑構(gòu)件隔聲測量第7部分:樓板撞擊聲隔聲的現(xiàn)場測量
- 世界奧林匹克數(shù)學(xué)競賽6年級試題
- 藥用植物學(xué)-課件
- 文化差異與跨文化交際課件(完整版)
- 國貨彩瞳美妝化消費趨勢洞察報告
- 云南省就業(yè)創(chuàng)業(yè)失業(yè)登記申請表
- UL_標(biāo)準(zhǔn)(1026)家用電器中文版本
- 國網(wǎng)三個項目部標(biāo)準(zhǔn)化手冊(課堂PPT)
- 快速了解陌生行業(yè)的方法論及示例PPT課件
評論
0/150
提交評論