SYnOPSYS FPGA 合成 Synplify Pro Microsemi 版用户指南

FPGA 合成 Synplify Pro Microsemi 版

规格

  • 产品:Synopsys FPGA 合成 – Microsemi 的 Synplify Pro
  • 用户指南:2014 年 XNUMX 月
  • 版权所有:Synopsys, Inc.
  • 语言:英语
  • 原产国:美国

产品信息

Synopsys FPGA 合成 – Synplify Pro for Microsemi 版本
是一个全面的 FPGA 实现工具,具有各种
旨在帮助用户进行逻辑综合和设计的功能
流。

产品使用说明

第 1 章:简介

本章提供了view Synopsys FPGA 和
原型产品、FPGA 实施工具和 Synopsys FPGA
工具特点。

本文件的范围

该文件集包括产品功能的信息
适用于对 FPGA 合成和设计感兴趣的用户
流。

入门

要开始使用软件,请按照提供的说明启动它
说明并参阅用户指南以获取帮助。

用户界面结束view

熟悉用户界面,以便有效地
浏览软件功能。

第 2 章:FPGA 综合设计流程

本章详细介绍了 FPGA 逻辑综合设计流程
合成。

第 3 章:准备输入

了解如何使用混合语言源 File和增量
用于高效输入准备的编译器。

笔记: 请注意任何相关的限制
使用增量编译器。

常问问题

问:我可以复印该文件吗?

答:是的,许可协议允许复制以供内部使用
仅在适当注明来源的情况下使用。

问:如何启动该软件?

答:请参阅第 1 章“入门”部分。
用户指南提供了有关启动软件的详细说明。

问:本用户指南的目标读者是哪些人?

答:本用户指南面向对 FPGA 感兴趣的个人
综合和设计流程。

Synopsys FPGA 综合
Synplify Pro for Microsemi 版本
用户指南
2014年XNUMX月XNUMX日

版权声明和专有信息
版权所有 © 2014 Synopsys, Inc. 保留所有权利。本软件和文档包含机密和专有信息,属于 Synopsys, Inc. 所有。软件和文档根据许可协议提供,只能根据许可协议的条款使用或复制。未经 Synopsys, Inc. 事先书面许可或许可协议明确规定,不得以任何形式或任何手段(电子、机械、手动、光学或其他方式)复制、传播或翻译软件和文档的任何部分。
复制文件的权利
与 Synopsys 签订的许可协议允许被许可方复制该文档仅供内部使用。
每份副本均应包含所有版权、商标、服务标记和所有权声明(如果有)。被许可方必须为所有副本分配连续编号。这些副本的封面页应包含以下说明:
“本文件经 Synopsys, Inc. 许可复制,仅供 __________________________________________ 及其员工使用。此副本编号为 __________。”
目的控制语句
本出版物中包含的所有技术数据均受美国出口管制法律的约束。禁止向其他国家国民披露违反美国法律的信息。读者有责任确定适用的法规并遵守这些法规。
LO

© 2014 Synopsys, Inc. 2

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

免责声明
SYNOPSYS, INC. 及其许可人不对该材料作任何明示或暗示的保证,包括但不限于对适销性和针对特定用途的适用性的暗示保证。
注册商标 (®)
Synopsys、AEON、 AMPS、Astro、Behavior Extracting Synthesis Technology、Cadabra、CATS、Certify、CHIPit、CoMET、CODE V、Design Compiler、DesignWare、EMBED-IT!、Formality、Galaxy Custom Designer、Global Synthesis、HAPS、HapsTrak、HDL Analyst、HSIM、HSPICE、Identify、Leda、LightTools、MAST、METeor、ModelTools、NanoSim、NOVeA、OpenVera、ORA、PathMill、Physical Compiler、PrimeTime、SCOPE、Simply Better Results、SiVL、SNUG、SolvNet、Sonic Focus、STAR Memory System、Syndicated、Synplicity、Synplicity 徽标、Synplify、Synplify Pro、Synthesis Constraints Optimization Environment、TetraMAX、UMRBus、VCS、Vera 和 YIELDirector 是 Synopsys, Inc. 的注册商标。
商标 (TM)
AFGen、Apollo、ARC、ASAP、Astro-Rail、Astro-Xtalk、Aurora、AvanWaves、BEST、Columbia、Columbia-CE、Cosmos、CosmosLE、CosmosScope、CRITIC、CustomExplorer、CustomSim、DC Expert、DC Professional、DC Ultra、Design Analyzer、Design Vision、DesignerHDL、DesignPower、DFTMAX、Direct Silicon Access、Discovery、Eclypse、Encore、EPIC、Galaxy、HANEX、HDL Compiler、Hercules、分层优化技术、高性能 ASIC 原型设计系统、HSIMplus、i-Virtual Stepper、IICE、in-Sync、iN-Tandem、Intelli、Jupiter、Jupiter-DP、JupiterXT、JupiterXT-ASIC、Liberty、Libra-Passport、Library Compiler、Macro-PLUS、Magellan、Mars、Mars-Rail、Mars-Xtalk、 Milkyway、ModelSource、Module Compiler、MultiPoint、ORAengineering、Physical Analyst、Planet、Planet-PL、Polaris、Power Compiler、Raphael、RippledMixer、Saturn、Scirocco、Scirocco-i、SiWare、Star-RCXT、Star-SimXT、StarRC、System Compiler、System Designer、Taurus、TotalRecall、TSUPREM-4、VCSi、VHDL Compiler、VMC 和 Worksheet Buffer 是 Synopsys, Inc. 的商标。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 3

服务标记 (sm)
MAP-in、SVP Café 和 TAP-in 是 Synopsys, Inc. 的服务标志。SystemC 是 Open SystemC Initiative 的商标,经许可使用。ARM 和 AMBA 是 ARM Limited 的注册商标。Saber 是 SabreMark Limited Partnership 的注册商标,经许可使用。所有其他产品或公司名称可能是其各自所有者的商标。
2014 年 XNUMX 月在美国印刷

© 2014 Synopsys, Inc. 4

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

内容

第 1 章:简介
Synopsys FPGA 和原型产品 . ...
文件范围 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 21
入门.................... ... 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 22
用户界面结束view 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 24
第 2 章:FPGA 综合设计流程
逻辑综合设计流程 . ...
第 3 章:准备输入
设置 HDL 源 Files . ... Files . ... Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 编辑 HDL 源代码 File使用内置文本编辑器 . ... Files....................................................................................................................................................................................42
使用混合语言源 Files.......................................................................................................................................................................................................................44
使用增量编译器 . ...
使用结构化 Verilog 流程 . ...

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 5

使用约束 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 何时使用约束 File源代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 使用文本编辑器进行约束 Files(传统). . . . . . . . . . . . . . . . . . . . . . . . . . 54 Tcl 约束语法指南 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 检查约束 Files。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 56
第 4 章:设置逻辑综合项目
设置项目 Files.................... ... File .................... ... File .................................................................................................................................................................................................................................................................................................................................................................................................... 61 更改项目 .................................................................................................................................................................................................................................................................................................................. 62 设置项目 View 显示首选项 . ... Files....................................................................................................................................................65
管理项目 File 层次结构.............................................................................................................................................................................................................................................................................................................................................................................................................66 创建自定义文件夹..........................................................................................................................................................................................................................................................................................................................................................................................................................................................66 操作自定义项目文件夹..........................................................................................................................................................................................................................................................................................................................................................................................................69 . . XNUMX 操控自定义 Files。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 70
设置实施 . ...
设置逻辑综合实现选项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 指定全局频率和约束 Files . . . . . . . . . . . . . . . . . . . . . . . 80 指定结果选项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 指定时序报告输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 设置 Verilog 和 VHDL 选项 . . . . . . . . . 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 84
指定属性和指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 在约束中指定属性 File 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 97
搜索 Files.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................98 识别 Files 搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 过滤 File开始搜索....................................................................................................................................................................................................................................................................................................................................................................................................99 启动搜索....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................100 搜索结果.................... ... 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 100 低
归档 File和项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 101

© 2014 Synopsys, Inc. 6

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

复制项目.................... ...
第 5 章:指定约束
使用 SCOPE 编辑器 . ...
指定范围约束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 定义输入和输出约束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 指定标准 I/O 焊盘类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 使用 TCL View SCOPE GUI . ...
指定时序例外 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 定义虚假路径 . ...
使用 Tcl find 和 expand 查找对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 为 Tcl find 指定搜索模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 使用 -filter 优化 Tcl Find 结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 使用 Tcl Find 命令定义集合 . . . . ...
使用集合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 144 View使用 Tcl 命令管理并操作集合 . ...
将 SDC 转换为 FDC . ...
使用 SCOPE 编辑器(传统) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 输入和编辑 SCOPE 约束(传统) . . . . . . . . . . . . . . . . . . . . . . . 157 指定 SCOPE 时间约束(传统) . . . . . . . . . . . . . . . . . . . . . . . . . . 159 输入默认约束 . . . . . . . . . . . . . . . . . . . . . . . . . . 159 设置时钟和路径约束 . . . . . . . . . . . . . . . . . . . 159 定义时钟 . . . . . . . . . . . . . . . . . . . . . . 162 定义输入和输出约束(旧版) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 定义错误路径(旧版) . ...

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 7

第六章:综合和分析结果
综合您的设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
检查日志 File 结果..............................................................................................................................................................................................................................................................................................................179 View处理日志 File . ... File 报告....................................................................................................................................................................................................................................................189 使用监视窗口....................................................................................................................................................................................................................................................................................................................................................190 检查资源使用情况....................................................................................................................................................................................................................................................................................................................................................191
处理消息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 检查消息中的结果 View呃 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 在消息中过滤消息 Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 从命令行过滤消息 . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 使用 Tcl 脚本自动进行消息过滤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 日志 File 消息控制.................... ...
使用“发生错误时继续” . ...
第 7 章:使用 HDL Analyst 和 FSM 进行分析 Viewer
在原理图中工作 Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 区分 HDL 分析 Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 打开 View。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 View对象属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 在 RTL/技术中选择对象 Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 使用多页示意图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 在 View在原理图窗口中 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 设置原理图 View 首选项.......................................................................................................................................................................................................................................................................................................................219 管理 Windows.......................................................................................................................................................................................................................................................................................................................................................................................................................................221
探索设计层次结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 使用层次结构浏览器遍历设计层次结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... .... .... .... 222
查找对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 在 HDL Analyst 中浏览以查找对象 Views . . . . . . . . . . . . . . . . . . . . . . . . . 230 使用“查找”进行分层搜索和限制搜索 . . . . . . . . . . . . . . . . . . . . . . 232 在“查找”命令中使用通配符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

© 2014 Synopsys, Inc. 8

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

结合“查找”和“过滤”来优化搜索 . ...
交叉探测....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................243 在 RTL/技术内进行交叉探测 View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 从 RTL/技术进行交叉探测 View . . . . . . . . . . . . . . . . . . . . . . . . . . 244 从文本编辑器窗口进行交叉探测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 从 Tcl 脚本窗口进行交叉探测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 从 FSM 进行交叉探测 View呃。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 250
使用 HDL Analyst 工具进行分析 . ... View设计层次结构和上下文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 扩展和 View连接 . ...
使用有限状态机 View呃。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。第267章
第 8 章:分析时间
分析原理图中的时序 Views........................................................................................................................................................................................................................274 View注释时序信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 在原理图中注释时序信息 Views . . . . . . . . . . . . . . . . . . . . . 275 分析 RTL 中的时钟树 View 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 277 View关键路径 . ...
使用 STA 生成自定义时序报告 . ...
使用分析设计约束 . ... File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 在 adc 中正确使用对象名称 File . . . . . . . . . . . . . . . . . . . . . . . . . 290个
使用自动约束 . ...
第 9 章:推断高级对象
定义用于综合的黑盒 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 9

