新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 如何使用STATECAD進(jìn)行多狀態(tài)機(jī)設(shè)計(jì)實(shí)例分析

如何使用STATECAD進(jìn)行多狀態(tài)機(jī)設(shè)計(jì)實(shí)例分析

作者: 時(shí)間:2012-03-26 來(lái)源:網(wǎng)絡(luò) 收藏
HITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  M0writewait:等待。M0滿時(shí)轉(zhuǎn)入Write0狀態(tài)。

  負(fù)責(zé)對(duì)M0讀的狀態(tài)機(jī)包括四個(gè)狀態(tài):

  STATE1:讀狀態(tài)機(jī)復(fù)位后初始化

  Read0:對(duì)M0讀,讀4個(gè)轉(zhuǎn)到M0empty

  M0empty:M0空狀態(tài)

  M0readwait:等待。M0空時(shí)轉(zhuǎn)入Read0狀態(tài)

  負(fù)責(zé)對(duì)M0寫的狀態(tài)機(jī)必須知道M0是空的,而負(fù)責(zé)對(duì)M0讀的狀態(tài)機(jī)必須知道M0是滿的才能讀。讀完了通知負(fù)責(zé)對(duì)M0寫的狀態(tài)機(jī)M0是空的,可以寫了。二個(gè)狀態(tài)機(jī)同時(shí)并行工作。M0寫的狀態(tài)機(jī)在寫操作完了,就等待M0空。M0讀的狀態(tài)機(jī)在讀操作完了,就等待M0滿。在中,狀態(tài)本身可以作為其他狀態(tài)機(jī)的轉(zhuǎn)移條件。這也正是在進(jìn)行的協(xié)同設(shè)計(jì)中最需要的功能,能大大方便的設(shè)計(jì)。

  

如何使用STATECAD進(jìn)行多狀態(tài)機(jī)設(shè)計(jì)實(shí)例分析

  輸入完?duì)顟B(tài)圖,就基本完成了狀態(tài)機(jī)的設(shè)計(jì)過(guò)程。進(jìn)行邏輯優(yōu)化(工具自動(dòng)進(jìn)行邏輯優(yōu)化)后,使用STATEBENCH進(jìn)行狀態(tài)轉(zhuǎn)移分析。以下是自動(dòng)狀態(tài)轉(zhuǎn)移模擬波形。

  

如何使用STATECAD進(jìn)行多狀態(tài)機(jī)設(shè)計(jì)實(shí)例分析

由以上的波形看到狀態(tài)機(jī)的工作過(guò)程符合設(shè)計(jì)邏輯。對(duì)單獨(dú)的器件操作也許不需要采用的設(shè)計(jì)方法,但在多器件需要并行工作時(shí),多狀態(tài)機(jī)的協(xié)同設(shè)計(jì)就顯得必要了。導(dǎo)出VHDL模型塊到ISE中進(jìn)行仿真后綜合,這里就不多講了,以下是產(chǎn)生的代碼:

  -- D:XILINXTUTORIALDUOZTJI.Vhd

  LIBRARY Ieee;

  USE Ieee.Std_logic_1164.All;

  LIBRARY Ieee;

  USE Ieee.Std_logic_unsigned.All;

  ENTITY SHELL_DUOZTJI IS



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