VHDL:使用带有两个输出的FSM的case语句

时间:2018-01-30 06:29:51

标签: vhdl fsm case-statement

我是VHDL的新手,我一直在尝试在一项任务中完成我的组合代码,但是我不知道如何使案例考虑两个1位输出的特定组合:Permit和ReturnChange。我关注的是WHEN声明。例如,查看此块,WHEN行是否有效?

            WHEN NoBill => Permit <= '0'; ReturnChange <= '0'; 
                IF (Input = "000") THEN NextState <= NoBill;
                ELSIF (Input = "001") THEN NextState <= Rec5;
                ELSIF (Input = "010") THEN NextState <= Rec10;
                ELSIF (Input = "100") THEN NextState <= Rec20;
                END IF;

ReturnChange&lt; ='0'; 部分是我不确定的。因为我知道 WHEN NoBill =&gt;允许&lt; ='0'; 可行。但是,当Permit和ReturnChange输出的组合都是0时,我需要应用那些if语句。我不知道如何包含两者,所以我只是猜到了 ReturnChange&lt; ='0'; < / strong>部分。如果我的猜测不正确,我该怎么做呢?

我不确定看到整个文件或我的状态图是否有用,但是如果它可以帮助您更好地理解任何内容,请告诉我。提前谢谢!

0 个答案:

没有答案