您的位置:首页 > 健康 > 美食 > 南昌地宝网招聘信息_常熟滨江开发区人才网_现在外贸推广做哪个平台_seo网站免费优化软件

南昌地宝网招聘信息_常熟滨江开发区人才网_现在外贸推广做哪个平台_seo网站免费优化软件

2025/5/3 20:01:34 来源:https://blog.csdn.net/weixin_43340455/article/details/147499720  浏览:    关键词:南昌地宝网招聘信息_常熟滨江开发区人才网_现在外贸推广做哪个平台_seo网站免费优化软件
南昌地宝网招聘信息_常熟滨江开发区人才网_现在外贸推广做哪个平台_seo网站免费优化软件

目录

一、DC Shell 逻辑综合的整体架构概览

⛓️ 逻辑综合的主要阶段(Pipeline)

二、核心架构模块详解

1. Internal Database(设计对象数据库)

2. Scheduler(调度器)

3. Rewriting Engine(表达式重写器)

4. Datapath Engine

5. Mapping Engine

三、脚本化流程(TCL 下的控制路径)

四、HLO 和 datapath 的联系


一、DC Shell 逻辑综合的整体架构概览

Design Compiler(DC)作为 Synopsys 的旗舰综合工具,其底层架构是高度模块化的,以“中间表示(IR)”驱动的静态调度优化器(Static Scheduling Optimizer)为核心,依次执行 RTL 解析、静态数据流图构建、表达式转换、逻辑优化、结构优化、时序收敛与映射几个阶段。

⛓️ 逻辑综合的主要阶段(Pipeline)

  1. RTL Parser(前端)

    • 解析 Verilog/VHDL,构建 Abstract Syntax Tree(AST)
    • 提取模块、端口、变量、过程控制结构
  2. Elaboration

    • 实例化模块、分层展开(flatten or preserve hierarchy)
    • 初始化数据类型、生成 Design Object(internal DB)
  3. High-Level Optimization(HLO)

    • 将行为级表达式转换为静态数据流图(SDFG)
    • 尝试对复杂表达式进行调度、绑定、重写(rewriting)
  4. Datapath Optimization

    • 构建 datapath 节点(adder、shifter、multiplier、MUX)
    • 进行资源共享、调度、绑定(binding)
    • 特殊处理乘法、条件选择等结构
  5. Logic Optimization

    • 布尔优化(常量传播、冗余移除、factorization)
    • Common subexpression elimination
  6. Mapping

    • 将中间结构(GTECH cells)映射为目标库中的元件(standard cells or custom cells)
    • 基于时序、面积、功耗做代价驱动的选择
  7. Post-Mapping Optimization

    • Retiming、buffer insertion、gate resizing、logic duplication
    • 时序闭合
  8. Netlist Generation

    • 输出 gate-level netlist(Verilog),或 GTECH(generic technology)表示

二、核心架构模块详解

1. Internal Database(设计对象数据库)

DC 所有 design 元素(cell、net、pin、expr、mux、dp node)都以对象存在于 Internal DB 中。常用的数据结构有:

  • design:顶层模块
  • net / port / pin
  • dp_node:datapath node,封装如 adder、multiplier
  • expression_tree:行为表达式树,供 HLO 重写器处理
  • 属性系统:所有对象可携带 attribute(可以通过 get_attribute 操作)

2. Scheduler(调度器)

核心的调度引擎是 DC 的灵魂。它决定表达式中每个操作应在哪个“cycle”执行,或是否跨越 cycle 边界:

  • 基于控制依赖与数据依赖图(DFG)
  • 考虑 path slack、resource sharing、binding 成本
  • 配合 timing engine 实时计算 slack 和 delay

3. Rewriting Engine(表达式重写器)

HLO 中的重要部分,处理结构变换,比如:

  • a + (b + c) 重写为 (a + b) + c
  • (sel) ? a : b 转换为 mux 构造形式
  • 探测 shared pattern(子表达式共享)

4. Datapath Engine

datapath 引擎负责将 SDFG 图中的操作构建为硬件友好的 datapath 单元(而非离散 gates):

  • 构造 datapath 节点(如 dp_adder、dp_mux)
  • 调用绑定器将 dp_node 绑定到实现(如 multiplier)
  • 尝试资源复用与 cross-cycle 构造

这一步是能否提升面积/功耗的关键步骤,也最容易失败。

5. Mapping Engine

将 GTECH 表达式映射为标准 cell。这里会调用:

  • Cell selector:遍历 cell library 寻找合适 cell
  • Timing annotator:估计时延
  • Area/capacitive cost estimator:为选择提供权重

三、脚本化流程(TCL 下的控制路径)

dc_shell 的整体流程可以通过一套典型的脚本来掌控:

read_verilog design.v
elaborate top
linkset_synlib_optimization true
compile_ultra -gate_clock -no_autoungroup
write -f verilog -hierarchy -o top_mapped.v

高级用户可以用:

  • set_attribute 设置 datapath behavior
  • report_dp_* 查看 datapath 构建状况
  • ungroup / compile_ultra -no_autoungroup 控制优化范围

四、HLO 和 datapath 的联系

HLO → datapath 优化之间是密切耦合的。

  • HLO 提供了 datapath 构建的 结构语义信息(表达式树)
  • Datapath 引擎在 HLO 成功 schedule 后尝试构造硬件资源映射
  • 若 HLO 失败(如表达式无法调度),datapath 优化必然失败
  • 某些 mux 无法构建常常是 expression 没有被合法 rewrite 成 static conditional

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com