首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   用STATECAD快速设计有限状态机      ★★★ 【字体: 】  
用STATECAD快速设计有限状态机
收集整理:佚名    来源:本站整理  时间:2009-01-10 22:25:48   点击数:[]    

[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持]
数字系统通常划分为信息处理单元和控制单元。信息单元主要进行信息的传输和运算, 而控制单元的主要任务是控制信息处理单元的微操作的顺序。控制单元的实现方式有: 有限状态机、控制寄存器和微代码控制器等。有限状态机在时间尺度上对其控制信号进行离散化控制, 利用状态转移使控制信号在有限状态机的状态节拍控制下变化, 以实现对被控对象的控制。有限状态机设计的关键是如何把一个实际的时序逻辑关系抽象成一个时序逻辑函数,传统的电路图输入法通过直接设计寄存器组来实现各个状态之间的转换, 而用硬件描述语言来描述有限状态机, 往往是通过充分发挥硬件描述语言的抽象建模能力,通过对系统在系统级或寄存器传输级进行描述来建立有限状态机。EDA 工具的快速发展,使通过CAD快速设计有限状态机自动化成为可能。

传统上在系统级和寄存器传输级完成VHDL 的描述主要分以下几步:

(1) 分析控制器设计指标, 建立系统算法模型图;
(2) 分析被控对象的时序状态, 确定控制器有限状态机的各个状态及输入.输出条件;
(3) 应用VHDL 语言完成描述。

使用XILINX的ISE6.1软件包能加速有限状态机设计,大大简化状态机的设计过程,实现状态机设计的自动化。下面分析二个简单的状态机设计实例来介绍使用ISE6.1软件包中STATECAD来介绍快速设计有限状态机的方法。使用STATECAD进行状态机设计的流程如下:

(1) 分析控制器设计指标, 建立系统算法模型图;
(2) 分析被控对象的时序状态, 确定控制器有限状态机的各个状态及输入.输出条件;
(3) 在STATECAD中输入有限状态机状态图,自动产生VHDL模型描述,使用STATEBENCH进行状态转移分析,分析无误后使用导出VHDL模型块到ISE中进行仿真后综合,实现到CPLD或FPGA的映射。

设计人员的主要工作在第一步。第二步,第三步基本上可以通过STATECAD完成有限状态机的自动生成和分析,还可以利用分析结果来对被控对象的逻辑进行分析,改进,完善系统控制逻辑。

下面以一个VCR控制机状态机设计过程来介绍如何使用STATECAD设计状态机。
VCR控制机描述:

外部输入:
1.POWERSWITCH---------电源开关
2.STOP----------------停按钮
3.PLAY――――――――播放按钮
4.RECORD―――――――录影按钮

输出状态:
1. 有电显示:电源指示灯亮,播放指示灯灭,录影指示灯灭;
2. 按播放按钮,进入播放状态,播放指示灯亮,电源指示灯亮,录影指示灯灭;按停按钮,退出播放状态回到有电状态,播放指示灯灭,电源指示灯亮,录影指示灯灭;
3. 按录影按钮,进入录影状态,录影指示灯亮;按停按钮,退出录影状态回到有电状态;电源指示灯亮,播放指示灯灭,录影指示灯灭;
4. 电源开关断开,电源指示灯灭,播放指示灯灭,录影指示灯灭;

打开STATECAD,输入如下的状态图:

进行逻辑优化(工具自动进行逻辑优化)后,使用STATEBENCH进行状态转移分析。以下是自动状态转移模拟波形。

也可以进行行为状态模拟:如以下动作的模拟波形,按电源开关上电,按播放按钮,按播放按钮,按停按钮,按录影按钮,按停按钮,电源开关断电。

综合以上的模拟波形结果,可以看到状态机安装指定的状态转移图工作。
导出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

[1] [2]  下一页


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:基于FPGA的多路脉冲重复频率跟踪器

  • 下一篇文章:Protel软件在高频电路布线中的技巧
  • 返回上一页】【打 印】【关闭窗口
    中查找“用STATECAD快速设计有限状态机”更多相关内容 5VAR论文频道
    中查找“用STATECAD快速设计有限状态机”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››用STATECAD快速设计有限状态机
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .