bd_gen.tcl 代码功能与 CONFIG 变量分析

发布时间:2026/7/19 21:35:26
bd_gen.tcl 代码功能与 CONFIG 变量分析 hsb分析对象fpga/pynq/rfsoc-pynq/build/ip/bd_gen.tcl用途Vivado Block Design (BD) 自动化生成脚本用于创建design_1.bdCMAC USPLUS 100GbE 子系统。1. 脚本整体结构与执行流程┌─────────────────────────────────────────────────────────────┐ │ 1. 环境初始化版本/器件/路径变量 │ ├─────────────────────────────────────────────────────────────┤ │ 2. Vivado 版本兼容性检查 │ ├─────────────────────────────────────────────────────────────┤ │ 3. 项目创建如不存在 │ ├─────────────────────────────────────────────────────────────┤ │ 4. IP 可用性预检查 (require_ip_defs) │ ├─────────────────────────────────────────────────────────────┤ │ 5. 创建空白 Block Design (create_remote_bd) │ ├─────────────────────────────────────────────────────────────┤ │ 6. 核心构建逻辑 (create_design) │ │ ├── 6.1 声明外部接口端口 (差分时钟/GT/DRP/控制/AXIS) │ │ ├── 6.2 声明外部标量端口 (时钟/复位/状态) │ │ ├── 6.3 实例化并配置 CMAC USPLUS IP │ │ ├── 6.4 实例化并配置 Clock Wizard IP │ │ ├── 6.5 实例化常量 0 IP (Tie-off 未用端口) │ │ ├── 6.6 接口级连线 (connect_bd_intf_net) │ │ └── 6.7 标量连线 (connect_bd_net) │ ├─────────────────────────────────────────────────────────────┤ │ 7. 验证并保存 BD (validate_bd_design / save_bd_design) │ └─────────────────────────────────────────────────────────────┘2. 逐段代码功能详解2.1 环境初始化第 21–28 行set required_vivado 2024.1 set part_name xczu48dr-ffvg1517-2-e set design_name design_1 set bd_root [file normalize ./bd] if {[info exists ::origin_dir_loc]} { set bd_root [file normalize $::origin_dir_loc] }变量含义作用required_vivado目标 Vivado 版本确保脚本与生成该 BD 的 Vivado 版本一致避免 IP 升级带来的参数差异part_name目标器件型号xczu48dr是 Zynq UltraScale RFSoC 器件-2速度等级内含 GTY 收发器支持 100G CAUI-4design_nameBD 文件名最终生成design_1/design_1.bdbd_rootBD 存放根目录默认为./bd若被上层build.tcl调用则通过全局变量::origin_dir_loc重定向到构建目录2.2 Vivado 版本与项目检查第 31–39 行if {[string first $required_vivado [version -short]] -1} { error This BD script expects Vivado $required_vivado, but found [version -short] } if {[get_projects -quiet] eq } { create_project project_1 myproj -part $part_name }版本检查通过[version -short]获取当前 Vivado 版本若与required_vivado不匹配则报错终止。这是为了防止使用 2023.x 或 2025.x 打开时因 IP 升级导致 CONFIG 参数变化。项目懒创建如果当前 Tcl 解释器上下文已有 Vivado 工程如被build.tcl调用直接复用否则在myproj目录下创建一个临时工程。2.3 IP 可用性预检查第 42–54 行proc require_ip_defs {ip_defs} { set missing {} foreach ip_vlnv $ip_defs { if {[get_ipdefs -all $ip_vlnv] eq } { lappend missing $ip_vlnv } } if {[llength $missing] ! 0} { error Missing IP definitions: $missing } }通过[get_ipdefs -all]查询 Vivado IP Catalog 中是否存在指定的VLNVVendor:Library:Name:Version。若任一 IP 缺失如未安装CMAC USPLUSlicense 或 IP 被删除在脚本运行早期即报错避免在 BD 构建中途失败。2.4 创建空白 Block Design第 57–72 行proc create_remote_bd {design_name bd_root} { set bd_file [file normalize $bd_root/$design_name/$design_name.bd] if {[file exists $bd_file]} { error BD already exists: $bd_file } if {[get_bd_designs -quiet $design_name] ne } { error ... } if {[get_files -quiet */${design_name}.bd] ne } { error ... } create_bd_design -dir $bd_root $design_name current_bd_design $design_name }三重防重入检查文件系统、内存中的 BD 对象、当前工程中的文件防止重复创建。-dir $bd_root指定 BD 文件以remote方式存放不在工程目录内而是外部路径便于多工程复用。2.5 核心构建过程create_design第 75–275 行2.5.1 父级单元定位第 76–89 行if {$parent_cell eq } { set parent_cell [get_bd_cells /] } set parent_obj [get_bd_cells $parent_cell] current_bd_instance $parent_obj通过current_bd_instance切换当前构建上下文到指定的层级单元此处为根/后续所有create_bd_*命令都在该层级下创建对象。2.5.2 外部接口端口声明第 92–139 行这些端口会成为 BD 的顶层接口在eth_100gb_top.sv中作为design_1模块的接口信号被实例化。接口名模式VLNV / 类型对应 Verilog 信号gt_ref_clk_0Slavexilinx.com:interface:diff_clock_rtl:1.0gt_ref_clk_0_clk_p/ngt_serial_port_0Masterxilinx.com:interface:gt_rtl:1.0gt_serial_port_0_grx/gtx_p/ncore_drp_0Slavexilinx.com:interface:drp_rtl:1.0core_drp_0_*ctl_rx_0Slavexilinx.com:display_cmac_usplus:ctrl_ports:2.0ctl_rx_0_*ctl_tx_0Slavexilinx.com:display_cmac_usplus:ctrl_ports:2.0ctl_tx_0_*axis_tx_0Slavexilinx.com:interface:axis_rtl:1.0axis_tx_0_tdata/tkeep/...axis_rx_0Masterxilinx.com:interface:axis_rtl:1.0axis_rx_0_tdata/tkeep/...2.5.3 外部标量端口声明第 141–151 行set clk_out1_0 [create_bd_port -dir O -type clk clk_out1_0] set gt_txusrclk2_0 [create_bd_port -dir O -type clk gt_txusrclk2_0] set stat_rx_aligned_0 [create_bd_port -dir O stat_rx_aligned_0] ...这些标量端口通过create_bd_port创建方向I/O、数据类型clk/rst和位宽-from/-to显式指定。2.5.4 CMAC USPLUS IP 实例化第 158–170 行set cmac_usplus_0 [create_bd_cell -type ip -vlnv xilinx.com:ip:cmac_usplus:3.1 cmac_usplus_0] set_property -dict [list \ CONFIG.CMAC_CAUI4_MODE 1 \ CONFIG.GT_REF_CLK_FREQ 156.25 \ CONFIG.INS_LOSS_NYQ 1 \ CONFIG.RX_EQ_MODE LPM \ CONFIG.RX_FLOW_CONTROL 0 \ CONFIG.TX_FLOW_CONTROL 0 \ CONFIG.USER_INTERFACE AXIS \ ] $cmac_usplus_0这是整个 BD 的核心版本为3.1配置为CAUI-4 AXI4-Stream模式。2.5.5 Clock Wizard IP 实例化第 173–195 行set clk_wiz_0 [create_bd_cell -type ip -vlnv xilinx.com:ip:clk_wiz:6.0 clk_wiz_0]从 CMAC 输出的gt_txusrclk2(~322 MHz) 分频得到 50 MHz (clk_out1) 和 100 MHz (clk_out2)分别作为 APB 控制时钟和 PTP 时钟。2.5.6 常量 0 IP第 198–202 行set xlconstant_0 [create_bd_cell -type ip -vlnv xilinx.com:ip:xlconstant:1.1 xlconstant_0] set_property CONFIG.CONST_VAL 0 $xlconstant_0生成全 0 常量用于 Tie-off CMAC 上未使用的复位和 DRP 端口。2.5.7 连线第 205–270 行接口连线(connect_bd_intf_net)将 BD 顶层接口与 CMAC 的对应接口 pin 相连AXIS、GT、DRP、控制接口等。标量连线(connect_bd_net)将时钟、复位、状态信号在端口和 IP pin 之间连接。特别注意gt_txusrclk2同时驱动clk_wiz_0/clk_in1和cmac_usplus_0/rx_clk确保 RX 和 TX 同源同频。xlconstant_0/dout同时连接到 7 个 CMAC 未用端口见下文分析。2.5.8 验证与保存第 273–274 行validate_bd_design save_bd_designvalidate_bd_design执行 Vivado 的 BD 规则检查如时钟关联性、接口兼容性、未连接端口告警等。save_bd_design将内存中的 BD 对象持久化到磁盘.bd文件。3. CONFIG 变量全景分析CONFIG是 Vivado Block Design Tcl API 的标准属性前缀用于设置 IP、接口、端口的配置参数。以下按作用对象分类逐一说明其定义、来源、含义与作用。3.1 差分时钟接口属性 (gt_ref_clk_0)set_property CONFIG.FREQ_HZ 156250000 $gt_ref_clk_0属性值来源含义与作用CONFIG.FREQ_HZ156250000Vivado 接口标准属性声明该差分时钟接口的频率为156.25 MHz。Vivado 使用时钟频率信息进行时序约束、时钟域检查以及下游 IP 的时钟参数自动推导。对应外部晶振或时钟发生器输出。3.2 AXI4-Stream TX 接口属性 (axis_tx_0)set_property -dict [list \ CONFIG.HAS_TKEEP 1 \ CONFIG.HAS_TLAST 1 \ CONFIG.HAS_TREADY 1 \ CONFIG.HAS_TSTRB 0 \ CONFIG.LAYERED_METADATA undef \ CONFIG.TDATA_NUM_BYTES 64 \ CONFIG.TDEST_WIDTH 0 \ CONFIG.TID_WIDTH 0 \ CONFIG.TUSER_WIDTH 1 \ ] $axis_tx_0属性值来源含义与作用CONFIG.HAS_TKEEP1AXI4-Stream RTL Interface 标准接口包含tkeep信号。用于字节级有效指示64 字节 → 64-bit tkeep在 100G 以太网帧传输中必须支持。CONFIG.HAS_TLAST1AXI4-Stream RTL Interface 标准接口包含tlast信号。用于标识数据包最后一个 beat是帧边界检测的关键信号。CONFIG.HAS_TREADY1AXI4-Stream RTL Interface 标准接口包含tready信号。启用反压机制CMAC 在无法接收数据时可通过tready反压上游 HOLOLINK 逻辑。CONFIG.HAS_TSTRB0AXI4-Stream RTL Interface 标准不包含tstrb信号。因为以太网传输使用tkeep进行字节使能控制tstrb不必要。CONFIG.LAYERED_METADATAundefVivado 接口属性不附加分层元数据总线。保持接口简洁不使用 AXI 视频/以太网专用元数据层。CONFIG.TDATA_NUM_BYTES64AXI4-Stream RTL Interface 标准数据总线宽度为64 字节 512 bit。这是 CAUI-4 模式下 CMAC 的标准 AXIS 数据宽度64B × 322MHz ≈ 164Gbps 100Gbps满足吞吐量需求。CONFIG.TDEST_WIDTH0AXI4-Stream RTL Interface 标准不使用tdest路由信号。CMAC 为点对点连接无需路由信息。CONFIG.TID_WIDTH0AXI4-Stream RTL Interface 标准不使用tid信号。同样因为是单通道点对点连接。CONFIG.TUSER_WIDTH1AXI4-Stream RTL Interface 标准tuser宽度为 1 bit。在 CMAC AXIS 接口中tuser通常承载错误/状态指示如tx_mty或自定义标志此处保留最小宽度。3.3 AXI4-Stream RX 接口属性 (axis_rx_0)set_property CONFIG.FREQ_HZ 322265625 $axis_rx_0属性值来源含义与作用CONFIG.FREQ_HZ322265625Vivado 接口标准属性声明 RX AXIS 接口的工作频率为322.265625 MHz即 322.266 MHz。这是 CMAC CAUI-4 模式下 GT 恢复出的gt_txusrclk2标称频率。Vivado 据此进行时序分析和接口频率一致性校验。注TX 接口未显式设置FREQ_HZ因为 Vivado 会自动从关联时钟gt_txusrclk2_0的CONFIG.ASSOCIATED_BUSIF属性推导 TX AXIS 的频率。3.4 时钟端口属性 (gt_txusrclk2_0)set_property -dict [list CONFIG.ASSOCIATED_BUSIF axis_tx_0] $gt_txusrclk2_0 set_property CONFIG.ASSOCIATED_BUSIF.VALUE_SRC DEFAULT $gt_txusrclk2_0属性值来源含义与作用CONFIG.ASSOCIATED_BUSIFaxis_tx_0Vivado 时钟端口标准属性时钟-总线关联。声明gt_txusrclk2_0时钟端口驱动关联axis_tx_0总线接口。Vivado 据此自动推断axis_tx_0的时钟域并在生成 Verilog Wrapper 时建立正确的时钟约束。CONFIG.ASSOCIATED_BUSIF.VALUE_SRCDEFAULTVivado 属性元数据指定关联总线属性的值来源为默认值。这告诉 Vivado 该关联是用户显式设定但在升级或重新定制 IP 时作为默认处理防止自动推导覆盖用户意图。3.5 复位端口属性 (sys_reset_0)set_property CONFIG.POLARITY ACTIVE_HIGH $sys_reset_0属性值来源含义与作用CONFIG.POLARITYACTIVE_HIGHVivado 复位端口标准属性声明sys_reset_0为高电平有效复位。Vivado 在生成接口元数据和约束时会据此处理复位极性并在 Block Design 可视化中以标准复位图标显示。3.6 CMAC USPLUS IP 核心配置第 162–170 行这些CONFIG参数直接来自Xilinx CMAC USPLUS IP (v3.1)的定制选项GUI 中可配置决定了 CMAC 的工作模式、物理层参数和协议特性。set_property -dict [list \ CONFIG.CMAC_CAUI4_MODE 1 \ CONFIG.GT_REF_CLK_FREQ 156.25 \ CONFIG.INS_LOSS_NYQ 1 \ CONFIG.RX_EQ_MODE LPM \ CONFIG.RX_FLOW_CONTROL 0 \ CONFIG.TX_FLOW_CONTROL 0 \ CONFIG.USER_INTERFACE AXIS \ ] $cmac_usplus_0属性值来源含义与作用CONFIG.CMAC_CAUI4_MODE1CMAC USPLUS IP GUI / XCI启用 CAUI-4 模式。1表示使用 4 路 GTY 收发器每路 25.78125 Gbps实现 100G 以太网。若设为0则可能为 CAUI-1010x10G或 100GAUI-22x53.125G。这直接决定了 GT 通道数4 路和 SerDes 数据位宽。CONFIG.GT_REF_CLK_FREQ156.25CMAC USPLUS IP GUI / XCIGT 参考时钟频率为 156.25 MHz。该频率经 GT 内部 PLL 倍频后产生 25.78125 Gbps 的线速率156.25 MHz × 66/4 × 10 25.78125 GHz的 PCS 时钟再经编码映射。必须与板级硬件提供的差分时钟频率严格匹配。CONFIG.INS_LOSS_NYQ1CMAC USPLUS IP GUI / XCI插入损耗Insertion Loss配置。值为1对应约1 dB Nyquist的通道损耗模型。该参数影响 GT 内部的 TX 驱动强度、RX 均衡器CTLE/DFE的初始设置。对于短距离背板或直连场景1 dB 是典型保守值。CONFIG.RX_EQ_MODELPMCMAC USPLUS IP GUI / XCIRX 均衡模式为 LPMLow Power Mode。GTY 接收端可使用 DFEDecision Feedback Equalizer或 LPM。LPM 功耗更低、延迟更小适用于损耗较小、串扰较低的高质量通道如直接DAC/ADC连接或短距光模块。若通道质量差需改为DFE。CONFIG.RX_FLOW_CONTROL0CMAC USPLUS IP GUI / XCI禁用 RX 方向全局/优先级流控Pause Frame。0表示 CMAC 不解析或处理接收到的 Pause 帧将其作为普通数据帧传递给用户逻辑。简化了逻辑但在拥塞时无法通过以太网标准 Pause 机制反压对端。CONFIG.TX_FLOW_CONTROL0CMAC USPLUS IP GUI / XCI禁用 TX 方向流控。0表示 CMAC 不会根据用户逻辑请求生成 Pause 帧。与 RX 流控同时禁用说明该设计完全不使用 IEEE 802.3x 以太网 Pause 机制依赖应用层或 HOLOLINK 内部机制处理反压。CONFIG.USER_INTERFACEAXISCMAC USPLUS IP GUI / XCI用户侧数据接口为 AXI4-Stream。可选值为AXIS或LBUS分段本地总线。AXIS 为 512-bit 宽的单总线接口协议简单、与 Xilinx 生态兼容性好LBUS 为 4 段 128-bit 并行总线延迟更低但逻辑更复杂。此处选择 AXIS 以简化 HOLOLINK 集成。3.7 Clock Wizard IP 配置第 177–195 行这些CONFIG参数来自Clocking Wizard (v6.0)IP用于从 322.265625 MHz 生成 50 MHz 和 100 MHz 辅助时钟。set_property -dict [list \ CONFIG.CLKIN1_JITTER_PS 31.03 \ CONFIG.CLKOUT1_JITTER 175.085 \ CONFIG.CLKOUT1_PHASE_ERROR 280.757 \ CONFIG.CLKOUT1_REQUESTED_OUT_FREQ 50.000 \ CONFIG.CLKOUT2_JITTER 159.339 \ CONFIG.CLKOUT2_PHASE_ERROR 280.757 \ CONFIG.CLKOUT2_USED true \ CONFIG.MMCM_CLKFBOUT_MULT_F 108.625 \ CONFIG.MMCM_CLKIN1_PERIOD 3.103 \ CONFIG.MMCM_CLKIN2_PERIOD 10.0 \ CONFIG.MMCM_CLKOUT0_DIVIDE_F 28.000 \ CONFIG.MMCM_CLKOUT1_DIVIDE 14 \ CONFIG.MMCM_DIVCLK_DIVIDE 25 \ CONFIG.NUM_OUT_CLKS 2 \ CONFIG.PRIM_IN_FREQ 322.265625 \ CONFIG.PRIM_SOURCE Global_buffer \ CONFIG.USE_RESET false \ ] $clk_wiz_0属性值来源含义与作用CONFIG.PRIM_IN_FREQ322.265625Clocking Wizard GUI主输入时钟频率。与 CMAC 输出的gt_txusrclk2频率一致是 MMCM 的时钟源。CONFIG.PRIM_SOURCEGlobal_bufferClocking Wizard GUI输入时钟经过全局缓冲BUFG后进入 MMCM。表明输入时钟已经是全局低偏斜时钟网络。CONFIG.NUM_OUT_CLKS2Clocking Wizard GUI启用2 路输出时钟CLKOUT1 和 CLKOUT2。CONFIG.CLKOUT1_REQUESTED_OUT_FREQ50.000Clocking Wizard GUI第一路输出请求频率 50 MHz。对应clk_out1_0作为 APB 控制平面时钟。CONFIG.CLKOUT2_USEDtrueClocking Wizard GUI启用第二路输出。对应clk_out2_0。CONFIG.MMCM_CLKIN1_PERIOD3.103Clocking Wizard 自动计算输入时钟周期1/322.265625 MHz ≈ 3.103 ns用于 MMCM 内部 VCO 频率计算。CONFIG.MMCM_CLKFBOUT_MULT_F108.625Clocking Wizard 自动计算MMCM 反馈倍频系数。VCO 频率 322.265625 MHz × 108.625 / 25 ≈ 1400.6 MHz在 800–1600 MHz 范围内。CONFIG.MMCM_DIVCLK_DIVIDE25Clocking Wizard 自动计算预分频系数将输入时钟先除以 25 再进入 PLL。CONFIG.MMCM_CLKOUT0_DIVIDE_F28.000Clocking Wizard 自动计算CLKOUT0即 clk_out1分频系数。1400.6 MHz / 28 ≈ 50 MHz。CONFIG.MMCM_CLKOUT1_DIVIDE14Clocking Wizard 自动计算CLKOUT1即 clk_out2分频系数。1400.6 MHz / 14 ≈ 100 MHz。CONFIG.CLKIN1_JITTER_PS31.03Clocking Wizard 自动计算输入时钟抖动预算峰峰值ps用于 Vivado 时序分析中的时钟不确定性计算。CONFIG.CLKOUT1_JITTER/CONFIG.CLKOUT2_JITTER175.085/159.339Clocking Wizard 自动计算输出时钟抖动ps由 MMCM 的相位噪声模型计算得出。CONFIG.CLKOUT1_PHASE_ERROR/CONFIG.CLKOUT2_PHASE_ERROR280.757Clocking Wizard 自动计算输出时钟相对于理想相位的静态相位误差ps用于时序裕量分析。CONFIG.USE_RESETfalseClocking Wizard GUI不使用 Clocking Wizard 的专用复位端口。复位由外部系统统一管理简化端口数量。CONFIG.MMCM_CLKIN2_PERIOD10.0Clocking Wizard 默认第二路输入时钟周期默认值10 ns 100 MHz。因未启用 CLKIN2 切换功能此参数无实际作用仅为 GUI 保留的默认填充值。3.8 常量 IP 配置 (xlconstant_0)set_property CONFIG.CONST_VAL 0 $xlconstant_0属性值来源含义与作用CONFIG.CONST_VAL0XLConstant IP GUI常量输出值为0。该 IP 输出位宽可自动适配连接目标Vivado 自动推断此处通过 1-bit 全 0 信号经自动位宽扩展后同时 Tie-off 了 7 个 CMAC 未用端口见 3.9。3.9 被 Tie-off 的 CMAC 端口第 263–270 行connect_bd_net -net xlconstant_0_dout \ [get_bd_pins xlconstant_0/dout] \ [get_bd_pins cmac_usplus_0/drp_clk] \ [get_bd_pins cmac_usplus_0/gtwiz_reset_tx_datapath] \ [get_bd_pins cmac_usplus_0/gtwiz_reset_rx_datapath] \ [get_bd_pins cmac_usplus_0/core_rx_reset] \ [get_bd_pins cmac_usplus_0/core_tx_reset] \ [get_bd_pins cmac_usplus_0/core_drp_reset]这些端口通过xlconstant_0值 0进行 Tie-off说明以下功能未被使用CMAC 端口功能说明Tie-off 为 0 的含义drp_clkDRPDynamic Reconfiguration Port时钟未使用 DRP 接口进行动态重配置DRP 时钟置 0不工作gtwiz_reset_tx_datapathGT TX 数据通路独立复位不触发 TX 数据通路独立复位仅依赖全局sys_resetgtwiz_reset_rx_datapathGT RX 数据通路独立复位不触发 RX 数据通路独立复位仅依赖全局sys_resetcore_rx_resetCMAC RX 核心复位不独立复位 RX 核心core_tx_resetCMAC TX 核心复位不独立复位 TX 核心core_drp_resetCMAC DRP 复位与 DRP 时钟一起禁用 DRP 功能设计意图通过全局的sys_reset_0连接到cmac_usplus_0/sys_reset统一管理 GT 和 CMAC 的复位简化复位树结构避免误触发局部复位导致链路震荡。4. CONFIG 变量来源与层级总结层级CONFIG 前缀示例来源作用域IP 核心参数CONFIG.CMAC_CAUI4_MODEVivado IP Catalog → IP 定制 GUI / XCI 文件决定 IP 内部硬件结构、协议模式、物理参数接口协议参数CONFIG.HAS_TKEEP,CONFIG.TDATA_NUM_BYTESAXI/GTH/DRP 接口 VLNV 标准定义描述接口的信号组成、数据宽度、协议选项接口频率参数CONFIG.FREQ_HZVivado BD 接口属性标准用于时序分析、时钟域检查和自动化约束生成端口时钟关联CONFIG.ASSOCIATED_BUSIFVivado BD 时钟端口属性标准建立时钟与总线接口的关联关系驱动自动约束端口复位极性CONFIG.POLARITYVivado BD 复位端口属性标准声明复位有效电平影响综合和约束行为通用常量参数CONFIG.CONST_VALXLConstant IP 参数定义常量值用于 Tie-off 或标志位生成5. 关键设计决策总结CAUI-4 而非 CAUI-10CMAC_CAUI4_MODE1配合 4 路 GT 通道适合 Zynq RFSoC 的 GTY 资源约束且布线更简洁。AXIS 而非 LBUSUSER_INTERFACEAXIS简化了与 HOLOLINK 的集成但引入 ~322 MHz 512-bit 总线时序挑战。禁用流控RX_FLOW_CONTROL0和TX_FLOW_CONTROL0表明不依赖以太网 Pause 帧可能使用 HOLOLINK 自定义信用机制或假定为无损通道。LPM 均衡模式通道质量预期较好短距直连选择低功耗低延迟模式。无 DRP/无独立 datapath 复位最小化控制复杂度所有配置在综合时静态确定复位由全局信号统一管理。