新聞中心

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

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

        作者: 時間:2012-03-26 來源:網(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滿時轉(zhuǎn)入Write0狀態(tài)。

          負(fù)責(zé)對M0讀的狀態(tài)機包括四個狀態(tài):

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

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

          M0empty:M0空狀態(tài)

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

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

          

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

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

          

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

        由以上的波形看到狀態(tài)機的工作過程符合設(shè)計邏輯。對單獨的器件操作也許不需要采用的設(shè)計方法,但在多器件需要并行工作時,多狀態(tài)機的協(xié)同設(shè)計就顯得必要了。導(dǎo)出VHDL模型塊到ISE中進行仿真后綜合,這里就不多講了,以下是產(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



        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 襄垣县| 富宁县| 玛沁县| 皮山县| 鹤山市| 东海县| 遵义市| 昔阳县| 登封市| 宾阳县| 高陵县| 陇西县| 东山县| 石渠县| 外汇| 永宁县| 保定市| 苏州市| 远安县| 虎林市| 阳泉市| 门源| 巧家县| 大余县| 车致| 瑞丽市| 鄂州市| 运城市| 惠水县| 枞阳县| 东乡族自治县| 米林县| 璧山县| 大埔区| 阜宁县| 醴陵市| 临高县| 白朗县| 元阳县| 荃湾区| 舟曲县|