ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【DDR IP验证】2、Synopsys DDR Controller IIP安装(使用Coretools安装Synopsys IIP)

【DDR IP验证】2、Synopsys DDR Controller IIP安装(使用Coretools安装Synopsys IIP) 本次使用到的Synopsys DDR IIP为dwc_ddr54_ctl_v1.41a。IP配置和寄存器配置可查看这两个网页文档DDR54 CoreConsultant GUI 配置生成RTL本文用于在 Fusion 机器上使用 CoreTools V-2023.12-1 和DWC_ddrctl_ddr54 1.41a-lca02通过 GUI 新建一份独立工作区。1. 启动前准备打开一个新终端执行ma eda/vcs/2023 ma eda/coretools/2023.12 eda/ddr54/1.41a ma coreConsultant其中无参数的ma等价于查看当前已加载模块应看到eda/vcs/2023 eda/coretools/2023.12 eda/ddr54/1.41a若要查看机器上所有通过 Modules 管理的 EDA 软件可另行执行mlist。不要用mlist代替上面的无参数mamlist调用的是module avail eda显示全部可用EDA 模块无参数ma才显示当前已加载模块。如果当前终端是在 Modules 安装前打开的先执行source/etc/profile.d/modules.shtcsh/csh 终端则执行source /etc/profile.d/modules.csh建议本次 GUI 工作区使用一个全新的目录例如/home/fusion/coretools_workspaces/dwc_ddr54_ctl_v1.41a_gui_rebuild_20261005不要选择已有的参考目录或已经完成的批处理复刻目录否则可能覆盖已有结果或遇到.lock。2. 新建工作区在 CoreConsultant 中选择File - New Workspace若欢迎页有Create Workspace进入的是同一流程。Workspace Name 可填dwc_ddr54_ctl_v1.41a_gui_rebuild_20261005。Workspace root directory只填写已经存在的父目录/home/fusion/coretools_workspaces。不要在这里再次填写 Workspace NameCoreConsultant 会自动在该父目录下创建dwc_ddr54_ctl_v1.41a_gui_rebuild_20261005否则会生成两层同名目录。Installed coreKit path必须选择具体 IP 版本的安装目录/opt/synopsys/designware/ddr54-1.41a-lca02/iip/DWC_ddrctl_ddr54/1.41a-lca02。上层目录/opt/synopsys/designware/ddr54-1.41a-lca02不是 CoreConsultant认可的 installation area填写它会弹出 “is not an installation area”。选择产品DWC_ddrctl_ddr54 - 1.41a-lca02完成工作区创建。若弹出自动检查 IP 更新的窗口离线环境建议取消勾选Enable automatic IP update checks再点OK。它只影响联网更新检查不影响本地 IP 生成。3. Set Design, File, and Macro Prefixes在左侧Create RTL下进入Set Design, File, and Macro Prefixes项目值Design PrefixxxxFile PrefixxxxMacro Prefix留空点Apply再把该 Activity 标记完成。完成后左侧应出现勾选状态。4. Specify Configuration进入左侧Specify Configuration。右侧 Pages 依次配置下面各页。未在下表列出的项目保持软件默认值。使用右侧 Pages 树或Next在页面之间切换先完成全部页面最后只点一次Apply不要每设置一个页面就点 Apply否则中间状态会触发不必要的配置数据库/SDC 检查警告。配置过程中也不要点Default否则会把已经完成的修改复位。4.1 ProductGUI 项目选择值内部参数DDR Controller ProductDWC_DDR54_CONTROLLER不要选 AFPDDRCTL_PRODUCT_NAME1System Interface: IncludeAXIDDRCTL_SYS_INTF1这里许可证对应普通DWC-DDR54-CONTROLLER不是DWC_DDR54_CONTROLLER_AFP。4.2 DDRC下表的第一列使用 CoreConsultant 1.41a-lca02 界面中实际显示的标签而不是概括名称实际 GUI 标签应设置操作/内部参数Enable Dual HIF不勾选 /0位于Host Interface Configuration Options灰色不可选是正常状态Performance log on勾选/1MEMC_PERF_LOG_ON1当前页面需要主动修改的项目Band Width Throttling Enable不勾选 /0保持关闭APB Clock Asynchronous to Core ClockAsynchronous位于APB Configuration optionsAPB Number of Synchronizers2两级同步Memory Data Width (Bits)32MEMC_DRAM_DATA_WIDTH32Number of Ranks Supported2MEMC_NUM_RANKS2Bus Width Mode supportFull, Half Quarter Bus Width三种总线宽度模式均支持LUT CS Mapping support for HET Ranks不勾选保持关闭Two device configuration support for HET Ranks不勾选若为灰色只需确认未勾选Two device timing sets support for HET Ranks不勾选保持关闭Bank Hashing Enable不勾选保持关闭Number of DFI Interfaces灰色1UMCTL2_NUM_DFI1派生值无需操作DFI Data Width With ECC (Bits)灰色256MEMC_DFI_TOTAL_DATA_WIDTH256派生值Width of dfi_wrdata_en/dfi_rddata_en/dfi_rddata_valid灰色16MEMC_DFI_TOTAL_DATAEN_WIDTH16派生值Width of dfi_wrdata_mask灰色32MEMC_DFI_TOTAL_MASK_WIDTH32派生值CAM Depth32MEMC_NO_OF_ENTRY32需要向下滚动到CAM Configuration OptionsCAM tag width5、write-pointer width1由此派生继续向下滚动按 GUI 实际出现顺序检查下表。这里不能只看默认状态Use External SRAM for Write Data的软件默认值是勾选1但参考工程要求0因此必须主动取消勾选。GUI 分组实际 GUI 标签应设置/最终值操作/备注Write data SRAM Configuration OptionsUse External SRAM for Write Data取消勾选 /0默认可能为勾选必须主动取消UMCTL2_WDATA_EXTRAM0Write data SRAM Configuration OptionsExternal SRAM for Write Data write latency灰色0取消外部 SRAM 后自动变灰只需确认数值Write data SRAM Configuration OptionsExternal SRAM for Write Data read latency灰色1取消外部 SRAM 后自动变灰只需确认数值DDRC Internal Configuration OptionsRegister DFI Outputs勾选 /1MEMC_REG_DFI_OUT1DDRC Internal Configuration OptionsRegister DFI Write Data Outputs勾选 /1MEMC_REG_DFI_OUT_WR_DATA1DDRC Internal Configuration OptionsDDRC Number of Synchronizers2两级同步DDRC Internal Configuration OptionsEnable Dynamic BSM选择0Dynamic BSM 关闭DDRC Internal Configuration OptionsNumber of BSM Modules Required灰色64Dynamic BSM 关闭时的派生/默认显示值DDRC Internal Configuration OptionsDDRCTL_DYN_BSM_ALGORITHM灰色Dynamic BSM disabled无需操作DDRC Internal Configuration OptionsMaximum Number of Banks Supported灰色0x40MEMC_NUM_TOTAL_BANKS0x40DDRC Internal Configuration OptionsManual Read/Write through SW Command Interface support选择0保持关闭DDRC Internal Configuration OptionsRefresh Management (RFM)勾选 /1参考工程DDRCTL_HW_RFM_CTRL1DDR4 Specific Configuration OptionsWidth of Chip ID (dfi_cid) for DDR5/4-3DS[CID width0] No DDR5/4 3DS support不启用 3DSDDR4 Specific Configuration OptionsNumber of Logical Ranks Supported灰色2由 ranks/CID 配置派生DDR4 Specific Configuration OptionsDFI Commands Return to Idle不勾选 /0保持关闭DDR4 Specific Configuration OptionsEnable DDR4 Post Package Repair (PPR) feature不勾选 /0保持关闭DDR4 Specific Configuration OptionsDDRCTL_DDR4_PINS灰色勾选 /1派生值无需操作DDR5 Specific Configuration OptionsEnable DDR5 Fast sPPR勾选 /1参考工程值DDR5 Specific Configuration OptionsEnable DDR5 Readout ECS Transparency Registers不勾选 /0保持关闭Fast Frequency Change SupportNumber of Frequency Sets Supported1UMCTL2_FREQUENCY_NUM1QOSEnable Variable Priority Read and Write Feature不勾选 /0保持关闭Timing OptimizationsMulti-cycle pathEnable参考工程值灰色字段表示由 Product 或其他配置自动推导。只需确认显示值与表格一致不要尝试强行修改。4.3 Multiport本节中粗体值表示与软件默认值不同必须主动修改普通值只需检查。Application Ports 全局项使用实际 GUI/报告标签实际 GUI 标签应设置软件默认值内部参数/操作Number of Host Ports41必须主动从 1 改为 4UMCTL2_A_NPORTS4Application Address Width3737UMCTL2_A_ADDRW37Application ID Width88UMCTL2_A_IDW8Application Burst Length Width88UMCTL2_A_LENW8Number of AXI Exclusive Access Monitors00保持关闭Enable External Port Priorities不勾选 /00保持关闭AXI Burst Address Boundary12124 KB 边界AXI User Signal Width00保持关闭将Number of Host Ports改成 4 后横向表格中的 Port 0、1、2、3 才是有效端口Port 4–15 会保持灰色它们即使显示默认 Datawidth256也不参与本配置不要修改。在Application Ports Characteristics横向表格中按实际表头从左到右设置Port 0、1、2、3。表格较宽需要使用底部横向滚动条查看最后两列实际 GUI 表头Port 0–3 应设置软件默认值操作/内部含义NumberPort 0、Port 1、Port 2、Port 3—端口行名称不是可配置值Port TypeAXI4AXI4保持Datawidth64256四个有效端口都必须主动改为 64Sync/AsyncAsynchronousAsynchronous保持异步Num of Synchronizers22两级同步Static Virtual Channel MappingNoNo保持Num of Virtual Channels3232保持Ext RRB RAMDisableDisable不使用外部 Read Reorder Buffer RAMRetime Ext RRB RAM灰色DisabledDisabledExt RRB RAM 关闭后的派生项Maintain Read Write Order00不启用读写事务保序Use Dual Read Address Queue不勾选 /00需要向右滚动查看Use RRB Threshold Based VC Selection FeatureDisable/ 不勾选Disable最右侧列需要继续向右滚动查看共享 RAM/仲裁设置实际 GUI 标签应设置/显示值操作/备注Port Arbiter TypeCombinatorial保持默认Enable Port Arbiter Pagematch feature勾选 /1保持默认Write Data RAM Data Width灰色256information onlyWrite Data RAM OCPAR/OCECC Width灰色0information onlyWrite Data RAM Depth灰色64information onlyWrite Data RAM Address Width灰色6information onlyRead Reorder Buffer Data Width灰色256information onlyRead Reorder Buffer OCPAR/OCECC Width灰色0information onlyRead Reorder Buffer Data Width for channel 1灰色256information only单通道配置中仍会显示该派生值Read Reorder Buffer OCPAR/OCECC Width for channel 1灰色0information onlyRead Reorder Buffer Depth灰色64information onlyRead Reorder Buffer Address Width灰色6information onlyEnable XPI Write Address Retime灰色且不勾选 /0Timing Optimizations当前配置自动禁用Enable XPI Read Address Output Retime不勾选 /0保持关闭Enable XPI Read Address Input Retime不勾选 /0保持关闭Enable XPI RRB Data Retime灰色且不勾选 /0单数据通道配置下自动禁用Enable XPI Read Parity Retime灰色且不勾选 /0未启用 on-chip parity自动禁用Disable XPI RMW Bypass Path勾选 /1参考工程值也是 1这是软件默认值不需要取消4.4 AXIAXI 页没有需要主动修改的非默认值这一页主要用于核对。按 GUI 实际分组检查GUI 分组实际 GUI 标签应设置/显示值软件默认值操作/备注AXI Interface Ports - Low PowerAXI Low Power Idle Wait00保持默认AXI Interface Ports - System Address RegionsNumber of System Address Regions00保持默认不建立地址区域AXI Interface Ports - System Address RegionsSystem Address Regions Minimum Block Size灰色256MB256MBRegions0 时自动变灰无需操作在AXI Interface Ports - Queue Depths横向表格中实际表头和对应值如下实际 GUI 表头Port 0–3 应设置软件默认值内部参数/含义NumberPort 0、Port 1、Port 2、Port 3—端口行名称Read Address44UMCTL2_AXI_RAQD_n4Write Address44UMCTL2_AXI_WAQD_n4Read Data1010UMCTL2_AXI_RDQD_n10Write Data1010UMCTL2_AXI_WDQD_n10Write Response1010UMCTL2_AXI_WRQD_n10Read Data InterleaveYesYesUMCTL2_READ_DATA_INTERLEAVE_EN_n1只有 Multiport 页启用的 Port 0–3 有效。Port 4–15 在 AXI 表中保持灰色它们即使显示4/4/10/10/10和Read Data InterleaveNo也不参与本配置不要修改。4.5 Multi-channel本页没有需要主动修改的非默认值整页保持软件默认状态不要更改。4.6 Reliability Features本页没有需要主动修改的非默认值。进入页面后不要更改任何项目整页保持软件默认状态即可。顶部ECC Supported默认显示No ECC在此选择下大量 Memory ECC、On-chipReliability、Link Reliability 和 Retry 字段会自动变成灰色派生项。无需逐项寻找、勾选或取消也不要根据灰色字段的名称手工调整。4.7 RTL Assertions本页没有需要主动修改的非默认值整页保持软件默认状态不要更改。5. 完成配置并生成 RTL返回检查 Product、DDRC、Multiport、AXI、Multi-channel、Reliability Features、RTL Assertions 各页。点Apply保存最终配置。如果弹出 “configuration chosen does not match a configuration within the Synopsysdatabase and sdc generation is an estimate” 警告点OK继续。它表示生成的 SDC约束只是估算并非许可证错误或 RTL 生成失败用于 RTL 仿真和课程实验可以继续正式综合、STA 或流片签核则需要核对参考工程 SDC 或向 Synopsys 获取匹配约束。若随后弹出Configure Check for IP Updates离线环境取消勾选Enable automatic IP update checks再点OK。确认左侧Create RTL下的两个子活动都已显示勾选Set Design, File, and Macro Prefixes与Specify Configuration。在此版本中完成Specify Configuration时已经执行 RTL 创建界面中没有另一个独立的Generate RTL活动。两个子活动均打勾即表示Create RTL 已完成。查看窗口底部 Console/Log确认没有Error、Failed或生成中止信息。若只有前述SDC estimate 警告可以按第 3 步说明继续。若目标只是复刻参考工程 RTL到这里 RTL 已经完成若还要补齐参考组件目录中的配置、寄存器和 I/O 报告则继续执行下方5.1。无论是否生成报告都不要勾选Create Gate-Level Netlist或Verify Component下的任何活动它们不是生成 RTL或报告的必选步骤也不需要为了“全打勾”而运行。报告及所需 Optional Views 生成完毕后保存工作区并通过菜单正常关闭CoreConsultant让程序清除.lock然后按下一节检查输出文件。5.1 生成参考组件所需报告报告不会在完成Specify Configuration时自动生成。保持当前配置不变选择File → Generate Reports按下表设置实际 GUI 选项应设置说明Delete Old Reports不勾选防止删除当前已有而本次未选中的报告Power Intent取消勾选参考组件目录不需要该报告此项在当前弹窗中默认勾选Component Configuration勾选生成ComponentConfiguration.html/xmlComponent Registers勾选生成寄存器报告及DWC_ddrctl_map内容I/O勾选生成IO.html/xmlPacked Structs Unions勾选生成PackedStructsUnions.html/xmlArea Estimate取消勾选参考组件目录没有该报告不属于本次复刻目标Prime Profiles不勾选本工程未使用 Prime ProfileRamSizes勾选生成或刷新RamSizes.html确认最终只有Component Configuration、Component Registers、I/O、Packed StructsUnions、RamSizes五项勾选然后点OK。等待 Console/Log 返回完成信息生成报告不改变已经配置好的 RTL 参数。报告完成后再选择File → Generate Optional Views。当前 DDR54 CoreKit 的实际弹窗按下表设置实际 GUI 选项应设置对应目标/说明IP-XACT Component不勾选参考组件交付目录不需要额外的 IP-XACT Component 视图Example Component Instantiation勾选生成export/DWC_ddrctl_inst.svComponent Register Headers勾选生成export/headers/DWC_ddrctl_header.h和.vComponent Configuration Headers勾选生成export/configuration/DWC_ddrctl.hComponent RAL不勾选参考组件只保留 UVM 版本不需要普通 RALComponent RAL With Alternate Register不勾选参考组件没有 Alternate Register RALUVM Component RAL勾选生成export/DWC_ddrctl_uvm.ralfUVM Component RAL With Alternate Register不勾选参考组件没有 Alternate Register UVM RAL确认最终只有Example Component Instantiation、Component Register Headers、ComponentConfiguration Headers、UVM Component RAL四项勾选然后点OK。等待 Console/Log显示 Optional Views 生成完成灰色项目不要强行处理。6. 生成后检查在终端中执行把目录变量换成实际 GUI 工作区ws/home/fusion/coretools_workspaces/dwc_ddr54_ctl_v1.41a_gui_rebuild_20261005test-f$ws/report/ComponentConfiguration.xmlechoCONFIG_OKfind$ws-maxdepth3-typef|sort|head-80find$ws-name.lock-print正常情况下应生成report/ComponentConfiguration.xml和srcRTL关闭 GUI 后不应残留.lock。可用下面已验收的批处理复刻工作区作对照/home/fusion/coretools_workspaces/dwc_ddr54_ctl_v1.41a_rebuild参考工程和已验收复刻工程的关键结果是159 个配置参数、差异 0设计/文件前缀xxx普通 DDR54 Controller、AXI、4 个 64-bit 异步 AXI4 端口、32-bit DRAM、2 ranks、1 个 256-bit DFI、无 ECC。7. Modules 常用命令mlist mav vcs ma eda/vcs/2018 ma eda/vcs/2023 ma eda/verdi/2023 ma eda/coretools/2023.12 eda/ddr54/1.41a mamlist列出所有已管理 EDA 软件mav vcs只列 VCS 版本ma无参数时列出当前已加载模块给ma一个模块名则加载该模块在模块名前加-则卸载。VCS 与 Verdi为独立模块需要 Verdi 时单独执行ma eda/verdi/版本。同一产品切换版本时会自动卸载冲突的旧版本。各系列设有默认版本也可简写为ma eda/vcs eda/coretools eda/ddr54VCS 安装的是 64 位编译器检查版本时必须带-full64vcs-full64-ID不带-full64时VCS 启动脚本会尝试寻找未安装的 32 位linux/bin/vcs1报“Cannot find VCS compiler”这不代表 Modules 切换失败。
返回列表