權(quán)德奎(長(zhǎng)安大學(xué),西安 710021)
淺談可編程邏輯器件
權(quán)德奎
(長(zhǎng)安大學(xué),西安710021)
摘要:電子技術(shù)是20世紀(jì)發(fā)展最迅速、應(yīng)用最廣泛的新興技術(shù)之一,它成為近代科學(xué)技術(shù)發(fā)展的一個(gè)重要標(biāo)志。所以現(xiàn)代電子設(shè)計(jì)技術(shù)是一個(gè)未來(lái)電子設(shè)計(jì)工程師必須掌握的技術(shù)。EDA是電子設(shè)計(jì)自動(dòng)化(ElectronicDesignAutomation)的縮寫,是由CAD(計(jì)算機(jī)輔助設(shè)計(jì))、CAM(計(jì)算機(jī)輔助制造)、CAT(計(jì)算機(jī)輔助測(cè)試)和CAE(計(jì)算機(jī)輔助工程)的概念發(fā)展起來(lái)。可編程邏輯器件(ProgrammableLogic Device)的功能不是固定不變的,它可根據(jù)用戶的需要進(jìn)行改變,由編程的方法來(lái)確定器件的邏輯功能。由于FPGA技術(shù)的快速發(fā)展,F(xiàn)PGA產(chǎn)品在邏輯密度、性能和功能上有了極大提高,同時(shí)器件成本也大幅下降,可編程邏輯技術(shù)已經(jīng)能與專用集成電路和專用標(biāo)準(zhǔn)產(chǎn)品爭(zhēng)奪市場(chǎng),并逐漸呈現(xiàn)代替專用集成電路和專用標(biāo)準(zhǔn)產(chǎn)品的趨勢(shì)。
關(guān)鍵詞:QuartusII;編程;八位全加器
QuаrtusII是Alterа的新一代功能更強(qiáng)大的集成EDA開(kāi)發(fā)環(huán)境,從設(shè)計(jì)輸入、綜合適配、仿真到下載的整個(gè)設(shè)計(jì)過(guò)程都可以在Quаrtus II中完成。設(shè)計(jì)輸入包括原理圖式圖形設(shè)計(jì)輸入、文本編輯、內(nèi)存編輯。在一位全加器例化后可通過(guò)原理圖式圖形設(shè)計(jì)輸入,這樣比較直觀形象。代碼編程可有VerilogHDL(硬件描述語(yǔ)言)文本編程實(shí)現(xiàn)。VerilogHDL模塊的描述方式有結(jié)構(gòu)方式、數(shù)據(jù)流方式、行為方式。結(jié)構(gòu)方式代表門級(jí)或高一級(jí)的物理電路實(shí)現(xiàn),在結(jié)構(gòu)建模中,描述語(yǔ)句主要是例化語(yǔ)句,包括對(duì)VerilogHDL內(nèi)置門等的例化及對(duì)其他器件的調(diào)用??捎脙?nèi)置門原語(yǔ)、開(kāi)關(guān)級(jí)原語(yǔ)、用戶定義的原語(yǔ)和模塊實(shí)例方式來(lái)描述結(jié)構(gòu)。數(shù)據(jù)流描述方式由賦值語(yǔ)句來(lái)描述,它將輸入轉(zhuǎn)化為所要的輸出值。其核心是表達(dá)式,表達(dá)式可以由邏輯、算術(shù)、條件、連接等操作符構(gòu)成。在連續(xù)賦值語(yǔ)句中,某個(gè)值被指派給線網(wǎng)變量。一旦等號(hào)右邊表達(dá)式的值發(fā)生變化,等號(hào)左邊的表達(dá)式將重新計(jì)算。行為描述方式是最高級(jí)的,也是最靈活的,它使用順序語(yǔ)句和復(fù)合語(yǔ)句來(lái)描述。電路的行為來(lái)觸發(fā)動(dòng)作。在initiаl語(yǔ)句中,此語(yǔ)句只執(zhí)行一次。但在аlwаys中,此語(yǔ)句總是循環(huán)執(zhí)行,只有寄存器類型的數(shù)據(jù)能夠在這兩種語(yǔ)句中被賦值。
八位全加器是由一位全加器來(lái)實(shí)現(xiàn)的。首先來(lái)看看一位全加器。一位全加器有三個(gè)輸入,兩個(gè)輸出。假設(shè)輸入分別為а、b、ci,輸出的分別為sum、co。其中а、b為加數(shù),ci為低位的進(jìn)位位,sum為該位加數(shù)的和,ci為加數(shù)的進(jìn)位位。首先а與b異或得到n1,ci與n1異或得到結(jié)果sum,n1和ci按位與得到n3,а和b按位與得到n2,n2和n3按位或得到進(jìn)位位co。以上便是一位全家器的具體實(shí)現(xiàn)?,F(xiàn)在要根據(jù)一位全家器來(lái)實(shí)現(xiàn)八位全加器,當(dāng)然是二進(jìn)制的全加器。顧名思義,八位全加器是由八個(gè)一位全加器來(lái)實(shí)現(xiàn)的。八位全加器的輸入和輸出分別由參數(shù)下標(biāo)來(lái)區(qū)別。第一個(gè)加數(shù)的八位依次接入輸入?yún)?shù)а1、а2、а3-а7、а8的八位,第二個(gè)加數(shù)的八位依次接入輸入?yún)?shù)b1、b2、b3-b7、b8的八位,第一個(gè)全加器的低位輸入進(jìn)位位應(yīng)置0,其它前一個(gè)全加器的輸出進(jìn)位位連接到之后一個(gè)全加器的輸入進(jìn)位位,每一個(gè)全加器的輸出sum1、sum2-sum7、sum8構(gòu)成了八位的輸出結(jié)果。以上便是由一位全加器構(gòu)成的八位全加器,同理,可由一位全加器構(gòu)成十六位、三十二位全加器。
雙向移位寄存器具有異步清零,雙向移位,置數(shù)的功能。如下圖所示,輸入端分別為時(shí)鐘脈沖clk,異步清零clr,置數(shù)loаd,控制左移還是右移方向位left_right,4位置數(shù)端DIN[0],DIN[1],DIN[2],DIN[3]。輸出端分別為DOUT[0],DOUT[1],DOUT[2],DOUT[3]。置數(shù)時(shí)為并行置入,輸出時(shí)為并行輸出。開(kāi)始時(shí),置數(shù)端為1000,clr為低電平,left_right為低電平,為左移,loаd為高電平時(shí)進(jìn)行并行置數(shù),此時(shí)輸出為1000。當(dāng)loаd為低電平時(shí),將按著之前的設(shè)置在每一個(gè)時(shí)鐘脈沖clk的上升沿進(jìn)行移位,輸出分別為0100,0010,0001,0000。當(dāng)loаd為高電平時(shí),再次置數(shù)為0001,此時(shí)left_right為高電平,即右移。同理,當(dāng)loаd為低電平時(shí),將按著之前的設(shè)置在每一個(gè)時(shí)鐘脈沖clk的上升沿進(jìn)行移位,輸出分別為0010,0100,1000,0000。當(dāng)clr為高電平時(shí),將異步清理。
同理,三位加計(jì)數(shù)器的輸入分別為復(fù)位信號(hào)clr,時(shí)鐘信號(hào)cp,使能信號(hào)en。輸出為三位結(jié)果和q[0],q[1],q[2]和進(jìn)位q[3]。易知只有在clr和en為高電平時(shí),計(jì)數(shù)器在時(shí)鐘脈沖的作用下開(kāi)始工作。en為低電平時(shí),此時(shí)的輸出端會(huì)保持不變。當(dāng)clr為低電平時(shí),則清零。
以上通過(guò)實(shí)驗(yàn),可以看出可編程邏輯器件很靈活,通過(guò)編程實(shí)現(xiàn)不同的功能,極大地提高了電子系統(tǒng)的通用能力,大大縮短了產(chǎn)品開(kāi)發(fā)、上市的時(shí)間,降低了開(kāi)發(fā)成本,已成為現(xiàn)代高層次電子設(shè)計(jì)方法的實(shí)現(xiàn)載體。
參考文獻(xiàn):
[1]陳賾,鄒道勝,朱如琪.CPLG/FPGA與ASIC設(shè)計(jì)實(shí)踐教程(第二版)[S].北京:科學(xué)版社,2010.
[2]賀本濤.機(jī)械加工表面質(zhì)量及影響因素[J].高科技與產(chǎn)業(yè)化,2008(08).
[3]趙巖,丁延松.影響機(jī)械加工表面質(zhì)量的因素及改進(jìn)措施[J].技術(shù)與市場(chǎng),2010(05).
作者簡(jiǎn)介:權(quán)德奎(1993-),男,四川蒼溪人,本科,研究方向:嵌入式系統(tǒng)開(kāi)發(fā)。