定义用于综合的状态机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 使用属性和指令指定 FSM . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
指定安全 FSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
自动 RAM 推断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
初始化 RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。第323章
第 10 章:指定设计级优化
优化提示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
重新定时....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................334 控制重新定时....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................334 重新定时 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。第336章
保护对象不被优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。第342章
优化扇出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 348
共享资源 ........................................................................................................................................................................................................................................ 352
插入 I/O . ...
优化状态机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 运行 FSM Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
插入探头 . ...

© 2014 Synopsys, Inc. 10

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

在源代码中指定探测器 . ...
第 11 章:使用编译点
编译点基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 高级tag编译点设计示例....................................................................................................................................................................................................366 手动编译点..................................................................................................................................................................................................................................................................368 嵌套编译点..................................................................................................................................................................................................................................................................................369 嵌套编译点..................................................................................................................................................................................................................................................................................................370 . ...
编译点综合基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 编译点约束 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
合成编译点 . ... File 编译点的定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... .... .... .... 388
将编译点与其他功能结合使用 . ...
逐步重新综合 . ...
第 12 章:使用 IP 输入
使用 SYNCore 生成 IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 使用 SYNCore 指定 FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 使用 SYNCore 指定 RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 使用 SYNCore 指定计数器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Synopsys FPGA IP 加密流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 结束view Synopsys FPGA IP 流程 . ...
使用加密 IP . ...

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 11

加密您的 IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 使用 encryptP1735.pl 脚本加密 IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 指定脚本输出方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 准备 IP 包 . ...
使用 Hyper Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 使用 Hyper Source 进行原型设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
第 13 章:优化流程以提高生产力
使用批处理模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 在项目上运行批处理模式 File . ...
使用 Tcl 脚本和命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 472 设置并行作业数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
使用 synhooks.tcl 自动化流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
第 14 章:使用多处理
使用编译点的多处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... .... .... 484
第 15 章:针对 Microsemi 设计进行优化
优化 Microsemi 设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 使用预定义 Microsemi 黑匣子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 使用 Smartgen 宏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
第 16 章:使用合成输出
将信息传递给 P&R 工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494

© 2014 Synopsys, Inc. 12

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

指定引脚位置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 指定 Microsemi 总线端口的位置 . ...
生成特定于供应商的输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...496
第 17 章:运行后综合操作
合成后自动运行 P&R . ...
使用识别工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
使用 VCS 工具进行模拟 . ...

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 13

© 2014 Synopsys, Inc. 14

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

第四章
介绍
Synplify Pro® 软件的简介描述了以下内容:
· Synopsys FPGA 和原型产品,第 16 页 · 文档范围,第 21 页 · 入门,第 22 页 · 用户界面view,第 24 页

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 15

第 1 章:简介

Synopsys FPGA 和原型产品

Synopsys FPGA 和原型产品
下图展示了 Synopsys FPGA 和原型设计系列产品。

© 2014 Synopsys, Inc. 16

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

Synopsys FPGA 和原型产品

第 1 章:简介

FPGA 实现工具
Synplify Pro 和 Synplify Premier 产品是专为 FPGA(现场可编程门阵列)和 CPLD(复杂可编程逻辑设备)设计的 RTL 综合工具。

Synplify Pro 合成软件
Synplify Pro FPGA 综合软件是生产高性能、高性价比 FPGA 设计的事实上的行业标准。其独特的
行为提取合成技术® (BEST) 算法,执行
在将 RTL 代码综合到特定 FPGA 逻辑之前,进行高级优化。这种方法可以实现 FPGA 的卓越优化、快速运行时间,并能够处理非常大的设计。Synplify Pro 软件支持最新的 VHDL 和 Verilog 语言结构,包括 SystemVerilog 和 VHDL 2008。该工具独立于技术,允许在单个设计项目中快速轻松地在 FPGA 设备和供应商之间进行重新定位。

Synplify Premier 合成软件
Synplify Premier 功能是 Synplify Pro 工具的超集,可提供终极 FPGA 实现和调试环境。它包括一套全面的工具和技术,可供高级 FPGA 设计人员使用,还可作为针对单个 FPGA 原型的 ASIC 原型设计人员的综合引擎。
Synplify Premier 产品为 FPGA 设计人员和针对单个 FPGA 的 ASIC 原型设计人员提供了最高效的设计实现和调试方法。在设计实现方面,它包括时序收敛、逻辑验证、IP 使用、ASIC 兼容性和 DSP 实现功能,以及与 FPGA 供应商后端工具的紧密集成。在调试方面,它提供 FPGA 的系统内验证,从而大大加快调试过程,还包括一种快速和渐进的方法来查找难以捉摸的设计问题。

Synopsys FPGA 工具功能
该表区分了 Synplify Pro、Synplify、Synplify Premier 和 Synplify Premier with Design Planner 产品的主要功能。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 17

第 1 章:简介

Synopsys FPGA 和原型产品

Synplify Synplify Pro

表现

行为提取综合

x

x

技术® (BESTTM)

供应商生成的核心/IP

x

支持(某些技术)

FSM 编译器

x

x

FSM 探索器

x

门控时钟转换

x

寄存器流水线

x

寄存器重定时

x

SCOPE® 约束条目

x

x

高可靠性特点

x

集成布局布线

x

x

分析

HDL 分析师

选项

x

时序分析仪

x

点对点

有限状态机 Viewer

x

交叉探测

x

探测点创建

x

识别仪器

x

识别调试器

功率分析(SAIF)

物理设计

设计方案 File

LO

区域逻辑分配

Synplify Premier
x
x
xxxxxxxx
二十
xxxxxx

Synplify Premier DP
x
x
xxxxxxxx
二十
xxxxxx
二十

© 2014 Synopsys, Inc. 18

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

Synopsys FPGA 和原型产品

第 1 章:简介

面积估算和区域容量 引脚分配 物理优化 物理综合 物理分析师 Synopsys DesignWare® Foundation 库 运行时分层设计 增强优化 快速综合 多处理 错误编译 团队设计 混合语言设计 编译点 分层设计 真正批处理模式(仅限浮动许可证) GUI 批处理模式(浮动许可证) 批处理模式 P&R P&R 数据反标 形式验证

Synplify Synplify Pro

x

xxxxx

x

x

x

x

识别整合

有限的

x

Synplify Premier
xxx
xxxxx
xxxxx
x
x 逻辑合成模式 x

Synplify Premier DP
x
xxxxx
xxxxx
xxxxx
x
xx 逻辑合成模式
x

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 19

第 1 章:简介

Synopsys FPGA 和原型产品

P&R 数据反标设计环境文本编辑器 View 监视窗口 消息窗口 Tcl 窗口 多种实现 供应商技术支持 原型功能 运行时功能 编译点 门控时钟转换 错误编译

Synplify Synplify Pro

x

x

x

x

x

x

x

x

x

Synplify Premier
已选择 xxxxx
xxxxx

Synplify Premier DP
x
已选择 xxxxx
xxxxx

© 2014 Synopsys, Inc. 20

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

本文件的范围

第 1 章:简介

本文件的范围
以下内容解释了本文档的范围和目标受众。

文档集
本用户指南是包含参考手册和教程的文档集的一部分。它旨在与该文档集中的其他文档一起使用。它专注于描述如何使用 Synopsys FPGA 软件完成典型任务。这意味着以下内容:
· 用户指南仅解释执行典型任务所需的选项
手册中没有描述所有可用的命令和选项。有关所有命令选项和语法的完整描述,请参阅用户界面view Synopsys FPGA 综合参考手册中的章节。
· 用户指南包含基于任务的信息。有关
信息的组织方式,请参阅第 22 页的“获取帮助”。

观众
Synplify Pro 软件工具面向 FPGA 系统开发人员。假设您了解以下内容:
· 设计综合 · RTL · FPGA · Verilog/VHDL

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 21

第 1 章:简介

入门

入门
本节介绍如何开始使用 Synopsys FPGA 综合软件。它描述了以下主题,但不会取代安装说明中有关许可和安装的信息:
· 启动软件,第 22 页 · 获取帮助,第 22 页

启动软件
1. 如果尚未安装 Synopsys FPGA 综合软件,请按照安装说明进行安装。
2.启动软件。
如果您在 Windows 平台上工作,请选择
从“开始”按钮进入程序->Synopsys->产品版本。
如果您在 UNIX 平台上工作,请输入适当的
命令行中的命令:
synplify_pro
· 该命令启动综合工具,并打开项目窗口。如果
如果您之前运行过该软件,窗口将显示上一个项目。有关界面的更多信息,请参阅用户界面view 参考手册的章节。

获取帮助
在致电 Synopsys 支持部门之前,请先查看文档信息。您可以从“帮助”菜单在线访问这些信息,或参考 PDF 版本。下表显示了信息的组织方式。

LO

© 2014 Synopsys, Inc. 22

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

入门
如需帮助...使用软件功能如何...
流程信息
错误消息 许可 属性和指令 综合功能 语言和语法 Tcl 语法 Tcl 综合命令 产品更新

第 1 章:简介
请参阅… Synopsys FPGA 综合用户指南 Synopsys FPGA 综合用户指南,支持应用说明 web 网站 Synopsys FPGA 综合用户指南,支持应用说明 web 站点在线帮助(选择帮助->错误消息)Synopsys SolvNet Web站点 Synopsys FPGA 综合参考手册 Synopsys FPGA 综合参考手册 Synopsys FPGA 综合参考手册 在线帮助(选择帮助->Tcl 帮助) Synopsys FPGA 综合参考手册 Synopsys FPGA 综合参考手册 (Web 菜单命令)

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 23

第 1 章:简介

用户界面结束view

用户界面结束view
用户界面 (UI) 由一个主窗口组成,称为项目 view以及专门的窗口或 view适用于不同的任务。有关每个功能的详细信息,请参阅第 2 章用户界面view Synopsys FPGA 综合参考手册。

Synplify Pro 界面

按键面板

工具栏项目 view

地位

实施结果 view

访问标签 views

Tcl 脚本/消息窗口 LO

监视窗口

© 2014 Synopsys, Inc. 24

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

第四章
FPGA 综合设计流程
本章介绍逻辑综合设计流程,第 26 页。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 25

第 2 章:FPGA 综合设计流程

逻辑综合设计流程

逻辑综合设计流程

Synopsys FPGA 工具通过首先将 RTL 源编译为与技术无关的逻辑结构,然后优化并将逻辑映射到特定于技术的资源来综合逻辑。逻辑综合后,该工具会生成特定于供应商的网表和约束 file 您可以将其用作布局布线(P&R)工具的输入。
下图显示了逻辑综合的各个阶段和所用的工具以及一些主要的输入和输出。您可以使用 Synplify Pro 综合软件来完成此流程。交互式时序分析是可选的。尽管该流程显示了供应商约束 file作为 P&R 工具的直接输入,您应该添加这些 files 到时间黑匣子的综合项目。

Synopsys FPGA 工具

恢复传输层

RTL 编译

首日封

逻辑综合

综合网表 综合约束 供应商约束
供应商工具
布局与布线

逻辑综合程序

对于基于特定设计的分步说明的设计流程

数据,请从下载教程 web站点。以下步骤总结

合成设计的程序,也说明在

如下图所示。

LO

1. 创建项目。

2.添加源 file到项目。

