新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于RTL综合策略的状态机优化方案

基于RTL综合策略的状态机优化方案

作者: 时间:2012-01-04 来源:网络 收藏

  

  图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 结束语

  采用本文介绍的优化策略,在不改变源代码的前提下,较之标准编译过程可以有效地提高状态机的性能。但因为在优化过程中特别是手动优化过程中对状态重新进行了编码,如果新的编码与原来的编码不一致,会导致逻辑错误,所以在使用这一策略时还要辅以其他手段进行逻辑验证。


上一页 1 2 下一页

关键词: RTL 策略 方案

评论


相关推荐

技术专区

关闭