您的位置 首页 测评

针对状态机的归纳优化战略

状态机性能的好坏对系统性能有较大的影响。良好的状态机的实现不仅与状态机的设计有关,而且与采用的综合策略密切相关,不同的综合策略对最终实现的状态机的性能有很大的影响。

有限状况机及其规划技能是数字体系规划中的重要组成部分,是完结高效率、高可靠性逻辑操控的重要途径。大部分数字体系都能够区分为操控单元和数据单元两个组成部分。一般,操控单元的主体是一个状况机,它接纳外部信号以及数据单元发生的状况信息,发生操控信号序列。状况机功能的好坏对体系功能有较大的影响。杰出的状况机的完结不只与状况机的规划有关,并且与选用的归纳战略密切相关,不同的归纳战略对终究完结的状况机的功能有很大的影响。

  Synopsys公司的DC (Design Compiler,规划编译程序)供给了针对状况机的归纳优化战略,这个进程既能够彻底主动进行,也能够手艺进行。本文论说了两种归纳战略的完结。

  1 状况机的根底描绘

  从数学的视点看,有限状况机能够表明为一个五元组M = (I, O, S,δ,λ) 。其间: I和O 别离表明输入、输出量; S 为状况向量;δ为次态方程(δ: S ×I) ;λ为输出方程(λ: S ×I) 。

  从实践状况机的完结视点动身,依据输出方程,有限状况机能够分为3类:

  a) 输出是状况向量和输入的函数———Mealy型状况机(λ: S ×I →O ) ;

  b) 输出仅是状况向量的函数———Moore 型状况机(λ: S →O ) ;

  c) 输出等于状况向量———状况输出型状况机(λ: S = O ) 。

  在实践中最常用的状况机是Mealy型和Moore型状况机。

  从电路的视点看,有限状况机是由触发器、寄存器和组合逻辑组合成的体系,图1展现了有限状况机的一般结构:一组保存状况向量的触发器,发生次状况和输出的组合逻辑。

图1 有限状况机一般结构

  1.1 状况表

  为了选用DC的有限状况机优化战略,有必要首先把原始的状况机转化为用DC状况表描绘的格局,这种转化能够主动完结,也能够手动完结。Synopsys的状况表供给了一种简略的、独立于工艺的有限状况机描绘方法。下面是一个状况表的比如

  # State table body

  Input PresentNextOutput

  Value State State Values

  0 RESET RESET 00

  1 RESET STATE1 01

  0 STATE1 RESET 10

  1 STATE1 STATE1 11

  # Preferred state encoding

  .encoding

  RESET 2#00

  STATE1 2#01

  状况表的主体由行组成,每一行描绘状况机的一个特定的状况转化。每行有4列:输入值,当时态,次态,输出值。有的输入能够引发状况转化,有的则不会。从状况表能够很简单看出状况机的转化行为。状况表还能够包括一个可选的部分,用于给出首选的状况编码,这些状况编码能够以十进制、二进制或许十六进制给出。

  比如中的状况表包括: 1个输入; 2个状况,即RESET和STATE1; 4种输出,即RESET和STATE1别离编码为0 和1。RESET态只在输入为1 时转化到STATE1态,输出变为01,而STATE1态只在输入为0时转化到RESET态,输出变为10。

  比如中一切或许的输入输出和状况组合都被用到了,假如状况机用到的状况少于可用的编码,便能够创立只包括所需求运用的状况转化的状况表,其他未指明的状况则按不关心态处理。

  1.2 状况向量

  状况向量是描绘状况机的元素之一,是经过触发器实例称号的有序列表来指定的。指定的触发器存储了有序的位方法,这些位方法界说了有限状况机在任何给定时间的当时状况。一个特定的触发器位方法与一个状况相对应。例如, ff1、ff2、ff3是触发器的实例称号,则列表{ ff1 ff2 ff3}界说了一个3位的状况向量,这个状况向量能够表明不多于8个状况的有限状况机。

  1.3 状况编码

  状况编码是描绘状况机的另一个元素。有限状况机的状况编码用符号界说了状况机的一切合法状况的位编码。编码确认哪些状况向量的位方法代表合法状况,哪些位方法能够当作不关心态。不关心态进步了东西到达好的优化成果的或许性。大多数以HDL (硬件描绘言语)或状况表给出的规划,DC能够直接从代码中提取出状况编码。在东西不能得到状况编码时要运用指令set_fsm_encoding来手动树立状况编码。关于以其他方法给出的规划,有必要运用指令set_fsm_encoding手艺树立状况编码。

  1.4 编码风格

  DC在优化中能够运用one2hot (单状况) 、二进制、格雷码和主动编码4种类型中的一种来分配状况机的状况。不同的编码风格能够导致具有很大差异的优化成果。

  One2hot风格编码运用与状况机状况数持平的位来编码状况,每一个状况的编码只要1位是1,其他各位都是0,所以这种编码方法需求与状况数持平数目的触发器。这种编码方法简化了组合逻辑,能够获得最快的速度,但同时会大大添加规划的面积。二进制和格雷码编码方法依照必定的次序用二进制序列或许格雷码序列来表明状况机的状况,这两种编码方法能够下降所需的触发器的数目,但速度不及one2hot编码方法。主动编码方法运用一种随机的风格发生状况编码,这种编码能在运用最短编码长度的情况下最大极限地下降组合逻辑的复杂度。选用什么样的编码风格,要依据规划需求进行挑选。

  2 状况机优化战略及施行

  状况机的优化包括两步,首先是提取状况机逻辑,然后是优化依据内部状况表表明的状况机。这个进程既能够彻底主动进行,也能够手艺进行。主动优化战略需求DC2Ultra的许可证(license) ,手动优化战略需求DC2Expert的许可证。

  2.1 依据DC Ultra的主动优化战略

  主动优化战略由读和编译两个阶段组成。

  a) 读阶段:读进HDL或许以状况表描绘的规划;主动侦测状况机的触发器;标明状况机的状况向量和状况编码特性。

  b) 编译阶段:从头区分包括状况机的规划层次;从区分后的规划中提取状况机;确认编码风格;假如或许,减小转态数;分配状况;依据状况机的逻辑网表发生DC内部数据结构的状况分配;展平新创立的规划层次;持续其他DC优化进程。

  图2是主动优化的流程,其间列出了不同的可选指令,能够依据不同的规划进行取舍。

