首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]请教quartus2仿真状态机的问题

[求助]请教quartus2仿真状态机的问题

用quartus仿真状态机的时候,如果不加一个复位键的话。状态运行不了。但在maxplux2里面是可以仿真的。或者需要对quartus2有所设置,我对此软件的设置不太熟悉。。希望高手指点  感激不尽!!

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY ch6_5_1 IS
PORT
    (CP : IN  STD_LOGIC;
     DIN: IN  STD_LOGIC;
     OP : OUT STD_LOGIC
        );    
END ch6_5_1;

ARCHITECTURE a OF ch6_5_1 IS
    TYPE   STATE IS (S0,S1,S2,S3);    --State Type Declare
    SIGNAL  resentState: STATE ;
    SIGNAL  NextState    : STATE ;
BEGIN
   SwitchTONextStateROCESS (CP)
    BEGIN
       IF CP'event AND CP='1' THEN
           resentState<=NextState;
        END IF;
END PROCESS SwitchTONextState;
ChangeStateModeROCESS (DIN,PresentState)
    BEGIN
    CASE PresentState IS
           WHEN S0=>
             IF DIN='0' THEN
                NextState<=S0;
             ELSE
                NextState<=S1;
             END IF;
                OP<='1';
           WHEN S1=>
             IF DIN='1' THEN
                NextState<=S1;
             ELSE
                NextState<=S2;
             END IF;
                OP<='1';
           WHEN S2=>
             IF DIN='1' THEN
                NextState<=S2;
             ELSE
                NextState<=S3;
             END IF;
                OP<='0';
           WHEN S3=>
             IF DIN='1' THEN
                NextState<=S0;
             ELSE
                NextState<=S1;
             END IF;
                OP<='1';
           WHEN OTHERS=>
                NextState<=S0;
                OP<='0';
         END CASE;
    
END PROCESS ChangeStateMode;
END a;
对vhdl不熟悉。
在交流中前进,共同实现nios的应用。
返回列表