多状态机的协同设计

多状态机的协同设计

ID:24438045

大小:51.00 KB

页数:4页

时间:2018-11-14

多状态机的协同设计_第1页
多状态机的协同设计_第2页
多状态机的协同设计_第3页
多状态机的协同设计_第4页
资源描述:

《多状态机的协同设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、多状态机的协同设计

2、第1内容加载中... 随着微电子技术的迅速发展,人们对数字系统的需求也在提高[1]。不仅要有完善的功能,而且对速度也提出了很高的要求。对于大部分数字系统,都可以划分为控制单元和数据单元两个组成部分。通常,控制单元的主体是一个有限状态机,它接收外部信号以及数据单元产生的状态信息,产生控制信号序列。有限状态机设计的关键是如何把一个实际的时序逻辑关系抽象成一个时序逻辑函数,传统的电路图输入法通过直接设计寄存器组来实现各个状态之间的转换,而用硬件描述语言来描述有限状态机,往往是通过充分发

3、挥硬件描述语言的抽象建模能力,通过对系统在系统级或寄存器传输级进行描述来建立有限状态机。EDA工具的快速发展,使通过CAD快速设计有限状态机自动化成为可能。传统上在系统级和寄存器传输级完成VHDL的描述主要分以下几步:(1)分析控制器设计指标,建立系统算法模型图;(2)分析被控对象的时序状态,确定控制器有限状态机的各个状态及输入.输出条件;(3)应用VHDL语言完成描述。使用XILINX的ISE6.1软件包的辅助工具STATECAD能加速有限状态机设计,大大简化状态机的设计过程,实现状态机设计的自动

4、化。使用STATECAD进行状态机设计的流程如下:(1)分析控制器设计指标,建立系统算法模型图;(2)分析被控对象的时序状态,确定控制器有限状态机的各个状态及输入.输出条件;(3)在STATECAD中输入有限状态机状态图,自动产生VHDL模型描述,使用STATEBENCH进行状态转移分析,分析无误后使用导出VHDL模型块到ISE中进行仿真后综合,实现到CPLD或FPGA的映射。设计人员的主要工作在第一步。第二步,第三步基本上可以通过STATECAD完成有限状态机的自动生成和分析,还可以利用分析结果来

5、对被控对象的逻辑进行分析,改进,完善系统控制逻辑。在需要并行处理的场合,往往需要采用多状态机来完成系统的控制任务,这时状态机之间的同步问题往往是设计者需要仔细考虑的问题。如果采用完全人工输入代码的方法来设计,往往力不从心。采用STATECAD完成整个控制逻辑的设计并对设计结果进行验证更能体现CAD设计方法的优势,加速产品开发进度,提高设计生产率。下面以一个双状态机设计过程来介绍如何使用STATECAD进行多状态机的协同设计。有二个状态机,一个负责对M0写,一个负责对M0读操作,为了简单起见,系统已经

6、尽量简化了。负责对M0写的状态机包括四个状态:STATE0:写状态机复位后初始化;0full;m0full:M0满状态;m00emptym0empty:M0空状态m0read0空时转入read0状态负责对M0写的状态机必须知道M0是空的,而负责对M0读的状态机必须知道M0是满的才能读。读完了通知负责对M0写的状态机M0是空的,可以写了。二个状态机同时并行工作。M0写的状态机在写操作完了,就等待M0空。M0读的状态机在读操作完了,就等待M0满。在STATECAD中,状态本身可以作为其他状态机的转移条件

7、。这也正是在进行多状态机的协同设计中最需要的功能,能大大方便多状态机的设计。输入完状态图,就基本完成了状态机的设计过程。进行逻辑优化(工具自动进行逻辑优化)后,使用STATEBENCH进行状态转移分析。以下是自动状态转移模拟波形。由以上的波形看到状态机的工作过程符合设计逻辑。对单独的器件操作也许不需要采用多状态机的设计方法,但在多器件需要并行工作时,多状态机的协同设计就显得必要了。导出VHDL模型块到ISE中进行仿真后综合,这里就不多讲了,以下是产生的代码:--D:XILINXTUTORIALDUO

8、ZTJI.vhd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。