FPGA综合工具--Synplify Pro的常用选项及命令

最近要用到Synplify,但以前没使用过,无基础,找到一篇帖子,隧保存下来。

本文转自:http://blog.sina.com.cn/s/blog_65fe490d0100v8ax.html

Synplify 使用过程中最常用的选项及命令的介绍。
一、 状态机相关
(1)FSM Compiler Option
  FSM Compiler是一个全局选项。勾选此选项之后Synplify Pro会自动检测代码中的状态机,根据状态数量的不同选择不同的编码方式。状态数量在0~4之间采用顺序编码(Sequential),状态数量在5~40之间采用独热码(One hot),状态数量在40以上采用格雷码(Gray)。对状态机状态进行“可到达分析”,优化掉无法到达的状态和无法执行到的语句。
(2)FSM Explorer Option
  它是FSM Compiler的一个子选项,勾选FSM Explorer则FSM Compiler也会被自动选中。勾选FSM Explorer会影响状态机的编码方式,它对每一个检测到的状态机尝试三种不同的编码方式之后选择最优的编码方式。
(3)Syn_state_machine Directive
  与FSM Compiler的不同之处在于FSM Compiler是全局选项,而syn_state_machine Directive是局部指令,使用方法如下:
  reg   [7:0]    curr_state    /* synthesis syn_state_machine=1 */;
  如果我们希望某一部分代码按状态机综合但是我们没有勾选FSM Compiler选项或者FSM Compiler没有将它视为状态机,则可以使用上述代码描述将其指定为状态机。同样,也可以将其指定为“非状态机”。
(4)Syn_encoding Attribute
  BTW:Attribute和Directive的区别在于Attribute是“综合时作用”,而Directive是“编译时作用”;Attribute和工艺(如ALTERA或XILINX,或同一厂家不同系列)相关,而Directive和工艺无关。
  Syn_encoding Attribute的使用方法如下:
    reg   [7:0]    curr_state    /* synthesis syn_encoding=”safe,gray” */;
  Syn_encoding Attribute可选的值有“onehot”,“gray”,“sequential”,“safe”,“original”。强烈建议对每一个状态机使用“safe”,它可以在状态机受到扰动进入非法状态时自动将其复位到一个有效的状态,避免状态机“死机”。
二、 面积和速度优化
(1)Resource Sharing Option
  是一个全局选项,勾选此选项则允许编译器共用互相排斥语句中的算术单元,常用于加法器、减法器等,有时对Reg/LUT也会略有减少。
(2)Pipelining Option & Retiming Option
  它们都是全局选项。若选中Retiming则Pipelining会自动被选中。Pipelining只改变寄存器的位置,通过移动寄存器的位置优化寄存器之间的组合逻辑级数,达到优化时序的目的。而Retiming不仅改变寄存器的位置还可能改变寄存器的数量。值得注意的是,它在改变寄存器数量时不会改变寄存器的级数,确保设计者预期的逻辑功能不被改变。
(3)Fanout Guide – one of the Device Mapping Options
  Fanout Guide是全局选项,默认一般为10000,如果设计中有较多单元fanout太大导致最终实现时序难收敛,可以视情况设置。减小扇出则Synplify Pro会自动使用更多的逻辑资源来进行逻辑复制。
(4)Syn_maxfan Attribute
  Syn_maxfan是局部属性。它可以用来改变特定单元的扇出,优先级高于全局Fanout Guide选项。下面是一个使用Syn_maxfan attribut的例子:
  reg   [31:0]    data_out    /* synthesis syn_maxfan=10 */;
