<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于Verilog的順序狀態(tài)邏輯FSM設計與仿真

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

作者: 時(shí)間:2008-09-22 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

  1 設計規范與設計構思

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

  

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

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

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

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

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

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

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

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

  

  

  

  

  

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

  

  

  4

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

  

  

  5 門(mén)級仿真

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

  

  從門(mén)級仿真所得到的波形圖輸出結果來(lái)看,本設計在功能與時(shí)序上是符合的。

  6 后端設計

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

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

  7 結束語(yǔ)

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>