标签:fpga是什么,fpga教程,fpga培训,http://www.5idzw.com
用STATECAD快速设计有限状态机,http://www.5idzw.com
next_PLAYLED<='0'; next_RECORDLED<='0';
END IF;
WHEN POWERON =>
IF ( POWERSWITCH='0' ) THEN
next_sreg<=OFF; next_POWERLED<='0';
next_PLAYLED<='0'; next_RECORDLED<='0';
ELSIF ( RECORDSWITCH='1' ) THEN
next_sreg<=RECORDING; next_POWERLED<='1';
next_PLAYLED<='0'; next_RECORDLED<='1';
ELSIF ( PLAYSWITCH='1' ) THEN
next_sreg<=PLAY; next_POWERLED<='1';
next_PLAYLED<='1'; next_RECORDLED<='0';
ELSE
next_sreg<=POWERON; next_POWERLED<='1';
next_PLAYLED<='0'; next_RECORDLED<='0';
END IF;
WHEN RECORDING =>
IF ( POWERSWITCH='1' AND STOPSWITCH='0' ) THEN
next_sreg<=RECORDING; next_POWERLED<='1';
next_PLAYLED<='0'; next_RECORDLED<='1';
END IF;
IF ( POWERSWITCH='0' ) THEN
next_sreg<=OFF; next_POWERLED<='0';
next_PLAYLED<='0'; next_RECORDLED<='0';
END IF;
IF ( STOPSWITCH='1' AND POWERSWITCH='1' ) THEN
next_sreg<=POWERON; next_POWERLED<='1';
next_PLAYLED<='0'; next_RECORDLED<='0';
END IF;
WHEN OTHERS =>
END CASE;
END PROCESS;
END BEHAVIOR;
next_PLAYLED<='0'; next_RECORDLED<='0';
END IF;
WHEN POWERON =>
IF ( POWERSWITCH='0' ) THEN
next_sreg<=OFF; next_POWERLED<='0';
next_PLAYLED<='0'; next_RECORDLED<='0';
ELSIF ( RECORDSWITCH='1' ) THEN
next_sreg<=RECORDING; next_POWERLED<='1';
next_PLAYLED<='0'; next_RECORDLED<='1';
ELSIF ( PLAYSWITCH='1' ) THEN
next_sreg<=PLAY; next_POWERLED<='1';
next_PLAYLED<='1'; next_RECORDLED<='0';
ELSE
next_sreg<=POWERON; next_POWERLED<='1';
next_PLAYLED<='0'; next_RECORDLED<='0';
END IF;
WHEN RECORDING =>
IF ( POWERSWITCH='1' AND STOPSWITCH='0' ) THEN
next_sreg<=RECORDING; next_POWERLED<='1';
next_PLAYLED<='0'; next_RECORDLED<='1';
END IF;
IF ( POWERSWITCH='0' ) THEN
next_sreg<=OFF; next_POWERLED<='0';
next_PLAYLED<='0'; next_RECORDLED<='0';
END IF;
IF ( STOPSWITCH='1' AND POWERSWITCH='1' ) THEN
next_sreg<=POWERON; next_POWERLED<='1';
next_PLAYLED<='0'; next_RECORDLED<='0';
END IF;
WHEN OTHERS =>
END CASE;
END PROCESS;
END BEHAVIOR;
整个状态机实现过程比相当简单。快捷。有效。
,用STATECAD快速设计有限状态机
上一篇:多状态机的协同设计