© 2014 Synopsys, Inc. 26

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

逻辑综合设计流程

第 2 章:FPGA 综合设计流程

3. 设置设计的属性和约束。
4. 在实施选项对话框中设置实施选项。
5. 单击 Run,运行逻辑综合。
6. 使用日志等工具分析结果 file,HDL Analyst 示意图 views、消息窗口和监视窗口。
完成设计后,您可以使用输出 file使用供应商工具运行布局布线并实施 FPGA。
下图列出了流程中的主要步骤:

创建项目
添加源 Files
设置约束
设置选项
运行软件
分析结果未达到目标?
是 布局和布线

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 27

第 2 章:FPGA 综合设计流程

逻辑综合设计流程

© 2014 Synopsys, Inc. 28

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

第四章
准备输入
当你合成一个设计时,你需要设置两种 file高密度脂蛋白 file描述你的设计和项目 file管理设计。本章介绍了设置这些 files 和项目。它涵盖以下内容:
· 设置 HDL 源 Files,第 30 页 · 使用混合语言源 Files,第 44 页 · 使用增量编译器,第 49 页 · 使用结构化 Verilog 流程,第 51 页 · 使用约束 Files,第 53 页

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 29

第 3 章:准备输入

设置 HDL 源 Files

设置 HDL 源 Files
本节介绍如何设置源 files;项目 file 设置在设置项目中描述 Files,第 58 页。来源 file可以使用 Verilog 或 VHDL。有关如何构建 file有关综合的详细信息,请参阅参考手册。本节讨论以下主题:
· 创建 HDL 源文件 Files,第 30 页 · 使用上下文帮助编辑器,第 32 页 · 检查 HDL 源代码 Files,第 34 页 · 编辑 HDL 源代码 File使用内置文本编辑器,第 35 页 · 使用外部文本编辑器,第 41 页 · 设置编辑窗口首选项,第 39 页 · 使用 Verilog 库的库扩展 Files,第 42 页

创建 HDL 源 Files
本节介绍如何使用内置文本编辑器创建源 file但没有详细说明 file包含的内容。有关可以包含和不能包含的内容的详细信息以及供应商特定的信息,请参阅参考手册。如果您已经拥有源 files,您可以使用文本编辑器检查语法或编辑 file (参见检查 HDL 源 Files,第 34 页和编辑 HDL 源 File使用内置文本编辑器,第 35 页)。
您可以使用 Verilog 或 VHDL 作为源代码 files. files 有 v (Verilog) 或 vhd (VHDL) file 扩展。您可以使用 Verilog 和 VHDL file在同一设计中。有关使用 Verilog 和 VHDL 输入混合的信息 file请参阅使用混合语言源 Files,第 44 页。
1. 创建新来源 file 单击 HDL file 图标 ( ) 或执行以下操作:
选择 File->新建或按 Ctrl-n。
在新建对话框中,选择源类型 file 你想创造,
Verilog 或 VHDL。请注意,您可以使用上下文帮助编辑器来处理源代码中包含 SystemVerilog 构造的 Verilog 设计

© 2014 Synopsys, Inc. 30

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置 HDL 源 Files

第 3 章:准备输入

file有关更多信息,请参阅使用上下文帮助编辑器,第 32 页。
如果您使用的是 Verilog 2001 格式或 SystemVerilog,请确保在运行综合之前启用 Verilog 2001 或 System Verilog 选项(Project->Implementation Options->Verilog 选项卡)。默认的 Verilog file 新项目的格式是SystemVerilog。

键入名称和位置 file 并单击“确定”。空白编辑
窗口打开时左侧显示行号。
2. 在窗口中输入源信息,或剪切并粘贴。请参阅编辑 HDL 源 File有关在编辑窗口中工作的详细信息,请参阅第 35 页上的“使用内置文本编辑器”。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 31

第 3 章:准备输入

设置 HDL 源 Files

为了获得最佳综合结果,请查阅参考手册并确保您有效地使用可用的构造和特定于供应商的属性和指令。
3.保存 file 通过选择 File->保存或保存图标 ( )。
创建源后 file,您可以检查语法是否正确,如检查 HDL 源代码中所述 Files,第 34 页。

使用上下文帮助编辑器
当您创建或打开 Verilog 设计时 file,使用窗口底部显示的上下文帮助按钮来帮助您在源代码中使用 Verilog/SystemVerilog 构造进行编码 file 或将 Tcl 约束命令放入您的 Tcl file.
要使用上下文帮助编辑器:
1. 单击“上下文帮助”按钮来显示此文本编辑器。

© 2014 Synopsys, Inc. 32

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置 HDL 源 Files

第 3 章:准备输入

2. 在窗口左侧选择一个构造时,将显示该构造的在线帮助说明。如果所选构造启用了此功能,则在线帮助主题将显示在窗口顶部,而该构造的通用代码或命令模板将显示在底部。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 33

第 3 章:准备输入

设置 HDL 源 Files

3. 插入模板按钮也已启用。单击插入模板按钮时,模板窗口中显示的代码或命令将插入到您的 file 在光标位置。这样您就可以轻松插入代码或命令,并根据要综合的设计对其进行修改。
4. 如果只想复制模板的部分内容,请选择要插入的代码或命令,然后单击“复制”。然后,您可以将其粘贴到您的 file.

检查 HDL 源 Files

软件会自动检查您的 HDL 源 file编译时,如果想在综合之前检查源代码,请使用以下步骤。在综合软件中,您可以进行两种检查:语法和综合。

1. 选择来源 file您想要检查的。
检查所有来源 file在项目中,取消选择全部 file在
项目清单,并确保没有 file在活动窗口中打开。如果您有活动源 file,该软件只检查活动 file.
检查单个 file,打开 file 和 File->打开或双击
file 在“项目”窗口中。如果您有多个 file 打开并只想检查其中一个,将光标放在相应的 file 窗口以确保它是活动窗口。

2. 要检查语法,请选择运行->语法检查或按 Shift+F7。

该软件可检测语法错误,例如不正确的关键字和标点符号,并在单独的日志中报告任何错误 file (syntax.log)。如果没有检测到错误,则在此文件底部报告语法检查成功 file.

3. 要运行综合检查,请选择运行 (Run)->综合检查 (Synthesis Check) 或按 Shift+F8。

该软件检测与硬件相关的错误,例如错误编码

触发器并在单独的日志中报告任何错误 file (语法.log)。如果有

如果没有错误,则在本文底部会报告语法检查成功

file.

LO

4.重新view 通过打开 syntax.log 查看错误 file 出现提示时,使用“查找”找到错误消息(搜索@E)。双击

© 2014 Synopsys, Inc. 34

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置 HDL 源 Files

第 3 章:准备输入

5 个字符的错误代码或单击消息文本并按 F1 显示在线错误消息帮助。
5. 双击 syntax.log 中的消息文本,找到导致错误的代码部分 file。文本编辑器窗口打开相应的源 file 并突出显示导致错误的代码。
6. 重复步骤 4 和 5,直到所有语法和综合错误都得到纠正。
消息可以分为错误、警告或说明。view 所有消息并解决所有错误。警告的严重性不如错误,但即使您没有解决所有错误,也必须通读并理解它们。注释仅供参考,无需解决。

编辑 HDL 源代码 File使用内置文本编辑器
内置文本编辑器可轻松创建 HDL 源代码, view 编辑它,或者在需要修复错误时对其进行编辑。如果您想使用外部文本编辑器,请参阅使用外部文本编辑器,第 41 页。
1. 执行以下操作之一打开源 file 为了 view或編輯:
自动打开第一个 file 在有错误的列表中,按 F5。
要打开特定的 file,双击 file 在项目窗口中或
使用 File->打开(Ctrl-o)并指定源 file.
文本编辑器窗口打开并显示源代码 file。行已编号。关键字为蓝色,注释为绿色。字符串值为红色。如果要更改这些颜色,请参阅第 39 页的“设置编辑窗口首选项”。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 35

第 3 章:准备输入

设置 HDL 源 Files

2. 编辑 file,直接在窗口中输入。
下表总结了您可能使用的常见编辑操作。您也可以使用键盘快捷键代替命令。

到…

做…

剪切、复制和粘贴;从弹出窗口(按住撤消或按鼠标右键重做操作)或编辑菜单中选择命令。

转到特定行

按 Ctrl-g 或选择编辑->转至,输入行号,然后单击确定。

查找文本

按 Ctrl-f 或选择“编辑”->“查找”。输入要查找的文本,然后单击“确定”。

替换文本

按 Ctrl-h 或选择“编辑”->“替换”。输入要查找的文本以及要替换的文本。单击“确定”。

完成关键字

键入足够的字符以唯一地标识关键字,然后按 Esc。

向右缩进文本 选择块,然后按 Tab。向左缩进文本 选择块,然后按 Shift-Tab。

更改为大写 选择文本,然后选择编辑->高级->大写或按 Ctrl-Shift-u。

© 2014 Synopsys, Inc. 36

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置 HDL 源 Files

第 3 章:准备输入

要... 更改为小写 添加块注释
编辑列

做…
选择文本,然后选择编辑->高级->小写或按 Ctrl-u。
将光标放在注释文本的开头,然后选择编辑->高级->注释代码或按 Alt-c。
按下 Alt,然后使用鼠标左键选择列。在某些平台上,您必须使用 Alt 功能所映射到的键,例如 Meta 或菱形键。

3. 要剪切和粘贴 PDF 文档的一部分,请选择 T 形文本选择图标,突出显示所需的文本,然后将其复制并粘贴到您的 file。文本选择图标可让您选择文档的某些部分。
4. 创建和使用书签 file,参见下表。
书签是一种方便的长距离导航方式 file或跳转到您经常引用的代码点。您可以使用编辑工具栏中的图标进行这些操作。如果您在窗口最右侧看不到编辑工具栏,请调整其他一些工具栏的大小。

要...插入书签
删除书签
删除所有书签

做…
单击要添加书签的行中的任意位置。选择“编辑”->“切换书签”,按 Ctrl-F2,或选择“编辑”工具栏中的第一个图标。行号会突出显示,表示该行开头有一个书签。
单击书签所在行的任意位置。选择“编辑”->“切换书签”,按 Ctrl-F2,或选择“编辑”工具栏中的第一个图标。删除书签后,行号不再突出显示。
选择编辑->删除所有书签,按 Ctrl-Shift-F2,或选择编辑工具栏中的最后一个图标。删除书签后,行号不再突出显示。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 37

第 3 章:准备输入

设置 HDL 源 Files

到…
导航 file 使用书签

做…
使用编辑菜单中的下一个书签 (F2) 和上一个书签 (Shift-F2) 命令或编辑工具栏中的相应图标导航到所需的书签。

5. 修复错误或重新view 源代码中的警告,请执行以下操作:
打开 HDL file 双击 file
在项目列表中。
按 F5 转到 file. 在
在编辑窗口的底部,您会看到消息文本。
要转到下一个错误、警告或说明,请选择运行->下一个错误/警告
或按 F5。如果 file,您会在编辑窗口底部看到消息“没有更多错误/警告/说明”。选择运行->下一个错误/警告或按 F5 转到下一个错误、警告或说明 file.
要返回上一个错误、警告或说明,请选择
运行->上一个错误/警告或按 Shift-F5。
6. 要调出错误消息帮助以获取有关错误、警告或说明的完整描述:
打开文本格式的日志 file (点击 View 日志)并双击
5 个字符的错误代码,或者单击消息文本并按 F1。
打开 HTML 日志 file 并点击5个字符的错误代码。
在 Tcl 窗口中,单击“消息”选项卡,然后单击 5 个字符的
ID 列中的错误代码。
7. 从源代码窗口交叉探测到其他 views,打开 view 并选择代码片段。有关详细信息,请参阅第 246 页的“从文本编辑器窗口进行交叉探测”。
8. 修复所有错误后,选择 File->保存或单击保存图标以保存 file.

