日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于Verilog的順序狀態(tài)邏輯FSM的設(shè)計與仿真

出處:only668 發(fā)布于:2007-04-29 09:17:07

基于Verilog的順序狀態(tài)邏輯FSM的設(shè)計與仿真

長沙國防科技大學(xué)計算機學(xué)院 成運
湖南婁底學(xué)院計算機系(417000)
長沙國防科技大學(xué)計算機學(xué)院(410073) 張波云

硬件描述語言Verilog為數(shù)字系統(tǒng)設(shè)計人員提供了一種在廣泛抽象層次上描述數(shù)字系統(tǒng)的方式,同時,為計算機輔助設(shè)計工具在工程設(shè)計中的應(yīng)用提供了方法。該語言支持早期的行為結(jié)構(gòu)設(shè)計的概念,以及其后層次化結(jié)構(gòu)設(shè)計的實現(xiàn)。這在設(shè)計過程中,進(jìn)行邏輯結(jié)構(gòu)部分設(shè)計時可以將行為結(jié)構(gòu)和層次化結(jié)構(gòu)混合起來;為確認(rèn)正確性還可以將描述進(jìn)行模擬,并提供一些用于自動設(shè)計的綜合工具。因而Verilog語言為設(shè)計者進(jìn)行大型復(fù)雜數(shù)字系統(tǒng)的設(shè)計提供了途徑。超大規(guī)模集成電路設(shè)計的典型流程如圖1所示。

本文將以順序狀態(tài)邏輯有限狀態(tài)機的設(shè)計為例介紹用Verilog語言設(shè)計數(shù)字電路的一般過程。

1 設(shè)計規(guī)范與設(shè)計構(gòu)思

電子設(shè)計工程師在設(shè)計過程中不可避免地會遇到設(shè)計可執(zhí)行特殊操作序列電路的工作,如用來控制其他電路進(jìn)行操作的控制器,而有限狀態(tài)機(Finite Status Machine,F(xiàn)SM)是設(shè)計這種能執(zhí)行特殊操作序列電路的一種非常有效的模型。FSM的結(jié)構(gòu)通常由當(dāng)前狀態(tài)寄存器、下一狀態(tài)邏輯和輸出邏輯三部分構(gòu)成。FSM也有很多種模型,本文僅以順序狀態(tài)邏輯FSM的設(shè)計為例來說明用Verilog進(jìn)行集成電路設(shè)計的一般設(shè)計過程。為簡單起見,本設(shè)計只設(shè)計了包含有8個狀態(tài)的順序狀態(tài)邏輯FSM。8個狀態(tài)分別為One、Two、ThreeA、ThreeB、ThTeeC、Dummy、Four、Five。開始狀態(tài)為One,各狀態(tài)之間的轉(zhuǎn)換關(guān)系如圖2所示。

該順序狀態(tài)邏輯FSM的功能及要求如下。

(1)同步復(fù)位信號Reset至少要維持4個時鐘周期的高電平信號,以保證狀態(tài)機進(jìn)入狀態(tài)One。

(2)當(dāng)狀態(tài)機在5個狀態(tài)中循環(huán)時,A、B、C 3個輸入按優(yōu)先級使?fàn)顟B(tài)機從狀態(tài)Two進(jìn)入相應(yīng)的狀態(tài)ThreeA、ThreeB、ThreeC、Dummy。

(3)復(fù)位后,如果A持續(xù)為高電平,則輸出信號Y1的周期為時鐘周期的5倍,且高電平維持的時間為1個時鐘周期。

(4)如果A、B維持為低電平,而C維持為高電平,則輸出信號Y3的周期為時鐘周期的5倍,且高電平維持的時間為1個時鐘周期。

(5)如果A維持低電子,而B維持高電平,則輸出信號Y2與Y1和Y3不同,只維持1個時鐘周期的高電平。因為當(dāng)狀態(tài)機進(jìn)入狀態(tài)ThreeB時,信號BeenInState3B被設(shè)置為1,而該信號就會禁止?fàn)顟B(tài)機再次進(jìn)入狀態(tài)ThreeB,直到另一個復(fù)位信號出現(xiàn)為止。

以上是一個時序電路的設(shè)計,如何保證正確的時序是設(shè)計的關(guān)鍵。根據(jù)設(shè)計要求,該狀態(tài)機至少應(yīng)該有8個端口:5個輸入端口(A、B、C、Reset、Clock),3個輸出端口(Y1、Y2、Y3)。其中輸入端A、B、C和Reset信號均由時鐘邊緣進(jìn)行觸發(fā),Reset具有的優(yōu)先權(quán),而輸入信號A、B、C的優(yōu)先權(quán)則依次遞減。

該順序狀態(tài)邏輯有限狀態(tài)機的端口示意圖和設(shè)計構(gòu)思圖分別如圖3和圖4所示。

2 用Verilog語言編寫源代碼

3源代碼功能仿真