三、 其他常用选项及命令
(1)Translate_off/translate_on Directive
  Translate_off/translate_on必须成对出现。Translate_off之后的语句将在综合过程中被跳过,直到translate_on出现。
  Translate_off/translate_on常用于在综合时自动屏蔽仿真需要的语句。以下是一个使用translate_off/translate_on的例子:
    //synthesis translate_off
      `define SIM_ON
    //synthesis translate_on
(2)Syn_black_box Directive
  Syn_black_box指令用来将特定模块当成黑盒综合。不论该模块内容是否为空,但要求模块接口已经定义好。
(3)Syn_keep/syn_preserve/syn_noprune Directive
  Syn_preserve用来保留寄存器,综合工具可能优化掉同样输入或扇出为0的寄存器,使用syn_preserve可以保留它们。
  Syn_keep用来保留连线或组合逻辑。
  Syn_noprune用来保留一个black box,如果一个black box的输出扇出为0,则该黑盒可能会被优化掉,使用syn_noprune可以保护它不被优化掉。
(4)Syn_useioff Attribute (Technology related)
  Syn_useioff attribute用来将输入输出寄存器置入FPGA的IO寄存器。它可以对输入输出管脚、输出寄存器或工程的顶层设置。
  Syn_useioff attribute和工艺相关性较大,使用时需确认所用FPGA器件是否支持该属性。同时,该属性只是“尽力而为”,并不能保证最终结果一定符合设计者意图,强烈建议最终实现后在ISE/Quartus II中检查确认。
(5)Syn_probe Attribute
  Syn_probe attribute 可以用来方便测试。对一个内部寄存器使用syn_probe后,它在综合出的网表中成为顶层端口。若不使用该属性,则可能需要逐级修改设计文件(HDL代码)将内部寄存器连接到顶层。

时间: 2024-12-15 04:34:47

FPGA综合工具--Synplify Pro的常用选项及命令的相关文章

rsync工具的介绍与常用选项,rsync通过ssh同步

rsync工具介绍 一个系统管理员,数据备份是必不可少,在Linux系统下数据备份的工具很多,其中重点介绍就是rsync工具,rsync不仅可以远程同步数据,还可以本地同步数据,且不会覆盖以前的数据在已经存在的数据情况下,而是先判断已经存在的数据和新的数据差异,只有不同的时候才会把不同的部分覆盖. 以下举个例子: [[email protected] ~]# rsync -av /etc/passwd /tmp/1.txtsending incremental file listpasswd s

三十五、 rsync工具介绍、rsync常用选项、rsync通过ssh同步

三十五. rsync工具介绍.rsync常用选项.rsync通过ssh同步 一.rsync工具 数据备份,很重要. rsync工具:数据备份的工具.remote sync(远程同步) rsync可以远程同步数据(类似scp),也可以本地同步数据(类似cp). 不同于cp或scp的是,它不会覆盖以前的数据(当数据已存在),而是先判断已存在的数据和新数据的差异,只有数据不同时才会把不同的部分覆盖. 若没有rsync命令,就yum install -y rsync安装. # rsync -av /et

Linux centos7 rsync工具介绍、rsync常用选项、rsync通过ssh同步

一.rsync工具介绍 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了--remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用"rsync"算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上.如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分.rsync可以执行完整备份或增量备份.它的主要特点有: 1.可以镜像保存整个目录树和文件系统: 2.可

rsync工具介绍、rsync常用选项、rsync通过ssh同步

rsync工具介绍 rsync同步工具(可以实现把一个文件拷贝到另一台机器,或者另一个目录,类似于cp命令但是又不同,当需要同步的源新增加了东西,可以只同步新增加的文件,而不需要整个覆盖.) 把/etc/passwd拷贝到tmp目录下并改名1.txt如下(其中选项a包含了很多选项,v是可视化.)rsync -av /etc/passwd /tmp/1.txt 把passwd拷贝到如下ip的一台机器的root用户下的tmp目录,并改名1.txt,之后需要输入对方密码.(不加用户名默认就是当前的用户

10.28 rsync工具介绍 - 10.29/10.30 rsync常用选项 - 10.31 rsync通过ssh同步

- 10.28 rsync工具介绍 - 10.29/10.30 rsync常用选项 - 10.31 rsync通过ssh同步 # 10.28 rsync工具介绍 -/A目录 --> /B目录(A目录更新了一个文件,每次更新都需要把A目录拷贝到B目录),如果用cp命令 比较浪费时间,耗费磁盘空间,磁盘压力 读写之类的, -使用rsync -av /etc/passwd /tmp/1.txt -a选项就是包含了好几个选项  ,v 是可视化,可以看到拷贝的过程 ``` [[email protecte

rsync工具的常用选项、ssh同步介绍

1. rsync工具介绍 rsync是数据备份工具(字面意思可以理解为远程同步),不仅可以远程同步数据,而且可以本地同步数据(类似与cp),但不同于cp或scp的一点是,它不会覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖. 安装rsync命令:#yum install -y rsync 讲解rsync的用法 举例将/etc/passwd同步到/tmp/目录下,并改名为1.txt,操作如下: # rsync -av /etc/pa

八周二次课(1月30日) 10.28 rsync工具介绍 10.29/10.30 rsync常用选项 10.31 rsync通过ssh同步

八周二次课(1月30日)10.28 rsync工具介绍10.29/10.30 rsync常用选项10.31 rsync通过ssh同步===================================================================================================================================================================rsync命令:是一个远程数据同步工具,可

10.28 rsync工具介绍 10.29/10.30 rsync常用选项 10.31 rsync通

八周二次课 10.28 rsync工具介绍 10.29/10.30 rsync常用选项 10.31 rsync通过ssh同步 10.28 rsync工具介绍 10.29/10.30 rsync常用选项 设置rsync Rsync 进行同步 删除多余文件 排除掉*.txt的文件 参数:-P 参数:-u 10.31 rsync通过ssh同步 原文地址:http://blog.51cto.com/wbyyy/2067136

10.28-10.29 rsync工具介绍及常用选项,rsync通过ssh同步

八周二次课(3月27日) 10.28 rsync工具介绍 10.29/10.30 rsync常用选项 10.31 rsync通过ssh同步 10.28 rsync工具介绍 Linux文件同步工具-rsync 此工具很重要,以后可能每天都需要用到.要熟悉熟练使用. 备份方式 本地备份,把数据从A的C目录传输到A的C目录.类似于cp,但是跟cp不一样. 远程备份,把数据从A传输到B上. 本地备份 rsync -av /etc/passwd /tmp/1.txt 远程备份 rsync -av /tmp