LO

© 2014 Synopsys, Inc. 38

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置 HDL 源 Files

第 3 章:准备输入

设置编辑窗口首选项
您可以自定义文本编辑窗口使用的字体和颜色。
1. 选择选项->编辑器选项,然后选择 Synopsys 编辑器或外部编辑器。有关外部编辑器的更多信息,请参阅第 41 页上的使用外部文本编辑器。
2. 然后根据类型 file 打开后,您可以设置背景、语法颜色和字体首选项以与文本编辑器一起使用。

注意:此后,您为此设置的文本编辑首选项 file 将适用于所有 file这个 file 类型。

文本编辑窗口可用于设置项目首选项 files,来源 files (Verilog/VHDL),对数 files,Tcl files,约束 files,或其他默认 file从编辑器选项对话框中。
3. 您可以为一些常用的语法选项设置语法颜色,例如关键字、字符串和注释。例如amp日志中的 le file、警告和错误可用颜色编码,以便于识别。
单击语法颜色字段中相应对象的前景或背景字段以显示调色板。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 39

第 3 章:准备输入

设置 HDL 源 Files

您可以选择基本颜色或定义自定义颜色并将其添加到您的自定义调色板。要选择所需的颜色,请单击“确定”。
4. 要设置文本编辑器的字体和字体大小,请使用下拉菜单。
5. 选中“保留标签”以启用标签设置,然后使用“标签大小”的向上或向下箭头设置标签间距。

LO 6. 在编辑器选项表单上单击“确定”。
© 2014 Synopsys, Inc. 40

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置 HDL 源 Files

第 3 章:准备输入

使用外部文本编辑器
您可以使用外部文本编辑器(如 vi 或 emacs)代替内置文本编辑器。执行以下操作以启用外部文本编辑器。有关使用内置文本编辑器的信息,请参阅编辑 HDL 源 File使用内置文本编辑器,第 35 页。
1.选择Options->Editor Options,开启External Editor选项。
2. 使用适合您的操作系统的方法选择外部编辑器。
如果您在 Windows 平台上工作,请单击…(浏览)按钮
并选择外部文本编辑器可执行文件。
从 UNIX 或 Linux 平台创建自己的文本编辑器
窗口中,单击...浏览按钮并选择外部文本编辑器可执行文件。
来自 UNIX 平台的文本编辑器,它不会自行创建
窗口,不要使用…浏览按钮。而是输入 xterm -e editor。下图显示了指定为外部编辑器的 VI。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 41

第 3 章:准备输入

设置 HDL 源 Files

从 Linux 平台开始,对于不创建自己的文本编辑器
窗口,不要使用…浏览按钮。而是输入 gnome-terminal -x editor。要使用 emacs 进行 example,输入 gnome-terminal -x emacs。
该软件已经通过 emacs 和 vi 文本编辑器测试。
3。 单击“确定”。

使用 Verilog 库的库扩展 Files
可以将库扩展添加到 Verilog 库 file包含在项目设计中。当您提供包含 Verilog 库的目录的搜索路径时 files,您可以指定这些新的库扩展以及 Verilog 和 SystemVerilog (.v 和 .sv) file 扩展。
要做到这一点:
1. 选择实现选项面板的Verilog选项卡。
2. 指定 Verilog 库的库目录位置 file将其纳入您的项目设计中。
3. 指定库扩展。
可以指定任何库扩展名,例如 .av、.bv、.cv、.xxx、.va、.vas(用空格分隔库扩展名)。
下图显示了在对话框中输入库扩展的位置。

© 2014 Synopsys, Inc. 42

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置 HDL 源 Files

第 3 章:准备输入

此示例的 Tcl 等效示例ample 是以下命令:
set_option -libext .av .bv .cv .dv .ev
有关详细信息,请参阅命令参考中的第 57 页的 libext。
4. 编译设计后,您可以在日志中验证 file 图书馆 file加载并读取了这些扩展名的文件。例如amp乐:
@N: 在 SystemVerilog 模式下运行 Verilog 编译器 @I::”C:dirtop.v” @N: CG1180:”C:dirtop.v”:8:0:8:3|正在加载 file C:dirlib1sub1.av 来自指定的库目录 C:dirlib1 @I::”C:dirlib1sub1.av” @N: CG1180 :”C:dirtop.v”:10:0:10:3|Loading file C:dirlib2sub2.bv 来自指定的库目录 C:dirlib2 @I::”C:dirlib2sub2.bv” @N: CG1180 :”C:dirtop.v”:12:0:12:3|Loading file

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 43

第 3 章:准备输入

使用混合语言源 Files

C:dirlib3sub3.cv 来自指定的库目录 C:dirlib3 @I::”C:dirlib3sub3.cv” @N: CG1180 :”C:dirtop.v”:14:0:14:3|Loading file C:dirlib4sub4.dv 来自指定的库目录 C:dirlib4 @I::”C:dirlib4sub4.dv” @N: CG1180 :”C:dirtop.v”:16:0:16:3|Loading file C:dirlib5sub5.ev 来自指定的库目录 C:dirlib5@I::”C:dirlib5sub5.ev” Verilog 语法检查成功!

使用混合语言源 Files
使用 Synplify Pro 软件,您可以混合使用 VHDL 和 Verilog 输入 file在你的项目中。例如ampVHDL 和 Verilog 文档 files,请参阅参考手册。
1. 请记住,Verilog 不支持不受约束的 VHDL 端口,并设置混合语言设计 files 相应。
2. 如果要组织 Verilog 和 VHDL file在不同的文件夹中,选择 Options->Project View 选项并切换 View 项目 File文件夹选项中的。
当你添加 file该项目的Verilog和VHDL file位于项目中的单独文件夹中 view.
3. 打开项目或创建新项目时,添加 Verilog 和 VHDL file如下:
选择项目->添加源 File 命令或单击添加 File 按钮。在表单上,​​设置 File类型为 HDL Files (*.vhd, *.vhdl, *.v)。选择 Verilog 和 VHDL file并将它们添加到您的
项目。单击“确定”。有关添加的详细信息 file请参阅第 62 页上的“对项目进行更改”。
LO

© 2014 Synopsys, Inc. 44

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

使用混合语言源 Files

第 3 章:准备输入

这 file您添加的显示在项目中 view. 该图显示了 file排列在单独的文件夹中。
4. 设置设备选项(实现选项按钮)时,请指定顶层模块。有关设置设备选项的更多信息,请参阅第 75 页的“设置逻辑综合实现选项”。
如果顶层模块是 Verilog,请单击“Verilog”选项卡并键入
顶层模块的名称。
如果顶层模块是 VHDL,请单击 VHDL 选项卡并输入名称
顶层实体。如果顶层模块不在默认工作库中,则必须指定编译器可以找到模块的库。有关如何执行此操作的信息,请参阅第 200 页的 VHDL 面板。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 45

第 3 章:准备输入

使用混合语言源 Files

您必须明确指定顶层模块,因为它是映射器生成合并网表的起点。
5. 选择同一表单上的 Implementation Results 选项卡,并为输出选择一个输出 HDL 格式 file由软件生成。有关设置器件选项的更多信息,请参阅第 75 页的“设置逻辑综合实现选项”。
对于 Verilog 输出网表,选择“Write Verilog Netlist”。对于 VHDL 输出网表,选择“Write VHDL Netlist”。设置其他设备选项,然后单击“OK”。
现在,您可以合成您的设计。软件读取源的混合格式 file并生成单个 srs file 用于合成。
6. 如果遇到问题,请参阅第 47 页的“混合语言设计故障排除”以获取更多信息和提示。
LO

© 2014 Synopsys, Inc. 46

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

使用混合语言源 Files

第 3 章:准备输入

混合语言设计故障排除
本节提供了处理混合语言设计中可能出现的特定情况的提示。

硬件描述语言 File 命令
对于仅使用 VHDL 的设计或未指定顶层的混合设计,FPGA 综合工具会自动重新排列 VHDL file以便 VHDL 包能以正确的顺序进行编译。
但是,如果您有一个混合语言设计,并且已经指定了顶层,那么您必须指定 VHDL file 工具的顺序。您只需执行一次,方法是选择 Run->Arrange VHDL files 命令。如果不执行此操作,则会收到错误消息。

VHDL 全局信号
目前,您不能在混合语言设计中使用 VHDL 全局信号,因为该工具仅在纯 VHDL 设计中实现这些信号。

将 VHDL 布尔泛型传递给 Verilog 参数
如果 VHDL 组件在 Verilog 设计中实例化,该工具会为具有布尔泛型的 VHDL 组件推断出一个黑盒。这是因为 Verilog 无法识别布尔数据类型,因此必须正确表示布尔值。如果 VHDL 布尔泛型的值为 TRUE,而 Verilog 文字用 1 表示,则 Verilog 编译器会将其解释为黑盒。
为了避免推断黑盒,设置为 TRUE 的 VHDL 布尔泛型的 Verilog 文字必须是 1'b1,而不是 1。同样,如果 VHDL 布尔泛型为 FALSE,则相应的 Verilog 文字必须是 1'b0,而不是 0。以下示例ample 展示了如何表示布尔泛型,以便它们正确通过 VHDL-Verilog 边界,而无需推断黑盒。

VHDL 实体声明

Verilog 实例

实体 abc 是通用的(
位数除以位);

:整数:布尔值

:= 0;:= 假;

abc#(.Number_Bits(16),.Divide_Bit(1'b0)
)

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 47

第 3 章:准备输入

使用混合语言源 Files

