消除状态机毛刺策略探讨_第1页
消除状态机毛刺策略探讨_第2页
消除状态机毛刺策略探讨_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    消除状态机毛刺策略探讨        鲁 玲, 刘大年 时间:2008年04月01日     字 体: 大 中 小        关键词:        摘要:关键词: 有限状态机 VHDL? 毛刺随着EDA技术的高速发展, 以大规模和超大规模器件FPGA/CPLD为载体

2、、以VHDL(硬件描述语言)为工具的电子系统设计越来越广泛。有限状态机(简称状态机)作为数字系统控制单元的重要设计方案之一,无论与基于VHDL语言的其他设计方案相比,还是与可完成相似功能的CPU设计方案相比,在运行速度的高效、执行时间的确定性和高可靠性方面都显现出强大的优势。因此状态机在数字电子系统设计中的地位日益凸显。1 状态机“毛刺”的产生?因为Moore型状态机的输出信号来自组合逻辑输出译码器,输出信号中带有“毛刺”,且引起了输出信号Q的误动作,结果从其仿真时序图中可以发现。2 毛刺的消除(3)直接把状态机的状态码作为输出信号,即采用状态码直接输出型状态机,使状态和输出信号一致,使得输出

3、译码电路被优化掉了,因此不会出现竞争冒险。这种方案,占用芯片资源少,信号与状态变化同步,因此速度快,是一种较优方案。但在设计过程中对状态编码时可能增加状态向量,出现多余状态。虽然可用CASE语句中WHENOTHERS来安排多余状态,但有时难以有效控制多余状态,运行时可能会出现难以预料的情况。因此它适用于状态机输出信号较少的场合。若对ADC0809的采样控制采用状态码直接输出型状态机方案,其主要程序如下:beginlock<=lock1;process(current_state,eoc) begin? case? current_state ISwhen? st0? =>? nex

4、t_state <=st1;when? st1? =>? next_state <=st2; when? st2? =>? next_state <=st3;? when st3 =>? if (eoc =1)then? next_state <=st3; else? next_state <=st4;end? if;when? st4? =>? if (eoc =0)then? next_state<=st4;else? next_state <=st5; end? if;when? st5? =>? next_stat

5、e <=st6;? when? st6? =>? next_state <=st0; when? others=>? next_state <=st0; end? case;out4<=current_state(5 downto 2);ale<=current_state(5); start <=current_state(4);oe<=current_state(3); lock1<=current_state(2);end? process;process(clk)? begin if? (clkevent? and? clk =1)? thencurrent_state <=next_state; ? end? if ;end? process ;process (lock1)? if? lock1=1 and lo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论