通常EDA(Electronic Design Automation)工具都為設(shè)計人員提供了測試平臺,以驗證數(shù)字電子系統(tǒng)設(shè)計在功能和時序二方面的正確性。不同的EDA工具提供的平臺會有差別,但是它們都可以實現(xiàn)對被測試對象加載測試信號,并且能夠通過波形輸出或文件記錄輸出等方式來方便地進(jìn)行觀察及比較仿真結(jié)果。而測試用的激勵代碼通常是由設(shè)計人員自己編寫。為了便于清楚地觀察、比較仿真結(jié)果,本設(shè)計對一個340ns時間段進(jìn)行了模擬,且測試代碼考慮了各種可能出現(xiàn)的激勵情況,具體的測試代碼如下:

4邏輯綜合

邏輯綜合的目標(biāo)是將寄存器時間邏輯(RTL)的HDL(HardwareDescriptionLanguage)代碼映射到具體的工藝上加以實現(xiàn),因而從這一步開始,設(shè)計過程與實現(xiàn)工藝相關(guān)聯(lián)。實現(xiàn)自動綜合的前提是要有邏輯綜合庫的支持。綜合庫內(nèi)部包含了相應(yīng)的工藝參數(shù),典型的有:門級延時、單元面積、扇入扇出系數(shù)等。設(shè)計一個電子系統(tǒng),總有相應(yīng)的設(shè)計目標(biāo),如時鐘頻率、芯片面積、端口驅(qū)動能力等。自動綜合工具將這些設(shè)計指標(biāo)作為綜合過程的約束條件,在給定的包含工藝參數(shù)的綜合庫中選取單元,實現(xiàn)綜合過程。 與模擬工具一樣,目前有許多的綜合工具借助現(xiàn)有的綜合庫能將Verilog語言源代碼進(jìn)行綜合,轉(zhuǎn)化成門級電路圖,并且可以根據(jù)設(shè)計者施加的約束條件對電路進(jìn)行優(yōu)化,生成相應(yīng)的門級網(wǎng)表。Synopsys公司的DC(DesignCompiler)就是一個比較好的邏輯綜合工具。DC邏輯綜合與優(yōu)化后得到的電路圖如圖6所示。

5 門級仿真

綜合之后所得到的電路是否仍能滿足設(shè)計要求,同樣需要通過仿真來確定,邏輯綜合之后的仿真稱為門級仿真。門級網(wǎng)表是使用門電路以及電路之間的連接來描述電路的方式。門級仿真與RTL仿真不同的是,門級仿真包含了門單元的延時信息,因而門級仿真需要相應(yīng)工藝的仿真庫支持。把綜合后得到的網(wǎng)表中門級延時參數(shù)提取出來后,對被測試對象進(jìn)行反標(biāo),然后再進(jìn)行仿真,得到的結(jié)果如圖7所示。

從門級仿真所得到的波形圖輸出結(jié)果來看,本設(shè)計在功能與時序上是符合設(shè)計要求的。

6后端設(shè)計

門級仿真通過后,接著就是進(jìn)行版圖規(guī)劃;版圖規(guī)劃好以后就進(jìn)行布局與布線;在版圖的布局布線都已確定后,可以從版圖中進(jìn)一步提取出連線電阻、電容等參數(shù)。

生成版圖之后,把從版圖中提取出的參數(shù)反標(biāo)到門級網(wǎng)表中,進(jìn)行包含門延時、連線延時的門級仿真,稱作后仿真。這一步主要是進(jìn)行時序模擬,如果時序不能滿足設(shè)計要求,通常需要修改版圖的布局與布線、邏輯綜合的約束條件,有時也可能回到RTL描述、行為級描述甚至設(shè)計規(guī)范或算法實現(xiàn)上加以調(diào)整。版圖得到驗證后就可以交付生產(chǎn)廠家做到硅片上。

7 結(jié)束語

由以上的設(shè)計過程可以看出,Verilog語言的特點是簡潔、靈活、高效,其編程風(fēng)格和C語言極其相似,所以很容易學(xué)習(xí)和掌握。同時,Verilog語言還具有底層描述方面的優(yōu)勢,而且其設(shè)計方法與具體工藝無關(guān),這就使得用Verilog語言編寫的功能模塊具有很高的可重用性。隨著集成電路的深亞微米制造技術(shù)、設(shè)計技術(shù)的迅速發(fā)展,集成電路已進(jìn)入片上系統(tǒng)(System on a Chip,SoC)設(shè)計時代。SoC設(shè)計的挑戰(zhàn)之一是IP(Intellectual Property)模塊的有效使用和重用。IP模塊的重用,除能縮短SoC芯片設(shè)計的時間外,還能降低設(shè)計和制造成本,提高可靠性。在SoC設(shè)計中,可重用的IP模塊越多,設(shè)計過程的效率就會越高。由此可見,Verilog語言在SoC設(shè)計中可以發(fā)揮更大的作用。因此,能用Verilog語言進(jìn)行電路設(shè)計是每個電子設(shè)計工程師必須掌握的基本技術(shù)。



  
關(guān)鍵詞:基于Verilog的順序狀態(tài)邏輯FSM的設(shè)計與仿真

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!