传递 VHDL 泛型而不推断黑盒
如果 Verilog 组件参数(例如ample[0:0] RSR = 1'b0) 与相应 VHDL 组件通用 (RSR : integer := 0) 的大小不匹配,该工具推断出一个黑盒。
您可以通过删除 Verilog 中的 [0:0] 总线宽度符号来解决此问题 files. 请注意,您必须使用整型 VHDL 泛型,因为其他类型不允许正确绑定 Verilog 组件。

© 2014 Synopsys, Inc. 48

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

使用增量编译器

第 3 章:准备输入

使用增量编译器
使用增量编译器流程可显著减少大型设计的编译器运行时间。软件仅重新编译相关的 file当设计发生变更并重新使用编译器数据库时。编译器重新生成 SRS file 仅适用于受影响的模块和直接父模块。
要运行此流程,请执行以下操作:
1. 添加 Verilog 或 VHDL file用于设计。
2. 从实现选项面板的 Verilog 或 VHDL 选项卡中启用增量编译选项。
一个 SRS file 在 synwork 目录下为每个设计模块创建。

3. 首次运行编译器。
4. 如果设计发生了更改,请重新运行编译器。
编译器分析数据库并确定 SRS file是最新的,则只生成已更改的模块和直接父模块。这有助于改善设计的运行时间。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 49

第 3 章:准备输入

使用增量编译器

限制
增量编译器不支持:
· 配置 file包含在 Verilog 或 VHDL 流程中 · 混合 HDL 流程 · 具有跨模块引用 (XMR) 的设计

© 2014 Synopsys, Inc. 50

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

使用结构化 Verilog 流程

第 3 章:准备输入

使用结构化 Verilog 流程
综合工具接受结构Verilog file作为设计项目的输入。结构化 Verilog 编译器使用其轻量级解析器执行语法语义检查,以缩短运行时间。此编译器不执行复杂的硬件提取或 RTL 优化操作,因此,软件可以快速编译结构化 Verilog files.该软件可以读取这些生成的结构Verilog files,如果它们包含:
· 技术原语的实例
· 简单的赋值语句
· Verilog 2001 及更早版本格式中指定的属性
· 除属性外,所有构造都必须以 Verilog 95 格式指定
使用结构化 Verilog 输入 files:
1. 必须指定结构Verilog file包含在您的设计中。为此,添加 file 使用下列方法之一添加到项目中:
项目->添加源 File 或添加 File 项目中的按钮 view Tcl 命令:add_file -结构体 file姓名
此流程仅可包含结构化 Verilog file或混合型 HDL files (Verilog/VHDL/EDF/SRS) 以及结构 Verilog 网表 files. 但是,结构化 Verilog 模块不支持 Verilog/VHDL/EDF/SRS 实例。
2. 结构化Verilog file被添加到项目中的 Structural Verilog 文件夹中 view。您还可以添加 file执行以下操作时进入此目录:
选择结构化Verilog file. 右击并选择 File 选项。从中选择 Structural Verilog File 类型下拉菜单。
3. 运行合成。
综合工具生成vm或edf网表 file 取决于指定的技术。此过程与默认合成流程类似。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 51

第 3 章:准备输入

使用结构化 Verilog 流程

限制
结构化 Verilog 流程的局限性在于不支持以下内容:
· 任何其他的 RTL 实例 file 类型·分层项目管理 (HPM) 流程·复杂任务·编译器特定的模式和开关

© 2014 Synopsys, Inc. 52

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

使用约束 Files

第 3 章:准备输入

使用约束 Files
约束 files 是文本 file这些约束由 SCOPE 接口自动生成(请参阅第 119 页的“指定 SCOPE 约束”),或者您使用文本编辑器手动创建。它们包含约束综合运行的 Tcl 命令或属性。或者,您可以在源代码中设置约束,但这不是首选方法。
本节包含以下信息
· 何时使用约束 File源代码,第 53 页
· 使用文本编辑器进行约束 Files(旧版),第 54 页
· 约束的 Tcl 语法指南 Files,第 55 页
· 检查约束 Files,第 56 页
· 有关此报告的详细信息,请参阅约束检查报告
参考手册第 270 页,第 56 页

何时使用约束 File源代码
您可以在约束中添加约束 files(通过 SCOPE 界面生成或在文本编辑器中输入)或在源代码中。一般来说,最好使用约束 files,因为您不必重新编译以使约束生效。它还使您的源代码更具可移植性。有关更多信息,请参阅使用 SCOPE 编辑器,第 112 页。
但是,如果您有黑盒时序约束,如 syn_tco、syn_tpd 和 syn_tsu,则必须将它们作为指令输入到源代码中。与属性不同,指令只能添加到源代码中,而不能添加到约束中 files. 有关向源代码添加指令的更多信息,请参阅第 90 页的“指定属性和指令”。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 53

第 3 章:准备输入

使用约束 Files

使用文本编辑器进行约束 Files(遗留)
您可以使用旧版 SCOPE 编辑器来编辑 SDC 约束 file在发行版本 G-2012.09 之前创建。但是,建议您翻译 SDC file至 FDC file启用最新版本的 SCOPE 编辑器并利用工具中增强的时间约束处理功能。
如果您选择使用旧版 SCOPE 编辑器,本节将向您展示如何手动创建 Tcl 约束 file。软件会自动创建此 file 如果您使用旧版 SCOPE 编辑器输入约束。Tcl 约束 file 仅包含一般时序约束。必须在源代码中输入黑盒约束。有关更多信息,请参阅何时使用约束 File请参阅第 53 页的“源代码”。
1. 打开 file 进行编辑。
确保已关闭 SCOPE 窗口,否则您可能
覆盖先前的约束。
创建新的 file, 选择 File->新建,选择约束 File
(范围)选项。输入 file 然后单击“确定”。
编辑现有的 file, 选择 File->打开,设置 File类型为过滤器
约束 Files (sdc) 并打开 file 你想要的。
2. 遵循约束的 Tcl 语法指南中的语法指南 Files,第 55 页。
3. 输入您需要的时序约束。有关语法,请参阅参考手册。如果您有黑盒时序约束,则必须在源代码中输入它们。
4. 您还可以在约束中添加特定于供应商的属性 file 使用 define_attribute。请参阅在约束中指定属性 File,第 97 页,了解更多信息。
5.保存 file.
6. 添加 file 按照第 62 页的“更改项目”中的说明对项目进行更改,然后运行综合。

LO

© 2014 Synopsys, Inc. 54

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

使用约束 Files

第 3 章:准备输入

约束的 Tcl 语法指南 Files
本节介绍使用 Tcl 进行约束的一般准则 files:
· Tcl 区分大小写。
· 对于命名对象:对象名称必须与 HDL 代码中的名称匹配。将实例和端口名称括在 curly 括号 { }。名称中不要使用空格。使用点 (.) 分隔层次名称。在 Verilog 模块中,例如,端口和
网络名称:
v:单元格 [前缀:]对象名称
其中 cell 是设计实体的名称,prefix 是用于标识同名对象的前缀,objectName 是带有点 (.) 分隔符的实例路径。前缀可以是以下任意一种:

前缀(小写)i: p: b: n:

对象实例名称 端口名称(整个端口) 端口的位片段 网络名称

在 VHDL 模块中,使用以下语法作为实例、端口和网络
VHDL 模块中的名称:
v:单元格 [.view] [前缀:]对象名称
其中 v: 标识为 view 对象,lib 是库的名称,cell 是设计实体的名称, view 是架构的名称,prefix 是用于标识同名对象的前缀,objectName 是一个以点(.)分隔符的实例路径。 View 仅当设计有多个架构时才需要。请参阅上表以了解对象的前缀。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 55

第 3 章:准备输入

使用约束 Files

· 名称匹配通配符为 *(星号匹配任意数量的
字符)和 ?(问号匹配单个字符)。这些字符不匹配用作层次结构分隔符的点。例如ample,以下字符串标识statemod模块中statereg实例的所有位:
我:statemod.statereg[*]

检查约束 Files
您可以检查约束的语法和其他相关信息 file使用约束检查命令。要生成约束报告,请执行以下操作:
1. 创建约束 file 并将其添加到您的项目中。
2. 选择运行->约束检查。
此命令生成一份报告,检查 FPGA 综合约束中时序约束的语法和适用性 file您的项目。报告将写入 projectName_cck.rpt file 并列出以下信息:
未应用的约束 有效且适用于设计的约束 约束上的通配符扩展 不存在的对象上的约束
有关此报告的详细信息,请参阅参考手册第 270 页的“约束检查报告”

© 2014 Synopsys, Inc. 56

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

第四章
设置逻辑综合项目
当您使用 Synopsys FPGA 综合工具综合设计时,您必须为设计设置一个项目。以下描述了为逻辑综合设置项目的步骤:
· 设置项目 Files,第 58 页 · 管理项目 File 层次结构,第 66 页 · 设置实现,第 72 页 · 设置逻辑综合实现选项,第 75 页 · 指定属性和指令,第 90 页 · 搜索 Files,第 98 页 · 归档 File和项目,第 101 页

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 57

第 4 章:设置逻辑综合项目

设置项目 Files

设置项目 Files
本节介绍如何设置和管理项目的基础知识 file 为您的设计提供以下信息:
· 创建项目 File,第 58 页 · 打开现有项目 File,第 61 页 · 更改项目,第 62 页 · 设置项目 View 显示首选项,第 63 页 · 更新旧项目中的 Verilog 包含路径 Files,第 65 页
对于特定的示例ample 建立项目 file,请参阅您所使用的工具的教程。

创建项目 File
您必须设置一个项目 file 每个项目。项目包含特定设计所需的数据:源列表 files,合成结果 file以及设备选项设置。以下步骤将向您展示如何设置项目 file 使用单独的命令。
1. 首先选择下列选项之一: File->构建项目, File->打开项目,或者 P 图标。单击新建项目。
项目窗口将显示一个新项目。单击添加 File 按钮,按 F4,或者选择 Project->Add Source File 命令。添加 File将打开“项目”对话框。
2.添加源 file到项目。
确保表单顶部的“查找范围”字段指向右侧
目录。 file框中列出了这些内容。如果您没有看到 files,检查 File类型字段设置为显示正确的 file 输入。如果您有混合输入 files,按照使用混合语言源中描述的步骤进行操作 Files,第 44 页。

LO

© 2014 Synopsys, Inc. 58

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置项目 Files

第 4 章:设置逻辑综合项目

要添加所有 file一次在目录中,单击“添加全部”按钮
表单右侧。要添加 file单独点击 file 在列表中,然后单击添加按钮,或双击 file 姓名。
您可以添加所有 file然后使用删除按钮删除目录中不需要的文件。
如果您要添加 VHDL files,从 VHDL 库弹出菜单中选择适当的库。您选择的库将应用于所有 VHDL file当您在对话框中单击“确定”时。
您的项目窗口显示一个新项目 file。如果您单击项目旁边的加号并展开它,您会看到以下内容:
包含源代码的文件夹(混合语言设计有两个文件夹) files.
如果你的 file不在项目目录下的文件夹中,您可以通过选择选项->项目来设置此首选项 View 选项并检查 View 项目 file文件夹框。这将一种 file 来自项目中的另一个 view 将它们放在单独的文件夹中。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 59

第 4 章:设置逻辑综合项目

设置项目 Files

实现,默认名为 rev_1。实现包括
在综合软件环境中修改设计,不替换外部源代码控制软件和流程。多个实现允许您修改设备和综合选项以探索设计选项。您可以在 Synplify Pro 中拥有多个实现。每个实现都有自己的综合和设备选项以及自己的项目相关 files.

3. 添加您需要的任何库,使用上一步中描述的方法添加 Verilog 或 VHDL 库 file.
对于特定于供应商的库,添加适当的库 file 到
项目。请注意,对于某些系列,库会自动加载,您无需明确将它们添加到项目中 file.
要添加第三方 VHDL 封装库,请添加适当的 .vhd file 按照步骤 2 所述添加设计。右键单击 file 在项目中 view 并选择 File 选项,或者选择 Project->Set VHDL library。指定与模拟器兼容的库名称。例如ample,MYLIB。确保此包库位于列表中的顶层设计之前 file项目中 view.
有关设置 Verilog 和 VHDL 的信息 file 选项,请参阅设置 Verilog 和 VHDL 选项,第 84 页。您还可以设置这些 file 选项之后,再运行综合。
有关使用供应商宏库和黑色 bLoOxes 的更多供应商特定信息,请参阅第 487 页上的“针对 Microsemi 设计进行优化”。
对于通用技术组件,您可以添加
软件附带的独立于技术的 Verilog 库

© 2014 Synopsys, Inc. 60

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置项目 Files

第 4 章:设置逻辑综合项目

(install_dir/lib/generic_ technology/gtech.v)到您的设计中,或者添加您自己的通用组件库。不要同时使用两者,因为可能会有冲突。
4. 检查 file 项目中的订单 view. File 顺序对于 VHDL 尤其重要 files.
对于 VHDL files,您可以自动订购 files的
选择运行->排列 VHDL Files. 或者,手动移动 file项目中 view。 包裹 files 必须位于列表的首位,因为它们在使用前要先编译。如果你的设计块分布在许多 files,请确保您具有以下内容 file 顺序: file 包含实体必须首先,然后是架构 file,最后是 file 与配置。
在项目中 view,检查最后一个 file 在项目中 view 是
顶级来源 file。或者,您可以指定顶级 file 当您设置设备选项时。
5. 选择 File->保存,输入项目名称,然后单击保存。项目窗口会反映您的更改。
6. 关闭项目 file,选择“关闭项目”按钮或 File->关闭项目。

打开现有项目 File
打开项目有两种方法 file:开放项目和通用 File ->打开命令。
1.如果您要打开的项目是您最近处理的项目,您可以直接选择它: File->最近的项目->项目名称。
2. 使用以下任一方法打开任意项目 file:

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 61

第 4 章:设置逻辑综合项目

设置项目 Files

打开项目命令

File->打开命令

选择 File->打开项目,点击项目窗口左侧的打开项目按钮,或者点击P图标。
要打开最近的项目,请在最近的项目列表中双击它。
否则,单击“现有项目”按钮打开“打开”对话框并选择该项目。

选择 File->打开。
在查找范围:字段中指定正确的目录。
放 File 项目类型 Files (*.prj)。该框列出了项目 files.
双击要打开的项目。

该项目将在项目窗口中打开。

更改项目
通常,您可以添加、删除或替换 files.
1. 添加源或约束 file到项目,选择添加 File按钮或 Project->Add Source File 打开选择 File进入“添加到项目”对话框。请参阅创建项目 File,第 58 页,了解详情。
2. 删除 file 在项目中,点击 file 在项目窗口中,然后按 Delete 键。
3. 更换 file 在一个项目中,
选择 file 您想要在“项目”窗口中进行更改。
点击更改 File 按钮,或者选择“项目”->“更改” File.
在来源中 File 在打开的对话框中,将“查找范围”设置为目录
新的 file 位于。新 file 必须与 file 你想更换。
如果你没有看到你的 file 列出,选择类型 file 你需要
这 File类型字段的 s。
双击 file. 新的 file 替换项目中的旧版本
列表。LO
4. 指定项目 file已保存在项目中,右键单击 file 在项目中 view 并选择 File 选项。设置保存 File 选项为相对于项目或绝对路径。

© 2014 Synopsys, Inc. 62

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置项目 Files

第 4 章:设置逻辑综合项目

5. 检查时间amp 在 file,右键单击 file 在项目中 view 并选择 File 选项。检查 file 上次修改时间。单击“确定”。

设置项目 View 显示首选项
您可以自定义项目的组织和显示 file1. 选择选项->项目 View 選擇。項目 View 选项表单打开。

2. 组织不同类型的输入 file放在单独的文件夹中,检查 View 项目 File文件夹中。
勾选此选项将在项目中创建单独的文件夹 view 对于约束 file和来源 files.

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 63

第 4 章:设置逻辑综合项目

设置项目 Files

3. 控制 file 显示以下内容:
自动显示所有 files,通过选中“显示项目库”。如果
如果不选中,则项目 view 不显示 file直到你点击加号并展开 file位于文件夹中。
勾选项目中的其中一个复选框 File 名称显示部分
形式来确定如何 file可以只显示 file名称、相对路径或绝对路径。
4. 至 view 项目 file在自定义文件夹中,检查 View 项目 File自定义文件夹中。有关详细信息,请参阅第 66 页的“创建自定义文件夹”。仅当自定义文件夹中有多种类型时,才会显示类型文件夹。

自定义文件夹
© 2014 Synopsys, Inc. 64

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置项目 Files

第 4 章:设置逻辑综合项目

5. 在同一个项目中打开多个实现 view中,勾选允许打开多个项目。
项目 1

项目 2

6.控制输出 file 显示以下内容:
勾选显示全部 File在结果目录框中显示所有输出
file合成后生成的。
更改输出 file 通过单击其中一个标题栏进行组织
实施结果 view。您可以将 file您可以按类型或根据最后修改日期对其进行排序。
7. 至 view file 信息,选择 file 在项目中 view,右键单击并选择 File 选项。例如ample,你可以检查日期 file 被修改。
更新旧项目中的 Verilog 包含路径 Files
如果你有一个项目 file 使用旧版本软件(8.1 之前)创建的 Verilog 包含路径 file 相对于结果目录或源 file 使用“include 语句。在 8.1 之后的版本中,项目 file `包含路径与项目相关 file 仅限。较新版本中的 GUI 不会自动升级较旧的项目 file以符合较新的规则。要升级并使用旧项目 file,执行以下操作之一:
· 手动编辑项目 file 在文本编辑器中添加以下内容
每个 set_option -include_path 之前的行:
设置选项-项目相对包含 1
· 使用较新版本的软件启动新项目,并删除
旧项目。这将使新项目 file 遵守包含与项目相关的新规则 file.

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 65

第 4 章:设置逻辑综合项目

管理项目 File 等级制度

管理项目 File 等级制度
以下部分介绍如何创建和管理自定义文件夹以及 file项目中 view:
· 创建自定义文件夹 · 操作自定义项目文件夹 · 操作自定义 Files

创建自定义文件夹
您可以创建逻辑文件夹并自定义 file在您的项目内的不同层次分组中 view。这些文件夹可以指定任意名称或层次结构。例如ample,你可以任意搭配你的操作系统 file 结构或 HDL 逻辑层次结构。自定义文件夹以蓝色区分。

有几种方法可以创建自定义文件夹,然后添加 file将它们添加到项目中。使用以下方法之一:

1. 右键单击​​项目 file 或其他自定义文件夹,然后从弹出菜单中选择“添加文件夹”。然后执行以下操作之一 file 运营:

­

右键单击显示

在那个

弗洛伊洛夫尼利斯提那德

选择 选择

放置在文件夹中。现有文件夹的子菜单或创建

a

新建文件夹。

© 2014 Synopsys, Inc. 66

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

管理项目 File 等级制度

第 4 章:设置逻辑综合项目

请注意,您可以任意命名文件夹,但不要使用字符 (/),因为这是层次结构分隔符号。
要重命名文件夹,请右键单击该文件夹,然后选择重命名自
弹出菜单。出现“重命名文件夹”对话框;指定一个新名称。
2. 使用添加 File到项目对话框中添加文件夹层次结构的全部内容,并可选择放置 file进入与对话框显示中列出的操作系统文件夹层次结构相对应的自定义文件夹。

为此,请选择添加 File 项目中的按钮 view.
从对话框中选择任何请求的文件夹,例如 dsp,然后
单击添加按钮。这会将所有 file从 dsp 层次结构中将 s 放入您刚刚创建的自定义文件夹中。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 67

第 4 章:设置逻辑综合项目

管理项目 File 等级制度

自动放置 file到对应的自定义文件夹中
操作系统文件夹层次结构中,选中“添加”选项 File对话框中的“自定义文件夹”。
默认情况下,自定义文件夹名称与文件夹名称相同
包含 file或文件夹添加到项目中。但是,您可以通过单击“文件夹选项”按钮来修改文件夹的命名方式。将显示以下对话框。

使用方法:
仅包含 files 作为文件夹名称,单击使用操作系统
文件夹名称。
路径名到选定文件夹的级别确定
反映自定义文件夹路径的层次结构。

© 2014 Synopsys, Inc. 68

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

管理项目 File 等级制度

第 4 章:设置逻辑综合项目

3. 您可以拖放 files 和文件夹从 OS Explorer 应用程序复制到项目中 view. 该功能在运行 KDE 的 Windows 和 Linux 桌面上均可用。
当你拖放 file,它将立即添加到项目中。
如果没有打开的项目,软件将创建一个项目。
当你拖放 file 文件夹上,它将被放置在该文件夹中
文件夹。最初,添加 File将显示“项目”对话框,要求您确认 file添加到项目中。您可以单击“确定”以接受 files. 如果要进行更改,您可以单击全部删除按钮并指定新的过滤器或选项。

注意:要在项目中显示自定义文件夹 view,选择选项->项目 View 选项菜单,然后启用/禁用复选框 View 项目 File对话框中的自定义文件夹中。

操作自定义项目文件夹
以下步骤介绍了如何删除 file从文件夹中删除文件夹,以及更改文件夹层次结构。
1.删除一个 file 从自定义文件夹,可以:
将其拖放至另一个文件夹或项目中。突出显示 file,右键单击并从中选择从文件夹中删除
弹出菜单。
不要使用删除 (DEL) 键,因为这会删除 file 来自项目。
2. 要删除自定义文件夹,请突出显示该文件夹,然后右键单击并从弹出菜单中选择“删除”或按 DEL 键。删除文件夹时,请做出以下选择之一:
单击“是”删除文件夹和 file文件夹中包含
該項目。
单击“否”仅删除该文件夹。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 69

第 4 章:设置逻辑综合项目

管理项目 File 等级制度

3. 要更改自定义文件夹的层次结构:
将文件夹拖放到另一个文件夹中,使其成为子文件夹
文件夹或项目上方以将其移动到顶层。
要删除自定义文件夹的顶层层次结构,请拖放
项目上所需的层次结构子级别。然后删除文件夹的空根目录。
例如ample,假如现有的自定义文件夹目录是:
/前任amples/Verilog/RTL
假设您只需要单级 RTL 层次结构,则将 RTL 拖放到项目上。此后,您可以删除 /Examples/Verilog 目录。

操纵自定义 Files
此外,您还可以执行以下类型的自定义 file 运营:
1. 禁止显示 file在类型文件夹中,右键单击项目 view 并选择“项目” View 选项或选择选项->项目 View 选项。禁用该选项 View 项目 File在对话框中的类型文件夹中。
2. 显示 file按字母顺序而不是项目顺序,检查排序 File项目中的按钮 view 控制面板。点击面板左下角的向下箭头键可以打开或关闭控制面板。

© 2014 Synopsys, Inc. 70

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

管理项目 File 等级制度

第 4 章:设置逻辑综合项目

控制面板切换
3. 改变顺序 file项目中的:
确保禁用自定义文件夹和排序 files. 拖放 file 到列表中的所需位置 files.
4. 更改 file 类型,将其拖放到新的类型文件夹中。软件将提示您进行验证。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 71

第 4 章:设置逻辑综合项目

设置实现

设置实现
实现是项目的一个版本,通过一组特定的约束和其他设置来实现。一个项目可以包含多个实现,每个实现都有各自的设置。

使用多种实现
Synplify Pro 工具允许您为同一设计创建多个实现,然后比较结果。这允许您对同一设计尝试不同的设置。实现是在综合软件环境中对设计进行的修订,不会取代外部源代码控制软件和流程。
1. 单击“添加实现”按钮或选择“项目”->“新实现”,然后设置新设备选项(“设备”选项卡)、新选项(“选项”选项卡)或新约束 file (约束选项卡)。
该软件在项目中创建另一个实现 view。新的实现与之前的实现同名,但数字后缀不同。下图显示了两个实现,rev1 和 rev2,其中突出显示了当前(活动)实现。

新的实现使用相同的源代码 files,但设备选项和限制不同。它复制了一些 file来自先前实现的:tlg 日志 file,srs RTL 网表 file以及 design_fsm.sdc file 由 FSM Explorer 生成。该软件保存了可重复的合成运行历史记录。

© 2014 Synopsys, Inc. 72

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置实现

第 4 章:设置逻辑综合项目

2. 使用新设置再次运行合成。
要仅运行当前实现,请单击运行。
要运行项目中的所有实现,请选择“运行”->“运行全部”
实施。
您可以使用多种实现方式来尝试不同的部分或尝试不同的频率。有关设置选项的信息,请参阅第 75 页的“设置逻辑综合实现选项”。
项目 view 显示所有实现,其中突出显示活动实现和相应的输出 file为实施结果中显示的活动实施生成的 view 在右边;改变主动实现会改变输出 file 显示。“监视”窗口监视活动的实现。如果您将此窗口配置为监视所有实现,则新的实现将自动在窗口中更新。
3. 比较结果。
使用“监视”窗口比较所选条件。确保设置
使用“配置监视”命令配置要比较的实现。有关详细信息,请参阅第 190 页上的“使用监视窗口”。

要比较详细信息,请比较日志 file 结果。
4. 要重命名实现,请在项目中的实现名称上单击鼠标右键 view,从弹出菜单中选择“更改实施名称”,然后输入新名称。
请注意,当前 UI 会覆盖实现;9.0 之前的版本会保留要重命名的实现。
5. 要复制实现,请在项目中的实现名称上单击鼠标右键 view,从弹出菜单中选择“复制实施”,然后为副本输入一个新名称。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 73

第 4 章:设置逻辑综合项目

设置实现

6. 要删除实现,请在项目中的实现名称上单击鼠标右键 view,然后从弹出菜单中选择 Remove Implementation。

© 2014 Synopsys, Inc. 74

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置逻辑综合实现选项第 4 章:设置逻辑综合项目
设置逻辑综合实现选项
您可以为综合实现设置全局选项,其中一些选项是特定于技术的。本节介绍如何设置全局选项,例如设备、优化和 file 使用“实现选项”命令设置选项。有关设置实现约束的信息,请参阅第 119 页的“指定范围约束”。有关使用单个属性或指令覆盖全局设置的信息,请参阅第 90 页的“指定属性和指令”。
本节讨论以下主题:
· 设置设备选项,第 75 页 · 设置优化选项,第 78 页 · 指定全局频率和约束 Files,第 80 页 · 指定结果选项,第 82 页 · 指定时序报告输出,第 84 页 · 设置 Verilog 和 VHDL 选项,第 84 页
设置设备选项
设备选项是您可以在综合运行中设置的全局选项的一部分。它们包括器件选择(技术、器件和速度等级)以及实现选项(I/O 插入和扇出)。这些选项及其实现可能因技术而异,因此请参阅《参考手册》中与供应商相关的章节,了解有关供应商选项的信息。
1. 通过单击“实施选项”按钮或选择“项目”->“实施选项”打开“实施选项”表单,然后单击顶部的“设备”选项卡(如果尚未选择)。
2. 选择技术、器件、封装和速度。可用选项会根据您选择的技术而有所不同。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 75

第四章:设置逻辑综合项目设置逻辑综合实现选项
3. 设置设备映射选项。具体选项会根据您选择的技术而有所不同。
如果您不确定某个选项的含义,请单击该选项查看
在下方的框中输入描述。要查看选项的完整描述,请点击 F1 或参阅《参考手册》中相应的供应商章节。
要设置选项,请输入值或选中框以启用它。
有关设置扇出限制和重定时的更多信息,请分别参阅第 348 页的“设置扇出限制”和第 334 页的“重定时”。有关其他供应商特定选项的详细信息,请参阅参考手册中相应的供应商章节和技术系列。

© 2014 Synopsys, Inc. 76

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置逻辑综合实现选项第 4 章:设置逻辑综合项目

4. 根据需要设置其他实现选项(请参阅第75页“设置逻辑综合实现选项”中的选项列表)。点击“确定”。
5. 点击“运行”按钮,对设计进行综合。软件将使用您设置的选项编译并映射设计。
6. 要使用脚本设置设备选项,请使用 set_option Tcl 命令。下表按字母顺序列出了“设备”选项卡上映射到等效 Tcl 命令的设备选项。由于这些选项基于技术和系列,因此表中列出的所有选项可能并非在所选技术中都可用。所有命令均以 set_option 开头,后跟所示列中的语法。请参阅参考手册,获取适用于您供应商的最完整选项列表。
下表显示了大多数设备选项。

分析师禁用 I/O 插入扇出指南的选项注释属性

Tcl 命令(set_option...)-run_prop_extract {1|0} -disable_io_insertion {1|0} -fanout_limit fanout_value

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 77

第四章:设置逻辑综合项目设置逻辑综合实现选项

选项

Tcl 命令(set_option…)

包裹

-软件包名称

部分

-part 部件名称

解决混合驱动程序

-resolve_multiple_driver {1|0}

速度

-speed_grade 速度等级

技术

-技术关键字

更新编译点时序数据 -update_models_cp {0|1}

HDL Analyst 数据库生成 -hdl_qload {1|0}

设置优化选项
优化选项是您可以为实现设置的全局选项的一部分。本节将介绍如何设置频率等选项以及资源共享等全局优化选项。您还可以使用 UI 上的相应按钮来设置其中一些选项。
1. 通过单击“实施选项”按钮或选择“项目”->“实施选项”打开“实施选项”表单,然后单击顶部的“选项”选项卡。
2. 在表单或项目 view您的选择会因技术而异。如果某个选项不适用于您的技术,则会显示为灰色。在一个地方设置该选项会自动在另一个地方更新。

© 2014 Synopsys, Inc. 78

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置逻辑综合实现选项第 4 章:设置逻辑综合项目

项目 View

优化选项实施选项->选项

有关使用这些优化的详细信息,请参阅以下部分:

FSM 编译器 FSM 资源管理器
资源共享重定时

优化状态机,第 354 页
运行 FSM Explorer,第 359 页 注意:只有部分 Microsemi 技术支持 FSM Explorer 选项。请使用“项目”->“实现选项”->“选项”面板来确定您在工具中指定的设备是否支持此选项。
共享资源,第 352 页
重新定时,第 334 页

等效的 Tcl set_option 命令选项如下:

选项 FSM 编译器 FSM Explorer 资源共享重定时

set_option Tcl 命令选项 -symbolic_fsm_compiler {1|0} -use_fsm_explorer {1|0} -resource_sharing {1|0} -retiming {1|0}

3. 根据需要设置其他实现选项(请参阅第75页“设置逻辑综合实现选项”中的选项列表)。点击“确定”。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 79

第四章:设置逻辑综合项目设置逻辑综合实现选项
4. 单击运行按钮运行综合。
该软件使用您设置的选项来编译和映射设计。
HDL Analyst 数据库生成
默认情况下,该软件会读取整个设计,执行逻辑优化和时序传播,并将输出写入单个网表 (srs)。随着设计规模的扩大,运行和调试设计的时间将变得更具挑战性。
此选项允许编译器将设计预先划分为多个模块,并写入单独的网表 files (srs)。要启用此选项,请在“实现选项”对话框的“选项”选项卡上选中“HDL Analyst 数据库生成”复选框。此功能可显著提高大型设计的内存使用率。
还可以使用以下 set_option Tcl 命令从 Tcl 脚本窗口启用此功能:
设置选项-hdl_qload 1
启用 HDL Analyst 数据库生成选项后,使用 HDL Analyst 工具中的增量快速加载选项,可以使用单个网表 (srs) 或多个顶层 RTL 模块网表 (srs) 显示设计。该工具可以tag通过动态加载受影响的设计层次结构来利用此功能。例如amp例如,层次结构浏览器可以根据需要仅扩展较低级别的层次结构以实现快速加载。增量快速加载选项位于“HDL Analyst 选项”对话框的“常规”面板中。请参阅第 304 页的“常规”面板。

指定全局频率和约束 Files

此过程告诉您如何设置全局频率并指定约束 files 用于实施。

1. 要设置全局频率,请执行以下操作之一:

在项目中输入全局频率 view.

单击“实施”

选项按钮约束选项卡。

or

选择

项目->实施

选项,

点击

等效的 Tcl set_option 命令是 -frequency frequencyValue。

© 2014 Synopsys, Inc. 80

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置逻辑综合实现选项第 4 章:设置逻辑综合项目
您可以使用局部约束覆盖全局频率,如第 119 页“指定范围约束”中所述。在 Synplify Pro 工具中,您可以自动为设计生成时钟约束,而无需设置全局频率。有关详细信息,请参阅第 291 页“使用自动约束”。
全球频率和约束项目 View
实施选项->约束

2. 指定约束 file对于实现,请执行以下操作之一:
选择“项目”->“实现选项”->“约束”。勾选约束
file您想要在项目中使用的。
从“实施选项”->“约束”面板中,您还可以单击
添加约束 file.
选择要使用的实现后,单击“添加” File 在
项目 view,并添加约束 file你需要。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 81

第四章:设置逻辑综合项目设置逻辑综合实现选项
创建约束 files,请参阅指定 SCOPE 约束,第 119 页。
3. 解除约束 file从实现中,执行以下操作之一:
选择“项目”->“实现选项”->“约束”。勾选复选框
旁边是 file 姓名。
在项目中 view,右键单击约束 file 将被移除,并且
选择从项目中删除。
这消除了约束 file 从实施中移除,但不会删除它。
4. 根据需要设置其他实现选项(请参阅第75页“设置逻辑综合实现选项”中的选项列表)。点击“确定”。
当您综合设计时,软件会使用您设置的选项来编译和映射设计。
指定结果选项
本节向您展示如何指定合成运行的输出标准。
1. 通过单击“实施选项”按钮或选择“项目”->“实施选项”打开“实施选项”表单,然后单击顶部的“实施结果”选项卡。

© 2014 Synopsys, Inc. 82

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置逻辑综合实现选项第 4 章:设置逻辑综合项目

2.指定输出 file您想要生成的。
生成映射网表 files,单击写入映射的 Verilog 网络表或写入
映射的 VHDL 网络表。
生成特定于供应商的约束 file 对于前向注释,
点击写入供应商约束 File。有关此报告的详细信息,请参阅参考手册第 270 页上的“约束检查报告”,第 56 页上的“更多信息”。
3. 设置要写入结果的目录。
4.设置输出格式 file。脚本的等效 Tcl 命令是 project -result_format format。
您可能还需要设置属性来控制名称映射。有关详细信息,请参阅参考手册中相应的供应商章节。
5. 根据需要设置其他实现选项(请参阅第75页“设置逻辑综合实现选项”中的选项列表)。点击“确定”。
当您综合设计时,软件会使用您设置的选项来编译和映射设计。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 83

第四章:设置逻辑综合项目设置逻辑综合实现选项
指定时序报告输出
您可以通过设置以下选项来确定时序报告中报告多少内容。
1. 选择 Project->Implementation Options,然后点击 Timing Report 选项卡。 2. 设置您希望软件报告的关键路径数量。

3. 指定您想要在关键路径部分报告的起点和终点的数量。
4. 根据需要设置其他实现选项(请参阅第 75 页“设置逻辑综合实现选项”中的选项列表)。点击“确定”。综合设计时,软件会使用您设置的选项进行编译和映射。
设置 Verilog 和 VHDL 选项
当你设置 Verilog 和 VHDL 源时 file在您的项目中,您还可以指定某些编译器选项。
设置 Verilog File 选项
您设置 Verilog file 通过选择项目->实现选项-> Verilog 或选项->配置 Verilog 编译器来配置选项。

© 2014 Synopsys, Inc. 84

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置逻辑综合实现选项第 4 章:设置逻辑综合项目

1. 指定要使用的 Verilog 格式。
为所有 file在项目中,选择
项目->实现选项->Verilog。如果您使用的是 Verilog 2001 或 SystemVerilog,请查看参考手册以了解支持的结构。
要指定 Verilog 编译器 file 基础上,选择 file 在
项目 view. 右键单击​​并选择 File 选项。选择合适的编译器。默认的 Verilog file 新项目的格式是SystemVerilog。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 85

第四章:设置逻辑综合项目设置逻辑综合实现选项
2. 如果您尚未在项目中执行此操作,请指定顶级模块 view.
3. 要从源代码中提取参数,请执行以下操作:
单击“提取参数”。要覆盖默认值,请为参数输入新值。
软件仅将新值用于当前实现。请注意,混合设计不支持参数提取。

4. 在“编译器指令”中输入指令,并使用空格分隔语句。您可以输入通常在代码中使用“ifdef”和“define”语句输入的指令。例如amp例如,ABC=30 会导致软件将以下语句写入项目 file:
设置选项-hdl_define-设置“ABC=30”
LO

© 2014 Synopsys, Inc. 86

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置逻辑综合实现选项第 4 章:设置逻辑综合项目
5. 在包含路径顺序中,指定 Verilog 的包含命令的搜索路径 file项目中的路径。使用框右上角的按钮可以添加、删除或重新排序路径。
6. 在库目录中,指定包含库的目录的路径 file为您的项目创建路径。使用框右上角的按钮可以添加、删除或重新排序路径。
7. 根据需要设置其他实现选项(请参阅第 75 页“设置逻辑综合实现选项”中的选项列表)。点击“确定”。综合设计时,软件会使用您设置的选项进行编译和映射。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 87

第四章:设置逻辑综合项目设置逻辑综合实现选项
设置 VHDL File 选项
您设置 VHDL file 通过选择项目->实现选项->VHDL 或选项->配置 VHDL 编译器来配置选项。

对于 VHDL 源,您可以指定下面描述的选项。
1. 如果您尚未在项目中执行此操作,请指定顶级模块 view如果顶层模块不在默认工作库中,则必须指定编译器可以找到该模块的库。有关如何执行此操作的信息,请参阅第 200 页的“VHDL 面板”。
您还可以将此选项用于混合语言设计,或者当您想要指定一个不是 HDL Analyst 显示和原理图中 LdOebugging 的实际顶层实体的模块时 views. 2. 对于用户定义的状态机编码,请执行以下操作:
指定您想要使用的编码类型。

© 2014 Synopsys, Inc. 88

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

设置逻辑综合实现选项第 4 章:设置逻辑综合项目
禁用 FSM 编译器。
综合设计时,软件会使用您在此处设置的编译器指令对状态机进行编码,而不会运行 FSM 编译器,因为 FSM 编译器会覆盖编译器指令。或者,您也可以使用 syn_encoding 属性定义状态机,具体说明请参见第 308 页“使用 VHDL 定义状态机”。
3. 要从源代码中提取泛型,请执行以下操作:
单击“提取通用常量”。要覆盖默认值,请为通用常量输入新值。
软件仅将新值用于当前实现。请注意,如果您采用混合语言设计,则无法提取泛型。

4. 要将三态推送到进程/块边界,请检查是否已启用“推送三态”。有关详细信息,请参阅《参考手册》第 212 页的“推送三态”选项。
5. 确定 lysis_on 和 lysis_off 指令的解释:
让编译器解释 synthesis_on 和 lysis_off 指令
像translate_on/translate_off一样,启用“合成开/关”作为“翻译开/关”选项实现。
要忽略 synthesis_on 和 lysis_off 指令,请确保
此选项未选中。有关更多信息,请参阅《参考手册》第 226 页的“translate_off/translate_on”。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 89

第 4 章:设置逻辑综合项目

指定属性和指令

6. 根据需要设置其他实现选项(请参阅第75页“设置逻辑综合实现选项”中的选项列表)。点击“确定”。
当您综合设计时,软件会使用您设置的选项来编译和映射设计。

指定属性和指令

属性和指令是您分配给设计对象的规范,用于控制设计的分析、优化和映射方式。
属性控制映射优化,而指令控制编译器优化。由于这一差异,您必须在源代码中指定指令。下表介绍了可用于创建属性和指令规范的方法:

VHDL Verilog SCOPE 编辑器约束 File

属性 是 是 是 是

指令 是 是 否 否

最好在范围编辑器或约束中指定属性 file因为您无需先重新编译设计。对于指令,您必须先编译设计才能使其生效。
如果范围/约束 file 并且 HDL 源代码都为设计指定了约束,当发生冲突时,约束具有优先权。
有关更多详细信息,请参阅以下内容:
· 使用 VHDL 指定属性和指令,第 91 页 · 使用 Verilog 指定属性和指令,第 92 页 · 使用 SCOPE 编辑器指定属性,第 93 页 · 在约束中指定属性 File,第 97 页

© 2014 Synopsys, Inc. 90

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

指定属性和指令

第 4 章:设置逻辑综合项目

在 VHDL 中指定属性和指令
您可以使用其他方法向对象添加属性,如第 90 页“指定属性和指令”中所述。但是,您只能在源代码中指定指令。在 VHDL 中,有两种定义属性和指令的方法:
· 使用预定义属性包
· 每次使用属性时声明它
有关 VHDL 属性语法的详细信息,请参阅参考手册中第 561 页的“VHDL 属性和指令语法”。

使用预定义 VHDL 属性包
优势tag使用预定义包的好处是,您可以避免在每次将属性和指令包含在源代码中时重新定义它们。缺点tag缺点是源代码的可移植性较差。属性包位于 installDirectory/lib/vhd/synattr.vhd。
1. 要使用软件库中包含的预定义属性包,请将以下几行添加到语法中:
库 synplify;使用 synplify.attributes.all;
2. 在设计单元声明后添加所需的属性或指令。
声明;objectName 的属性 attribute_name:objectType 是值;
例如amp乐:
实体 simpledff 是端口(q:输出 bit_vector(7 downto 0);d:输入 bit_vector(7 downto 0);clk:以位为单位);
clk 的属性 syn_noclockbuf :信号为真;
有关语法约定的详细信息,请参阅参考手册第 561 页的“VHDL 属性和指令语法”。
3.添加源 file 到项目。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 91

第 4 章:设置逻辑综合项目

指定属性和指令

声明 VHDL 属性和指令
如果不使用属性包,则每次将属性包含在源代码中时都必须重新定义它们。
1. 每次使用属性或指令时,请使用以下语法在设计单元声明后立即定义它:
design_unit_declaration ; 属性 attributeName : dataType ; objectName 的属性 attributeName : objectType 是值;
例如amp乐:
实体 simpledff 是端口(q:输出 bit_vector(7 downto 0);d:输入 bit_vector(7 downto 0);clk:以位为单位);
属性 syn_noclockbuf : 布尔值;clk 的属性 syn_noclockbuf : 信号为真;
2.添加源 file 到项目。

在 Verilog 中指定属性和指令
您可以使用其他方法向对象添加属性,如第 90 页的指定属性和指令中所述。但是,您只能在源代码中指定指令。
Verilog 没有预定义的综合属性和指令,因此必须将它们添加为注释。属性或指令名称前面带有关键字 chemistry。Verilog files 区分大小写,因此属性和指令必须完全按照其语法描述中的方式指定。有关语法详细信息,请参阅《参考手册》第 363 页的“Verilog 属性和指令语法”。
1. 要在 Verilog 中添加属性或指令,请在设计对象后直接使用 Verilog 行注释或块注释(C 风格)语法。块注释必须位于分号之前(如果有)。
LO

© 2014 Synopsys, Inc. 92

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

指定属性和指令

第 4 章:设置逻辑综合项目

Verilog块注释语法
/* 合成属性名称 = 值 */ /* 合成目录名称 = 值 */

Verilog 行注释语法
// 合成属性名称 = 值 // 合成目录名称 = 值

有关语法规则的详细信息,请参阅《参考手册》第 363 页的“Verilog 属性和指令语法”。以下是示例amp莱斯:
模块 fifo(out, in) /* 合成 syn_hier = “hard” */;
2. 要将多个属性或指令附加到同一个对象,请使用空格分隔属性,但不要重复 synthesis 关键字。请勿使用逗号。例如amp乐:
案例状态/*综合全案例并行案例*/;
3. 如果使用单个 Verilog reg 语句定义多个寄存器,并对其应用属性,则综合软件仅应用 reg 语句中最后声明的寄存器。例如amp乐:
reg [5:0] q, q_a, q_b, q_c, q_d /* 合成 syn_preserve=1 */;
syn_preserve 属性仅适用于 q_d。这是综合工具的预期行为。要将此属性应用于所有寄存器,必须为每个寄存器使用单独的 Verilog reg 语句并应用该属性。

使用 SCOPE 编辑器指定属性
SCOPE 窗口提供了一个易于使用的界面来添加任何属性。您不能使用它来添加指令,因为它们必须添加到源中 files. (请参阅第 91 页的“在 VHDL 中指定属性和指令”或第 92 页的“在 Verilog 中指定属性和指令”)。以下步骤显示如何在 SCOPE 窗口中直接添加属性。
1. 从已编译的设计开始,打开“范围”窗口。要将属性添加到现有约束 file,通过单击现有的 file 在项目中 view. 要将属性添加到新的 file,单击 SCOPE 图标,然后单击初始化以打开 SCOPE 窗口。
2. 单击 SCOPE 窗口底部的“属性”选项卡。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 93

第 4 章:设置逻辑综合项目

指定属性和指令

您可以先选择对象(步骤 3),也可以先选择属性(步骤 4)。

3. 要指定对象,请在“对象”列中执行以下操作之一。如果您已指定属性,则“对象”列仅列出该属性的有效对象选项。
在对象过滤器列中选择对象的类型,然后选择一个
从“对象”列的选项列表中选择对象。这是确保您指定合适的对象并使用正确语法的最佳方法。

© 2014 Synopsys, Inc. 94

LO
Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

指定属性和指令

第 4 章:设置逻辑综合项目

将要附加属性的对象从
RTL 或技术 view拖放到 SCOPE 窗口中的 Object 列。对于某些属性,拖放操作可能无法选择正确的对象。例如amp例如,如果你想在模块或实体(如与门)上设置 syn_hier,你必须在 view 该模块的对应对象。对象语法如下:Verilog 中的 v:moduleName,或 VHDL 中的 v:library.moduleName,其中可以包含多个库。
在“对象”列中输入对象的名称。如果您不知道
名称,请使用“查找”命令或“对象过滤器”列。确保在需要的位置为对象输入适当的前缀。例如,amp例如,设置属性 view,则必须在模块或实体名称中添加 v: 前缀。对于 VHDL,您可能需要指定库以及模块名称。
4. 如果您先指定了对象,现在可以指定属性。列表仅显示所选对象类型的有效属性。通过在“属性”列中按住鼠标按钮并从列表中选择一个属性来指定属性。

如果您先选择了对象,则可用的选项由所选对象和您正在使用的技术决定。如果您先选择了属性,则可用的选项由该技术决定。
选择某个属性时,“范围”窗口会告知您必须为该属性输入哪种类型的值,并提供该属性的简要描述。如果您先选择了该属性,请务必返回并指定对象。
5. 填写值。在“值”列中按住鼠标按钮,然后从列表中选择。您也可以直接输入值。

Synplify Pro for Microsemi 版本用户指南 2014 年 XNUMX 月

© 2014 Synopsys, Inc. 95

第四章:建立逻辑系统

文件/资源

SYnOPSYS FPGA 综合 Synplify Pro(Microsemi 版) [pdf] 用户指南
FPGA 综合 Synplify Pro for Microsemi 版、综合 Synplify Pro for Microsemi 版、Synplify Pro for Microsemi 版、Pro for Microsemi 版、Microsemi 版、版本

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *