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