用STATECAD快速设计有限状态机

[11-20 16:12:53]   来源:http://www.88dzw.com  FPGA   阅读:8911

文章摘要:综合以上的模拟波形结果,可以看到状态机安装指定的状态转移图工作。导出VHDL模型块到ISE中进行仿真后综合后可以适配到XC9536-5-PC44芯片,适配结果如下:宏模块使用 Pterms Used 寄存器使用情况 引脚使用情况 IOB使用情况9/36 (25%) 37/180 (21%) 9/36 (25%) 13/34 (39%) 11/72 (16%)进行引脚锁定后就可以进行编程。 代码如下:-- D:\XILINXTUTORIAL\VCRSTATE.vhd-- VHDL code created by Xilinx's StateCAD 6.1iLIBRARY i

用STATECAD快速设计有限状态机,标签:fpga是什么,fpga教程,http://www.88dzw.com

综合以上的模拟波形结果,可以看到状态机安装指定的状态转移图工作。
导出VHDL模型块到ISE中进行仿真后综合后可以适配到XC9536-5-PC44芯片,适配结果如下:

宏模块使用 Pterms Used 寄存器使用情况 引脚使用情况 IOB使用情况
9/36  (25%) 37/180  (21%) 9/36  (25%) 13/34  (39%) 11/72  (16%)

进行引脚锁定后就可以进行编程。
代码如下:
--  D:\XILINXTUTORIAL\VCRSTATE.vhd
--  VHDL code created by Xilinx's StateCAD 6.1i

LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY VCRSTATE IS
 PORT (CLK,PLAYSWITCH,POWERSWITCH,RECORDSWITCH,RESET,STOPSWITCH: IN std_logic ;
  PLAYLED,POWERLED,RECORDLED : OUT std_logic);
END;

ARCHITECTURE BEHAVIOR OF VCRSTATE IS
 TYPE type_sreg IS (OFF,PLAY,POWERON,RECORDING);
 SIGNAL sreg, next_sreg : type_sreg;
 SIGNAL next_PLAYLED,next_POWERLED,next_RECORDLED : std_logic;
BEGIN
 PROCESS (CLK, RESET, next_sreg, next_PLAYLED, next_POWERLED, next_RECORDLED)
 BEGIN
  IF ( RESET='1' ) THEN
   sreg <= OFF;              PLAYLED <= '0';
   POWERLED <= '0';             RECORDLED <= '0';
  ELSIF CLK='1' AND CLK'event THEN
   sreg <= next_sreg;             PLAYLED <= next_PLAYLED;
   POWERLED <= next_POWERLED;  RECORDLED <= next_RECORDLED;
  END IF;
 END PROCESS;

 PROCESS (sreg,PLAYSWITCH,POWERSWITCH,RECORDSWITCH,STOPSWITCH)
 BEGIN
  next_PLAYLED <= '0'; next_POWERLED <= '0'; next_RECORDLED <= '0';
  next_sreg<=OFF;
  CASE sreg IS
   WHEN OFF =>
    IF ( POWERSWITCH='1' ) THEN
     next_sreg<=POWERON; next_POWERLED<='1';
     next_PLAYLED<='0'; next_RECORDLED<='0';
     ELSE
     next_sreg<=OFF;  next_POWERLED<='0';
     next_PLAYLED<='0'; next_RECORDLED<='0';
    END IF;
   WHEN PLAY =>
    IF ( POWERSWITCH='1' AND STOPSWITCH='0' ) THEN
     next_sreg<=PLAY;    next_POWERLED<='1';
     next_PLAYLED<='1'; next_RECORDLED<='0';
    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;

上一页  [1] [2] [3]  下一页


Tag:FPGAfpga是什么,fpga教程FPGA

《用STATECAD快速设计有限状态机》相关文章

分类导航
最新更新
热门排行