状态机“毛刺”的产生及消除方法
[09-12 18:35:29] 来源:http://www.88dzw.com EDA/PLD 阅读:8340次
文章摘要:消除状态机输出信号的“毛刺”一般可采用三种方案:(1)调整状态编码,使相邻状态间只有1位信号改变,从而消除竞争冒险的发生条件,避免了毛刺的产生。常采用的编码方式为格雷码。它适用于顺序迁移的状态机。(2)在有限状态机的基础上采用时钟同步信号,即把时钟信号引入组合进程。状态机每一个输出信号都经过附加的输出寄存器,并由时钟信号同步,因而保证了输出信号没有毛刺,如图3所示。这种方法存在一些弊端:由于增加了输出寄存器,硬件开销增大,这对于一些寄存器资源较少的目标芯片是不利的;从状态机的状态位到达输出需要经过两级组合逻辑,这就限制了系统时钟的最高工作频率;由于时钟信号将输出加载到附加的寄存器上,所以在输出
状态机“毛刺”的产生及消除方法,标签:eda技术,eda技术实用教程,http://www.88dzw.com消除状态机输出信号的“毛刺”一般可采用三种方案:
(1)调整状态编码,使相邻状态间只有1位信号改变,从而消除竞争冒险的发生条件,避免了毛刺的产生。常采用的编码方式为格雷码。它适用于顺序迁移的状态机。
(2)在有限状态机的基础上采用时钟同步信号,即把时钟信号引入组合进程。状态机每一个输出信号都经过附加的输出寄存器,并由时钟信号同步,因而保证了输出信号没有毛刺,如图3所示。这种方法存在一些弊端:由于增加了输出寄存器,硬件开销增大,这对于一些寄存器资源较少的目标芯片是不利的;从状态机的状态位到达输出需要经过两级组合逻辑,这就限制了系统时钟的最高工作频率;由于时钟信号将输出加载到附加的寄存器上,所以在输出端得到信号值的时间要比状态的变化延时一个时钟周期。
(3)直接把状态机的状态码作为输出信号,即采用状态码直接输出型状态机,使状态和输出信号一致,使得输出译码电路被优化掉了,因此不会出现竞争冒险。这种方案,占用芯片资源少,信号与状态变化同步,因此速度快,是一种较优方案。但在设计过程中对状态编码时可能增加状态向量,出现多余状态。虽然可用CASE语句中WHENOTHERS来安排多余状态,但有时难以有效控制多余状态,运行时可能会出现难以预料的情况。因此它适用于状态机输出信号较少的场合。
若对ADC0809的采样控制采用状态码直接输出型状态机方案,其主要程序如下:
begin
lock<=lock1;
process(current_state,eoc)
begin
case current_state IS
when st0 => next_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_state <=st6;
when st6 => next_state <=st0;
when thers=> 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 (clk’event and clk =‘1’) then
current_state <=next_state;
end if ;
end process ;
process (lock1)
if lock1=‘1’ and lock1’event then
regl<=d ;
end if ;
end process ;
q<=regl;
……
在数字系统设计中状态机不仅很好地解决了系统的控制问题,而且性能灵活。但由于其输出信号有产生毛刺的可能,为避免造成系统工作混乱,必须针对不同的情况采取适当措施来消除毛刺。
- 上一篇:基于FPGA的图像调焦系统研究
《状态机“毛刺”的产生及消除方法》相关文章
- › 状态机“毛刺”的产生及消除方法
- › 状态机思路在单片机程序设计中的应用
- › 用STATECAD快速设计有限状态机
- 在百度中搜索相关文章:状态机“毛刺”的产生及消除方法
- 在谷歌中搜索相关文章:状态机“毛刺”的产生及消除方法
- 在soso中搜索相关文章:状态机“毛刺”的产生及消除方法
- 在搜狗中搜索相关文章:状态机“毛刺”的产生及消除方法