插入低层次网表或第三方IP网表

博客提及FPGA和网表相关内容,具体信息详见UG901第27页开始部分。

详见UG901第27页开始。



<think>嗯,用户的问题是关于DC综合工具是否能吃入再吐出。首先,需要确认用户提到的"吃入"和"吐出"具体指什么。在EDA工具中,通常输入的是硬件描述语言如VerilogVHDL,输出的是门级。但用户问的是输入的情况,这可能涉及到不同设计阶段。 用户可能正在处理一个已经部分综合过的设计,者需要重用现有。这时候需要明确DC的工作流程。Design Compiler的主要功能是将RTL代码综合为门级,但同时也支持作为输入。例如,当设计包含预综合IP模块时,这些模块可能以形式提供。DC可以读取这些,并将其整合到整个设计中,最后输出包含这些模块的完整。 另外,用户可能关心修改后的处理。DC确实允许对输入的进行优化,比如调整时序、面积等,然后重新生成优化后的。这时候的输入可能是之前综合的结果,用户希望进一步优化而不重新从头综合。 还需要注意文件格式的支持。DC通常支持Verilog、VHDL、EDIF等格式的输入。但不同版本可能支持程度不同,用户需要查阅文档确认。此外,输出时,可能需要指定参数,如是否保留层次结构、使用哪种格式等,这些都会影响最终结果。 用户可能存在的深层需求是设计迭代的效率。例如,在大型项目中,某些模块不变,只需重新综合部分模块。此时,输入可以节省时间。另外,用户可能想了解DC在流程中的灵活性,比如与其他工具(如Formality)的配合,输入进行形式验证等。 最后,要确认用户是否有具体场景,比如遇到问题需要优化建议。但根据当前问题,重点还是功能上的确认。因此,总结时需要明确DC的能力,支持输入并输出,同时指出应用场景和注意事项,如文件格式和优化选项。</think>是的,**DC综合工具可以吃入文件并再次吐出(生成)文件**。这是DC支持的标准流程之一。 以下是详细说明: 1. **输入 (`read`):** * DC可以读取多种格式的文件作为设计的起点。常见的格式包括: * `.v` / `.vg`:Verilog * `.vhd`:VHDL * `.ddc`:Synopsys 专有的、包含丰富信息的数据库格式(强烈推荐) * `.edif`:EDIF * 使用命令 `read_verilog`, `read_vhdl`, `read_ddc`, `read_edif` 等来读入文件。例如: ```tcl read_verilog my_input_netlist.v ``` ```tcl read_ddc pre_synthesized_block.ddc ``` * 读入后,DC会将设计加载到内存中,就像它读入RTL代码一样。设计此时处于门级示状态。 2. **处理:** * 一旦被读入内存,DC可以对其进行多种操作: * **链接 (`link`):** 确保所有子模块引用的单元库都能正确解析。 * **施加约束 (`create_clock`, `set_input_delay` 等):** 为设计定义时序、面积、功耗等目标。 * **编译/优化 (`compile_ultra` 等):** 这是关键步骤。即使输入是,DC仍然可以对其进行**增量优化****再优化**。例如: * 应用新的、更严格的约束。 * 使用更新的不同的目标库。 * 进行布局感知的综合(如果启用了拓扑模式)。 * 执行设计规则检查(DRC)修复。 * 优化功耗。 * **分析 (`report_timing`, `report_area`, `report_power` 等):** 评估优化后的设计质量。 * **其他操作:** 如插入扫描链(DFT)、边界扫描(JTAG)等。 3. **输出 (`write`):** * 在处理(尤其是优化)之后,DC可以将内存中的设计(此时是优化后的门级)再次写出为文件。 * 使用命令 `write -format verilog`, `write -format ddc`, `write -format edif` 等来输出。例如: ```tcl write -format verilog -hierarchy -output my_output_netlist.v ``` * `-hierarchy` 选项通常用于保留设计的层次结构。 * **输出格式的选择非常重要:** * **`.ddc`:** Synopsys 专有格式。**强烈推荐**作为中间步骤存档,因为它包含了最完整的综合信息(、约束、时序、物理信息(如果可用)、符号连接等),可以被下游Synopsys工具(如IC Compiler, PrimeTime)无缝读取。它也是DC读回设计的最佳格式。 * **Verilog/VHDL:** 标准的、可移植的门级格式。通常用于交付给其他非Synopsys工具(如仿真器、形式验证工具、其他布局布线工具)作为最终签核。**注意:** 纯文本可能丢失一些在`.ddc`中保存的额外信息(如精确的线负载模型)。 * **`.edif`:** 另一种标准格式,某些布局布线工具偏好使用。 **典型应用场景:** 1. **增量综合/再优化:** * 读入之前综合生成的(`.v` `.ddc`)。 * 应用新的约束(如更快的时钟频率、更低的功耗目标)。 * 进行增量编译优化。 * 写出优化后的新。 2. **使用预综合模块/IP:** * 读入第三方提供的、已经预先综合并优化好的模块/IP(通常是加密的 `.v` `.ddc`)。 * 将其作为“黑盒”可进一步优化的模块集成到顶层设计中。 * 综合顶层设计。 * 写出包含预综合模块的完整顶层。 3. **设计交换:** * 从一个综合环境(如使用A库)读入。 * 在另一个综合环境(如使用B库)中链接、重新映射、优化。 * 写出针对新库优化的。 4. **分层流程:** * 先综合子模块,写出子模块(`.ddc`)。 * 在顶层综合时,读入这些子模块作为已实现的模块。 * 综合顶层逻辑,优化顶层与子模块之间的接口。 * 写出包含所有层级的完整。 **总结:** DC综合的核心功能就是将一种设计示(无论是RTL还是门级)转换为另一种优化后的门级示。因此,**读入门级作为输入,经过处理(链接、约束、优化)后,再输出一个新的门级,是DC完全支持的标准操作模式。** 选择 `.ddc` 格式作为输入输出通常能保留最完整的信息并确保流程顺畅[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值