《EDA技術(shù)與VHDL》課程學(xué)習(xí)筆記_第1頁(yè)
《EDA技術(shù)與VHDL》課程學(xué)習(xí)筆記_第2頁(yè)
《EDA技術(shù)與VHDL》課程學(xué)習(xí)筆記_第3頁(yè)
《EDA技術(shù)與VHDL》課程學(xué)習(xí)筆記_第4頁(yè)
《EDA技術(shù)與VHDL》課程學(xué)習(xí)筆記_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

姓名:胡海俠學(xué)號(hào):200920212036班級(jí):SJ0931《EDA技術(shù)與VHDL》課程學(xué)習(xí)筆記在學(xué)習(xí)本課程之前,我了解到這門(mén)課程是與數(shù)字電路有關(guān),考慮到數(shù)字電路方面的知識(shí)已經(jīng)忘得差不多了,再加上高校學(xué)習(xí)時(shí)候基礎(chǔ)原來(lái)就不牢靠,所以就惡補(bǔ)了一下數(shù)字電路方面的知識(shí)。通過(guò)對(duì)數(shù)字電路的學(xué)習(xí),我能夠基本上回想起老師上課講的內(nèi)容,對(duì)數(shù)字電路方面有了一個(gè)系統(tǒng)的熟識(shí),盡管還不是盡善盡美,但是對(duì)后期課程的學(xué)習(xí)已經(jīng)沒(méi)有什么障礙了。那么經(jīng)過(guò)不到一個(gè)星期的復(fù)習(xí),我基本掌握了以下內(nèi)容:1:規(guī)律代數(shù)的基本公式和定理,規(guī)律函數(shù)的化簡(jiǎn)方法和規(guī)律函數(shù)的基本表示方法規(guī)律函數(shù)的基本公式和定理是進(jìn)行公式化簡(jiǎn)的依據(jù)規(guī)律函數(shù)的基本化簡(jiǎn)方法是公式化簡(jiǎn)法和圖形化簡(jiǎn)法,其中圖形化簡(jiǎn)方法中主要應(yīng)用卡諾圖化簡(jiǎn)的方法?;?jiǎn)的結(jié)果通常為標(biāo)準(zhǔn)與或式規(guī)律函數(shù)的基本表示方法有六種:真值表,卡諾圖,函數(shù)式,規(guī)律圖,波形圖和VHDL描述2:半導(dǎo)體二極管,三極管和MOS管是數(shù)字電路中的基本開(kāi)關(guān)元件,半導(dǎo)體二極管是不行控的;半導(dǎo)體三極管是一種電流掌握且具有放大特性的開(kāi)關(guān)元件;MOS管是用電壓進(jìn)行掌握的,也具有放大功能.了解了CMOS和TTL集成門(mén)電路的外部特征--規(guī)律特性和電器特性.規(guī)律特性即規(guī)律功能,如與門(mén),或門(mén),非門(mén),與非門(mén),或非門(mén),與或非門(mén)等;電器特性有靜態(tài)特性(主要是輸入特性和輸出特性)和動(dòng)態(tài)特性(主要是傳輸延遲時(shí)間)。3:通過(guò)對(duì)組合規(guī)律電路的學(xué)習(xí),我知道組合規(guī)律電路是輸出信號(hào)僅取決于當(dāng)時(shí)的輸入信號(hào),而與原來(lái)所處的狀態(tài)無(wú)關(guān).了解了組合規(guī)律電路的分析設(shè)計(jì)的方法。并通過(guò)對(duì)加法器,數(shù)值比較器,譯碼器,數(shù)據(jù)選擇器和安排器,只讀存儲(chǔ)器的學(xué)習(xí),對(duì)設(shè)計(jì)過(guò)程有了更深的了解。4:觸發(fā)器的學(xué)習(xí)基本觸發(fā)器:把兩個(gè)與非門(mén)或者或非門(mén)交叉連接起來(lái),邊構(gòu)成了基本觸發(fā)器同步觸發(fā)器:在基本觸發(fā)器基礎(chǔ)上,增加兩個(gè)掌握門(mén)和一個(gè)掌握信號(hào),就構(gòu)成了同步觸發(fā)器。他的顯著特征就是時(shí)鐘電平直接掌握邊沿觸發(fā)器:把兩個(gè)D觸發(fā)器級(jí)聯(lián)起來(lái),便構(gòu)成邊沿D觸發(fā)器,再加以改進(jìn)就可以得到邊沿JK觸發(fā)器.他們最顯著的特征就是邊沿掌握——CP上升沿(或下降沿)觸發(fā)。邊沿觸發(fā)器的功能分類:依據(jù)在時(shí)鐘脈沖操作下規(guī)律功能不同,可把邊沿觸發(fā)器非為:JK型,D型,T型,T’型。5:時(shí)序電路的學(xué)習(xí)整個(gè)數(shù)字電路可以分成兩大類:組合電路(基礎(chǔ)是規(guī)律代數(shù)和門(mén)電路),時(shí)序電路(基礎(chǔ)主要是規(guī)律代數(shù)和觸發(fā)器).時(shí)序電路的地位更突出,更重要,更具代表性。時(shí)序電路不僅與輸入有關(guān),而且還決定于電路原來(lái)所處的狀態(tài),而電路狀態(tài)又是構(gòu)成時(shí)序電路的觸發(fā)器來(lái)記憶和表示的。通過(guò)對(duì)計(jì)數(shù)器,寄存器,讀寫(xiě)存儲(chǔ)器,挨次脈沖發(fā)生器等典型的電路的學(xué)習(xí),對(duì)時(shí)序電路的概念及分析方法有了比較深刻的理解。6:最后了解了一些常用的矩形脈沖電路:555集成定時(shí)器,施密特電路和單穩(wěn)態(tài)觸發(fā)器,以及多諧振蕩器。也理解了一些常用的A/D和D/A轉(zhuǎn)換器的基本工作原理,輸出量和輸入量之間的定量關(guān)系,主要特點(diǎn),以及轉(zhuǎn)換精度和轉(zhuǎn)換速度的概念和表示方法。第一部分:背景知識(shí)學(xué)習(xí)篇主要學(xué)習(xí)了電子自動(dòng)化技術(shù)的進(jìn)展,電子設(shè)計(jì)自動(dòng)化的應(yīng)用領(lǐng)域,EDA優(yōu)勢(shì)以及面對(duì)FPGA的開(kāi)發(fā)流程等。1:EDA技術(shù)的進(jìn)展大致可以分為三個(gè)階段(1):20世紀(jì)70年月,在集成電路制作方面,MOS工藝得到廣泛的應(yīng)用;可編程規(guī)律技術(shù)及其器件問(wèn)世,計(jì)算機(jī)作為一種運(yùn)算工具在科研領(lǐng)域得到了廣泛的應(yīng)用。(2):20世紀(jì)80年月,集成電路設(shè)計(jì)進(jìn)入了CMOS時(shí)代,簡(jiǎn)潔可編程規(guī)律器件進(jìn)入商業(yè)應(yīng)用,,相應(yīng)的幫助設(shè)計(jì)軟件投入使用;80年月末,消滅FPGA;CAE和CAD技術(shù)應(yīng)用更為廣泛(3):20世紀(jì)90年月,隨著硬件語(yǔ)言的標(biāo)準(zhǔn)化進(jìn)一步確立,計(jì)算機(jī)幫助工程,幫助分析和幫助設(shè)計(jì)在電子技術(shù)領(lǐng)域獲得更廣泛的應(yīng)用。(4):進(jìn)入21世紀(jì)EDA技術(shù)得到了更大的進(jìn)展●在FPGA上實(shí)現(xiàn)DSP應(yīng)用成為可能●嵌入式處理器軟核的成熟,使得SOPC步入大規(guī)模應(yīng)用階段●在仿真和設(shè)計(jì)方面支持標(biāo)準(zhǔn)硬件語(yǔ)言的功能強(qiáng)大的EDA軟件不斷推出●EDA使得電子領(lǐng)域各學(xué)科的界限更加模糊●基于EDA的用于ASIC設(shè)計(jì)的標(biāo)準(zhǔn)單元已經(jīng)涵蓋大規(guī)模電子系統(tǒng)及簡(jiǎn)潔IP核模塊●軟硬IP核在電子行業(yè)的產(chǎn)業(yè)領(lǐng)域廣泛應(yīng)用●SOC高效低成本設(shè)計(jì)技術(shù)的成熟●系統(tǒng)級(jí),行為驗(yàn)證硬件語(yǔ)言的消滅,是簡(jiǎn)潔電子系統(tǒng)的設(shè)計(jì)和驗(yàn)證趨于簡(jiǎn)潔2:電子設(shè)計(jì)自動(dòng)化應(yīng)用對(duì)象全制定或半制定ASICFPGA/COLD開(kāi)發(fā)應(yīng)用PCB3:VHDL的英文全名是VHSIC(veryhighspeedintegratedcircuit),是硬件描述語(yǔ)言的業(yè)界標(biāo)準(zhǔn)之一.VHDL具有與硬件電路無(wú)關(guān)和設(shè)計(jì)平臺(tái)無(wú)關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語(yǔ)言易讀性和層次化,結(jié)構(gòu)化設(shè)計(jì)方面,表現(xiàn)了強(qiáng)大生命力和應(yīng)用能力。VHDL支持各種模式的設(shè)計(jì)方法,如自頂向下與自底向上或混合方法.4:EDA的優(yōu)勢(shì)降低設(shè)計(jì)成本,縮短設(shè)計(jì)周期EDA工具之所以能夠完成各種自動(dòng)化設(shè)計(jì)過(guò)程,關(guān)鍵是各種庫(kù)的支持,而這些庫(kù)的設(shè)計(jì)是EDA公司與半導(dǎo)體生產(chǎn)廠商合作共同開(kāi)發(fā)的簡(jiǎn)化了設(shè)計(jì)文檔管理完全的自主權(quán)提高了電子設(shè)計(jì)自動(dòng)化程度能夠?qū)⑹褂铆h(huán)節(jié)納入統(tǒng)一的自頂向下設(shè)計(jì)方案中可以利用計(jì)算機(jī)對(duì)硬件進(jìn)行測(cè)試5:面對(duì)FPGA的開(kāi)發(fā)流程●電路的設(shè)計(jì)與輸入(HDL描述和原理如圖輸入方法)●功能仿真(前仿真:檢查所設(shè)計(jì)的電路是否滿意預(yù)先設(shè)想的功能需求)●綜合優(yōu)化(把RTL級(jí)描述和原理圖描述變成門(mén)級(jí)網(wǎng)表描述)●綜合后仿真(檢查綜合后的結(jié)果是否和預(yù)想的設(shè)計(jì)全都)●布局布線(布局:把門(mén)級(jí)網(wǎng)表中各個(gè)基本硬件單元適配到FPGA簡(jiǎn)略的硬件電路上;依據(jù)布局的拓?fù)浣Y(jié)構(gòu)和FPGA的連線資源,把這些基本硬件單元合理的連接起來(lái))●時(shí)序仿真與驗(yàn)證(后仿真:包含門(mén)延遲和傳輸線的延遲,能真是反應(yīng)FPGA的實(shí)際工作情況,確保設(shè)計(jì)的穩(wěn)定性和牢靠性)●調(diào)試與加載配置6:QuartusⅡ軟件的簡(jiǎn)潔了解QuartusⅡ是Altera供應(yīng)的FPGA/CPLD開(kāi)發(fā)集成環(huán)境,Altera是世界最大的可編程規(guī)律器件供應(yīng)商之一。QuartusⅡ供應(yīng)了完整的多平臺(tái)設(shè)計(jì)環(huán)境,,能滿意各種特定設(shè)計(jì)的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán)境和SOPC開(kāi)發(fā)的基本設(shè)計(jì)工具,并為AlteraDSP開(kāi)發(fā)包進(jìn)行系統(tǒng)模型設(shè)計(jì)供應(yīng)了集成綜合環(huán)境.QuartusⅡ設(shè)計(jì)工具完全支持VHDL,Verilog的設(shè)計(jì)流程,其內(nèi)部嵌有VHDL,Verilog規(guī)律綜合器.QuartusⅡ也可以利用第三方的綜合工具,如LeonardoSpectrum,SynplifyPro,FPGACompilerⅡ,并能直接調(diào)用這些工具.同樣QuartusⅡ具備仿真功能,同時(shí)也支持第三方的仿真工具,如ModelSim。此外QuartusⅡ與MATLAB和DSPBuilder結(jié)合,可以進(jìn)行基于FPGA的DSP系統(tǒng)開(kāi)發(fā)和數(shù)字通信模塊的開(kāi)發(fā)。7:IP核IP就是知識(shí)產(chǎn)權(quán)或知識(shí)產(chǎn)權(quán)模塊的意思。在EDA技術(shù)和開(kāi)發(fā)中具有十分重要的地位。其次部分:CPLD和FPGA規(guī)律器件的簡(jiǎn)潔了解1:低密度PLD可編程的原理簡(jiǎn)潔的PLD是早期消滅的可編程的規(guī)律器件,它的規(guī)律規(guī)模都比較小,只能實(shí)現(xiàn)通用的數(shù)字規(guī)律電路的一些功能,在結(jié)構(gòu)上是由簡(jiǎn)潔的“與-或”門(mén)陣列和輸入輸出單元組成。常見(jiàn)的PLD有PROM,PLA,PAL,GAL等。(1):PROMPROM的與陣列為全譯碼陣列,器件的規(guī)模將隨著輸入信號(hào)數(shù)量n的增加成指數(shù)級(jí)增長(zhǎng)。因此PROM一般只用于數(shù)據(jù)存儲(chǔ)器,不適于實(shí)現(xiàn)規(guī)律函數(shù)。PROM的或陣列為可編程的陣列,用來(lái)選取需要的最小項(xiàng)。下圖是PROM表示的PLD陣列圖PROM表示的PLD陣列圖(2):PLA在簡(jiǎn)潔PLD中,PLA的內(nèi)部結(jié)構(gòu)靈敏性最高。編程掌握簡(jiǎn)潔,其開(kāi)發(fā)工具也較難設(shè)計(jì)。PLA未得到普遍推廣應(yīng)用.下圖是PLA的規(guī)律陣列示意圖PLA規(guī)律陣列示意圖(3):PAL是一種與陣列可編程、或陣列固定的器件。與陣列可編程使輸入項(xiàng)增多,或陣列固定使器件簡(jiǎn)化。器件編程的靈敏性不夠。下圖是PAL結(jié)構(gòu)圖PAL結(jié)構(gòu)(4):GAL美國(guó)Lattice公司在PAL器件與或門(mén)陣列的基礎(chǔ)上于1985年推出了另一種高性能、高應(yīng)用靈敏性的可編程規(guī)律器件—通用陣列規(guī)律GAL。GAL器件采納了浮柵存儲(chǔ)E2CMOS工藝,具有電擦寫(xiě)反復(fù)編程的特性。GAL的基本規(guī)律部分與PAL相同,也是與陣列可編程、或陣列固定的PAL結(jié)構(gòu),但它與PAL的不同之處是在其輸出端設(shè)置了可編程的輸出規(guī)律宏單元OLMC(OutputLogicMacroCell)。通過(guò)編程寫(xiě)入,用戶可將OLMC設(shè)置為不同的工作狀態(tài),這樣一種型號(hào)的GAL器件就能具備PAL器件先前商量過(guò)的全部四種輸出模式及其派生類型,這就為實(shí)現(xiàn)組合規(guī)律電路和時(shí)序規(guī)律電路的分塊設(shè)計(jì)供應(yīng)了便利,從而顯著的增強(qiáng)了器件的通用性。因而GAL被稱為通用可編程規(guī)律器件。2:CPLD結(jié)構(gòu)和可編程原理CPLD結(jié)構(gòu)規(guī)律塊(LB)也稱規(guī)律陣列塊(LAB)是PLD的基礎(chǔ),由它來(lái)實(shí)現(xiàn)基本的規(guī)律功能.一個(gè)規(guī)律塊LB一般由多個(gè)(8~16個(gè))規(guī)律宏單元構(gòu)成(MAX7000系列).不同廠家、不同系列的產(chǎn)品結(jié)構(gòu)略有差異.可編程連線PI負(fù)責(zé)信號(hào)傳遞,連接全部的規(guī)律宏單元,或I/O與宏單元的連接。I/O掌握塊(IOB)負(fù)責(zé)輸入輸出引腳的電氣特性掌握,比如可以設(shè)定集電極開(kāi)路輸出,擺率掌握,三態(tài)輸出等。下圖是Altera公司的MAX7000S的結(jié)構(gòu)圖MAX7000S的結(jié)構(gòu)圖CPLD是基于乘積項(xiàng)的,乘積項(xiàng)陣列是一個(gè)與陣列,每一個(gè)交叉點(diǎn)都是一個(gè)可編程點(diǎn),通過(guò)與陣列產(chǎn)生乘積項(xiàng).后面的或門(mén)把按要求產(chǎn)生的乘積項(xiàng)加起來(lái),得到需要的暑促規(guī)律函數(shù)。CPLD的性能特點(diǎn)●可多次編程、改寫(xiě)和擦除?!癫杉{CMOSEPROM、EEPROM、FlashMemory和SRAM等編程技術(shù),具有高密度、高速度、高牢靠性和低功耗?!馡/O端數(shù)和內(nèi)含觸發(fā)器可多達(dá)數(shù)百個(gè),集成度遠(yuǎn)遠(yuǎn)高于PAL和GAL?!裼徐`敏多樣的規(guī)律結(jié)構(gòu),可滿意各種數(shù)字電路系統(tǒng)設(shè)計(jì)的需要?!駜?nèi)部時(shí)間延遲與器件結(jié)構(gòu)及規(guī)律連接等無(wú)關(guān),可猜測(cè),易消除競(jìng)爭(zhēng)冒險(xiǎn)?!裼卸辔患用芪?,且器件等效數(shù)千個(gè)規(guī)律門(mén)以上,因此可杜絕編程數(shù)據(jù)的非法抄襲.3:FPGA的結(jié)構(gòu)及工作原理FPGA都采納查找表(Look-Up-Table,LUT)來(lái)實(shí)現(xiàn)規(guī)律函數(shù).如Altera的FLEX/ACEX/APEX系列器件和Xilinx的多數(shù)器件。FPGA的編程配置元件都是SRAM。由于SRAM較易制造,且其可重復(fù)編程使用的次數(shù)幾乎無(wú)限,所以目前高集成度的可編程規(guī)律器件幾乎都是FPGA。與CPLD相比,FPGA具有更高的集成度、更強(qiáng)的規(guī)律功能更大的靈敏性。下圖是Xilinx公司FPGA基本的組成結(jié)構(gòu)Xilinx公司FPGA基本的組成結(jié)構(gòu)查找表(LUT)就是一個(gè)有N根,一般是4根地址線的16x1的RAM存儲(chǔ)器。(存儲(chǔ)容量取決于輸入數(shù)量,N個(gè)輸入的規(guī)律函數(shù),需要2N容量的SRAM來(lái)實(shí)現(xiàn)。)工作原理:當(dāng)用戶通過(guò)原理圖或HDL語(yǔ)言描述了一個(gè)4輸入的規(guī)律電路后,EDA軟件就會(huì)按設(shè)計(jì)要求自動(dòng)計(jì)算規(guī)律電路的全部可能的結(jié)果,并把該結(jié)果事先寫(xiě)入這個(gè)RAM存儲(chǔ)器。這樣,當(dāng)輸入變量作為RAM的地址信號(hào)輸入時(shí),預(yù)期的結(jié)果(輸出規(guī)律函數(shù))就作為RAM的存儲(chǔ)數(shù)據(jù)輸出了。(查找表存儲(chǔ)組合規(guī)律值)FPGA的性能特點(diǎn)●采納SRAM編程技術(shù),具有高密度、高速度、高牢靠性和低功耗?!褙S富的I/O端數(shù)和觸發(fā)器,集成度遠(yuǎn)遠(yuǎn)高于PAL和GAL.●結(jié)構(gòu)靈敏,內(nèi)部的CLB、IOB和PI均可編程;強(qiáng)有力的組合規(guī)律函數(shù)發(fā)生器,可實(shí)現(xiàn)多個(gè)變量的任意規(guī)律??蓾M意各種數(shù)字電路系統(tǒng)設(shè)計(jì)的需要?!衲承〧PGA還供應(yīng)片內(nèi)高速RAM,可用于FIFO等的設(shè)計(jì)?!衩看紊想姇r(shí)需進(jìn)行數(shù)據(jù)配置;斷電后,配置數(shù)據(jù)自動(dòng)丟失?!駜?nèi)部時(shí)間延遲與器件結(jié)構(gòu)及規(guī)律連接等有關(guān),故信號(hào)傳輸時(shí)延不行測(cè)4:世界上有多家公司生產(chǎn)CPLD/FPGA,主要的生產(chǎn)廠商有:●Altera公司,主要的CPLD生產(chǎn)廠商●Xilinx公司,主要的FPGA生產(chǎn)廠商●Lat(yī)tice公司,聞名的CPLD生產(chǎn)廠商●ACTEL公司,聞名的CPLD生產(chǎn)廠商●Cypress公司,聞名的CPLD生產(chǎn)廠商●Atemal公司,聞名的IC/MCU公司,也設(shè)計(jì)生產(chǎn)PLD產(chǎn)品。●Luccent公司,聞名的通訊企業(yè),也設(shè)計(jì)生產(chǎn)PLD產(chǎn)品第三部分:VHDL語(yǔ)言基礎(chǔ)學(xué)習(xí)通過(guò)這部分的學(xué)習(xí),基本上掌握的VHDL語(yǔ)言現(xiàn)象和語(yǔ)句的規(guī)章。1:VHDL(VHSIC,hardwaredescriptionlanguage,veryhighspeedintegratedcircuit)是一種標(biāo)準(zhǔn)的硬件描述語(yǔ)言,中文就是超高速集成電路硬件描述語(yǔ)言。使用VHDL,不僅可以快速地描述和綜合FPGA設(shè)計(jì),還可以提高以下性能功能與靈敏性不依靠于器件的設(shè)計(jì)可移植性性能評(píng)估的能力上市時(shí)間快,成本低2:一個(gè)完整的VHDL語(yǔ)言程序通常包括實(shí)體(entity),結(jié)構(gòu)體(architecture),配置(configuration),包集合(package)和庫(kù)(library)五個(gè)部分.實(shí)體說(shuō)明Entity的結(jié)構(gòu)如下Entity〈entity_name>isGenericdeclarationsPortdeclarat(yī)ionsEnd〈entity_name〉實(shí)體的設(shè)計(jì)說(shuō)明以Entity<entity_name>is開(kāi)頭,以end〈entity_name〉結(jié)束。<entity_name>為實(shí)體的名字。在VHDL語(yǔ)言中式不區(qū)分大小寫(xiě)的。Generic語(yǔ)句成為類屬說(shuō)明語(yǔ)句,用于向模塊傳遞參數(shù)。語(yǔ)句語(yǔ)法為:Generic(_parameter_name:string:=_default_value;_parameter_name:integer:=_default_value);其中_parameter_name是參數(shù)名,string和integer是參數(shù)類型,_default_value是初始化值,即傳遞給模型的參數(shù)。端口說(shuō)明是對(duì)基本設(shè)計(jì)實(shí)體與外部接口的描述,也可以說(shuō)是對(duì)外部引腳信號(hào)的名稱,以及數(shù)據(jù)類型和輸入,輸出類型的描述。端口的方向可以分為四種:in,out,inout,buffer。In表示信號(hào)只能輸入,不能輸出;out表示信號(hào)只能輸出,不能輸入;inout則既能輸入又能輸出;buffer類似于但信號(hào)可被ASIC內(nèi)部利用?!锝Y(jié)構(gòu)體architecture是一個(gè)基本設(shè)計(jì)單元的主體,它簡(jiǎn)略定義了設(shè)計(jì)單元的功能。構(gòu)造體對(duì)基本設(shè)計(jì)單元的描述方式可以分為三種:行為描述,結(jié)構(gòu)描述和以上兩種方法的混合。構(gòu)造體的簡(jiǎn)略結(jié)構(gòu)如下:Architecture<identifier〉of_entity_nameisSignal_signal_name:std_logic;Signal_signal-name:stdlogic;Beginprocessstat(yī)ementconcurrentprocedurecallconcurrentsignalassignmentselectedsignalassignmentcomponentinstantiat(yī)ionstat(yī)ementgenerat(yī)estatementend<identifier>;定義語(yǔ)句位于Architecture和begin之間,用于對(duì)結(jié)構(gòu)體內(nèi)部所使用的信號(hào),常數(shù),數(shù)據(jù)類型和函數(shù)進(jìn)行定義。并行處理語(yǔ)句位于begin和end之間,這些語(yǔ)句簡(jiǎn)略描述了結(jié)構(gòu)體的行為及其連接關(guān)系。并行語(yǔ)句是并行執(zhí)行的,其書(shū)寫(xiě)挨次是不分挨次的Process語(yǔ)句是并行處理語(yǔ)句的一種,一個(gè)結(jié)構(gòu)體可以有多個(gè)process語(yǔ)句,這些進(jìn)程之間是并行執(zhí)行的,但是在process語(yǔ)句內(nèi)部語(yǔ)句是挨次執(zhí)行的。大多數(shù)process語(yǔ)句的執(zhí)行時(shí)由敏感信號(hào)觸發(fā)的,但是有些process是沒(méi)有敏感信號(hào)的,執(zhí)行進(jìn)程語(yǔ)句要有wait。庫(kù)庫(kù)是經(jīng)過(guò)編譯后的的數(shù)據(jù)集合,它存放包集合定義,實(shí)體定義,結(jié)構(gòu)體定義和配置定義。在VHDL語(yǔ)言中,庫(kù)的什么總是放在設(shè)計(jì)單元的最前面。庫(kù)的好處就在于可以使設(shè)計(jì)者共享已經(jīng)編譯好過(guò)的設(shè)計(jì)結(jié)果。使用庫(kù)的語(yǔ)法為:Librarylibrary_name;Uselibrary_name。package_name。item.name;IEEE庫(kù)中包括四個(gè)包集合Std_logic_1164(標(biāo)準(zhǔn)規(guī)律類型和相應(yīng)函數(shù))Std_logic_arith(數(shù)學(xué)函數(shù))Std_logic_signed(有符號(hào)數(shù)學(xué)函數(shù))Std_logic_unsigned(無(wú)符號(hào)數(shù)學(xué)函數(shù))用戶自定義的包集合都放在work庫(kù)中,使用方法如下;Librarywork;Usework。<packagename>.all想法:庫(kù)說(shuō)明語(yǔ)句的作用范圍從一個(gè)實(shí)體說(shuō)明開(kāi)頭到它所屬的結(jié)構(gòu)體,配置為止。當(dāng)一個(gè)源程序中消滅兩個(gè)以上的實(shí)體時(shí),每個(gè)實(shí)體前都要有相應(yīng)的庫(kù)說(shuō)明。包集合包集合來(lái)定義VHDL語(yǔ)言中所要用到的信號(hào)定義,常數(shù)定義,數(shù)據(jù)類型,元件語(yǔ)句,函數(shù)定義和過(guò)程定義等,它是一個(gè)可編譯的單元,也是庫(kù)中的一個(gè)層次.如果要使用一個(gè)包集合,在程序開(kāi)頭需要加上如下語(yǔ)句:Uselibrary_name.package_name。all;其中l(wèi)ibrary_name是所在的庫(kù)文件名稱,package_name是包集合名稱,而use和all則是關(guān)鍵字。例如:Useiee(cuò)e.std_logic_1164。all;表示在VHDL程序中要使用ieee(cuò)庫(kù)中的名為std_logic_1164的包集合中的定義.配置描述層與層之間的聯(lián)系關(guān)系,以及實(shí)體與結(jié)構(gòu)體之間的聯(lián)系關(guān)系??梢岳眠@種配置語(yǔ)句來(lái)選擇不同的結(jié)構(gòu)體,使其與要設(shè)計(jì)的實(shí)體相對(duì)于,也可以使元件與實(shí)體-結(jié)構(gòu)體相對(duì)應(yīng)。配置語(yǔ)句被廣泛應(yīng)用于仿真,它供應(yīng)了一個(gè)可變的,快速的交互設(shè)計(jì)的方式,但在綜合時(shí),該語(yǔ)句不被支持。配置語(yǔ)句的語(yǔ)法如下:Configurat(yī)ion〈identifier>of〈entity_name>isFor〈architecture_name>Endfor;End〈identifier>;3:VHDL的數(shù)據(jù)對(duì)象在VHDL中,數(shù)據(jù)對(duì)象有三類,即變量(VARIABLE),常量(CONSTANT)和信號(hào)(SIGNAL)。數(shù)據(jù)對(duì)象類似于一種容器,它接受不同數(shù)據(jù)類型的賦值.常數(shù)常數(shù)的定義和設(shè)置主要是為了使程序容易閱讀和修改。常量是一個(gè)恒定不定的值,一旦做了數(shù)據(jù)類型和賦值定義后,在程序中就不能再轉(zhuǎn)變,因而具有全局性的意義。常數(shù)定義的一般表達(dá)式為:constant常數(shù)名:數(shù)據(jù)類型:=表達(dá)式;常數(shù)定義語(yǔ)句所允許的設(shè)計(jì)單元有實(shí)體,結(jié)構(gòu)體,程序包,塊,進(jìn)程和子程序.常數(shù)的可見(jiàn)性是指常數(shù)的使用范圍取決于他被定義的位置。變量在VHDL語(yǔ)法規(guī)章中,變量是一個(gè)局部量,只能在進(jìn)程和子程序中使用。變量不能將信息帶出對(duì)它作出定義的當(dāng)前結(jié)構(gòu)。變量的賦值是一種抱負(fù)化的數(shù)據(jù)傳輸,是立即發(fā)生的,不存在任何的延時(shí)行為.變量的主要作用是在進(jìn)程中最為臨時(shí)的數(shù)據(jù)存儲(chǔ)單元.變量的定義一般表示如下:VARIABLE變量名:數(shù)據(jù)類型:=初始值;例如:VARIABLEa:INTEGERRANG0to15;-—變量a定義為常數(shù),取值范圍是0~15;VARIABLEd:STD_LO(píng)GIC:='1';-—變量d定義為標(biāo)準(zhǔn)規(guī)律位數(shù)據(jù)類型,初始值為’1';信號(hào)信號(hào)的性質(zhì)類似于連接線,信號(hào)最為一種數(shù)值容器,不但可以容納當(dāng)前值,也可以保持歷史值。信號(hào)的定義格式為:SIGNAL信號(hào)名:數(shù)據(jù)類型:=初始值;信號(hào)具有全局的特征,信號(hào)的使用范圍是實(shí)體,結(jié)構(gòu)體和程序包。在進(jìn)程和子程序的挨次語(yǔ)句中不允許定義信號(hào)。此外在進(jìn)程中只能將信號(hào)列入信號(hào)敏感表,而不能將變量列入敏感表??梢?jiàn),進(jìn)程只對(duì)信號(hào)敏感,而對(duì)變量不敏感.這是由于只有信號(hào)才能把進(jìn)程外的信息帶入進(jìn)程內(nèi)部.信號(hào)的賦值語(yǔ)句表示如下:目標(biāo)信號(hào)<=表達(dá)式AFTER時(shí)間量;表達(dá)式可以是一個(gè)運(yùn)算表達(dá)式,也可以是數(shù)據(jù)對(duì)象。數(shù)據(jù)信息的傳入可以設(shè)置延時(shí)量.信號(hào)的賦值可以消滅在一個(gè)進(jìn)程中,也可以直接消滅在結(jié)構(gòu)體的并行語(yǔ)句結(jié)構(gòu)中。進(jìn)程與變量賦值語(yǔ)句功能的比較比較對(duì)象信號(hào)SIGNAL變量VARIABLE基本用法用于作為電平中的信號(hào)連線用于作為進(jìn)程中局部數(shù)據(jù)存儲(chǔ)單元適用范圍在整個(gè)結(jié)構(gòu)體內(nèi)的任何地方都能適用只能在所定義的進(jìn)程中使用行為特征在進(jìn)程的最后才對(duì)信號(hào)賦值立即賦值4:數(shù)據(jù)類型預(yù)定義的數(shù)據(jù)類型位bit在數(shù)據(jù)系統(tǒng)中,信號(hào)值通常用一位表示,為允許的數(shù)值為‘0’或‘1'布爾量boolean一個(gè)布爾量只有true和false兩種狀態(tài):‘真'或‘假'。布爾量不能進(jìn)行數(shù)據(jù)運(yùn)算,只能進(jìn)行關(guān)系運(yùn)算.字符character字符允許的數(shù)據(jù)內(nèi)容為128個(gè)標(biāo)準(zhǔn)ASCⅡ字符,字符量通常用單引號(hào)引起來(lái).字符串string字符串由一串字符構(gòu)成.例如Signalksut:string(1to9):=kung—shan;標(biāo)準(zhǔn)規(guī)律std_logicstd_logic數(shù)據(jù)類型定義typestd_logicis('U’,’X’,'0’,’1’,'Z’,’W’,’L’,’H’,’—‘);’U’:未初始化;’X’:強(qiáng)未知的;'0’:強(qiáng)規(guī)律0;'1’:強(qiáng)規(guī)律1;’Z’:高阻態(tài);'W':弱未知的;’L’:弱規(guī)律0;’H'弱規(guī)律1;’-‘:忽視.標(biāo)準(zhǔn)規(guī)律矢量std_logic_vertor整數(shù)integer整數(shù)與數(shù)學(xué)中整數(shù)定義相同,整數(shù)的表示范圍為-2147483648~2147483647。編譯器將整數(shù)型操作數(shù)的位寬設(shè)為32位。用戶自定義數(shù)據(jù)類型用戶自定義數(shù)據(jù)類型是基本數(shù)據(jù)類型為基礎(chǔ)而定義的數(shù)據(jù)類型.用戶定義的數(shù)據(jù)類型的書(shū)寫(xiě)格式是:Type數(shù)據(jù)類型名{,數(shù)據(jù)類型名}數(shù)據(jù)類型定義;運(yùn)算操作符規(guī)律運(yùn)算符規(guī)律運(yùn)算符有and,or,nand,nor,xor等,規(guī)律運(yùn)算符只能用于bit,boolean及std_logic三種類型的數(shù)據(jù),“not"的優(yōu)先級(jí)最高.算術(shù)運(yùn)算符算術(shù)運(yùn)算符有abs,+,—,*,/,mod等.“+”及“-"為傳統(tǒng)的整數(shù)加減法,必須調(diào)用算術(shù)程序包(bitarithpackage)才能運(yùn)算.關(guān)系運(yùn)算符關(guān)系運(yùn)算符有=,/=,<,<=,>,>=.關(guān)系運(yùn)算的結(jié)果為布爾量。賦值運(yùn)算符賦值運(yùn)算符原來(lái)給信號(hào)賦值,可以消滅在任何地方,信號(hào)賦值符號(hào)位=>;如果要給變量賦值,只能在進(jìn)程中進(jìn)行,變量的賦值符號(hào)位:=。并置運(yùn)算符并置運(yùn)算符“&"用于位連接。連接運(yùn)算符在調(diào)用集成電路組件時(shí),必須使用連接的方式來(lái)指定該電路組件引腳與其對(duì)應(yīng)的端口信號(hào)的練接通路。最常用的方法是通過(guò)引腳圖(portmap)或?qū)傩詧D(genericmap)連接.例如:Sto:dsrffportmap(d=>data,s=>set,r=〉rst,clk=〉clk,q=〉qout);此例將D型觸發(fā)器的全部引腳d,s,r,clk及q指定連接到目的程序中所定義的實(shí)體的信號(hào)端data,set,rst,clk及qout。5:VHDL挨次語(yǔ)句與并發(fā)語(yǔ)句挨次語(yǔ)句挨次語(yǔ)句只能消滅在過(guò)程,進(jìn)程及函數(shù)中,其中所以的命令語(yǔ)句是按挨次執(zhí)行的。IFTHEN語(yǔ)句此種IF語(yǔ)句的語(yǔ)法為:IF<條件〉THEN挨次執(zhí)行語(yǔ)句ENDIF;IFTHENELSE語(yǔ)句此種IF語(yǔ)句的語(yǔ)法為:IF〈條件〉THEN挨次執(zhí)行語(yǔ)句ELSE挨次執(zhí)行語(yǔ)句ENDIF;IFTHENELSIF語(yǔ)句此種IF語(yǔ)句的語(yǔ)法為IF〈條件1〉THEN挨次執(zhí)行語(yǔ)句ELSEIF〈條件2〉THEN挨次執(zhí)行語(yǔ)句ELSE挨次執(zhí)行語(yǔ)句ENDIF;選擇語(yǔ)句CASE語(yǔ)句原來(lái)從很多不同的語(yǔ)句之中選擇其一執(zhí)行,CASE語(yǔ)句書(shū)寫(xiě)格式如下:CASE_EXPRESSIONISWHEN_CONSTANT_VALUE=〉_STATEMENT;WHENOTHERS=>_STATEMENT;ENDCASE;等待語(yǔ)句WAIT語(yǔ)句使程序產(chǎn)生等待,直到條件滿意再執(zhí)行。WAIT語(yǔ)句可以設(shè)置4種不同條件:無(wú)限等待,時(shí)間到,條件滿意及敏感信號(hào)量變化.其書(shū)寫(xiě)格式如下:WAIT—-無(wú)限等待WAITON——敏感信號(hào)量變化WAITUNTIL--條件滿意WAITFOR—-時(shí)間到例如:WAITUNTIL_clk_name='1’function語(yǔ)句function語(yǔ)句與procedure語(yǔ)句的最大區(qū)分在于它是挨次語(yǔ)句,且一次只返回一個(gè)值.在VHDL語(yǔ)言中,函數(shù)語(yǔ)句的書(shū)寫(xiě)格式如下:FUNCTION函數(shù)名(參數(shù)1,參數(shù)2,…)RETURN數(shù)據(jù)類型名IS定義語(yǔ)句BEGIN挨次處理語(yǔ)句RETURN返回變量名END函數(shù)名6:描述方式使用VHDL語(yǔ)言對(duì)硬件系統(tǒng)進(jìn)行描述,可以采納3種不同風(fēng)格的描述方式,即行為描述方式,RTL描述方式和結(jié)構(gòu)描述方式。行為描述方式是對(duì)系統(tǒng)數(shù)學(xué)模型的描述,其抽象程度比寄存器傳輸描述方式和結(jié)構(gòu)化描述方式更高.行為描述方法只定義電路的功能,并不定義電路的結(jié)構(gòu),也沒(méi)有簡(jiǎn)略實(shí)現(xiàn)硬件的目的,它只是為了綜合目的而使用的一種描述方法。RTL描述方式是一種明確規(guī)定寄存器描述的方法。RTL的全稱是registertransferlevel,它是一種以綜合為目的的描述方式.它是一種可以綜合的描述方法,綜合過(guò)程先把HDL翻譯成電路的模式,然后再進(jìn)行優(yōu)化,最終達(dá)到一個(gè)門(mén)階段的應(yīng)用。結(jié)構(gòu)描述方式,就是在多層次的設(shè)計(jì)中,直接用門(mén)電路設(shè)計(jì)單元來(lái)構(gòu)成一個(gè)簡(jiǎn)潔的規(guī)律電路的描述方法。結(jié)構(gòu)描述方式最能提高設(shè)計(jì)效率,它可以將自己已有的設(shè)計(jì)成果便利地調(diào)用到新的設(shè)計(jì)中去.他主要是描述電路的功能和結(jié)構(gòu),它是由頂層模塊對(duì)底層,模塊的調(diào)用來(lái)實(shí)現(xiàn)的。此描述方式實(shí)現(xiàn)的電路可以綜合.第四部分:實(shí)驗(yàn)篇通過(guò)這部分的實(shí)踐,基本上了解了QuartusⅡ進(jìn)行數(shù)字系統(tǒng)開(kāi)發(fā)的流程,為以后連續(xù)學(xué)習(xí)打下了基礎(chǔ)開(kāi)發(fā)流程也許如下打開(kāi)QuartusⅡ軟件,file-NewProjectWizard工具選項(xiàng)創(chuàng)建工程例如我們做一個(gè)十進(jìn)制的加法計(jì)數(shù)器,建立工程的界面如下點(diǎn)擊next,由于我們沒(méi)有vhdl程序,所以這一步直接點(diǎn)擊next,進(jìn)入到目的芯片選擇界面,我們選擇EP1C6Q240C8,這里的EP1C6表示Cyclone系列及此器件的規(guī)模:Q表示PQFP封裝;C8表示速度級(jí)別;Sp

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論