图2 依据DC Ultra的有限状况机主动优化流程

  2.2 依据DC2Expert的手动优化战略

  当输入规划文件不是以HDL描绘的,或许DC不能从HDL文件中主动识别出状况机时,就要选用手动优化战略。

  图3为手动优化战略的根本流程,其间展现了运用的指令、描绘状况机的状况表和网表之间的联系。

图3 FSM 手机优化指令算法

  从图3中能够看出,手动优化包括网表生成、状况表提取、依据状况表的优化和网表映射4 个阶段。Compile指令依据输入的HDL 文件生成网表, Extract指令依据网表生成状况表, Compile指令再依据状况机优化的状况表生成映射的网表。可选指令reduce_fsm和minimize_fsm依据状况表操作, reduce _fsm企图下降状况机相关的组合逻辑的复杂度, minimize_fsm则企图削减状况数目。

  手动优化包括如下进程:

  (b)将规划读入DC。

  假如规划不是以状况表格局给出的,按如下进程提取状况表:

  运转comp ile2map_effort low得到一个输入文件的网表;

  依据需求运用set_fsm_state_vector指定状况向量;

  运用group2fsm 将状况机逻辑区分到一个独自的模块,并将该模块设为当时规划;

  运用set_fsm_encoding分配状况机状况;

  运用extract从规划中提取状况机逻辑;

  依据需求运用reduce_fsm下降状况机相关的组合逻辑的复杂度;

  依据需求运用minimize_fsm,则企图削减状况数目;运用minimize_fsm,则企图削减状况数目。

  c) 依据需求选用恰当的指令,修正依据状况表的状况机的特点,如状况向量、状况编码、编码风格等。

  d) 指定电路级约束条件和特点。

  e) 编译整个规划。

图4是提取状况机的流程。

图5是依据状况表的优化流程。  

  3 应留意的问题

  并非一切的有限状况机都能够运用本文所介绍的优化战略,原始的规划文件应该满意下列条件:

  a) 一切的端口应该仅为输入或许输出端口,不支持输入输出端口。

  b) 当一个模块中有多个状况机时,每次编译时只能提取出1个状况机,而提取哪个状况机是随机的,所以引荐每个模块仅包括1个有限状况机。

  c) 状况机只能包括1个时钟。

  4 结束语

  选用本文介绍的优化战略,在不改动源代码的前提下,较之规范编译进程能够有效地进步状况机的功能。但由于在优化进程中特别是手动优化进程中对状况从头进行了编码,假如新的编码与本来的编码不一致,会导致逻辑过错,所以在运用这一战略时还要辅以其他手法进行逻辑验证。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/195567.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部