新闻详情

新闻详情

首页 / 资讯中心 / 详情

TestMAX/DFT Compiler:时序单元的类型、连接顺序和后DFT优化

发布时间:2026/9/25 5:25:27来源:尧图网络
TestMAX/DFT Compiler:时序单元的类型、连接顺序和后DFT优化
相关阅读TestMAX/DFT Compilerhttps://blog.csdn.net/weixin_45791458/category_12865937.html?spm1001.2014.3001.5482时序单元的状态未映射的时序单元(Unmapped Sequential Cell)在Design Compiler读取了一个RTL设计后Design Compiler内置的HDL Compiler工具会将其转化为GTECH格式或者称为Generic Technology格式的网表其中的时序单元例如触发器和锁存器会使用通用时序单元SEQGEN或者称为Generic/UnmappedSequential Cell表示SEQGEN的框图如图1所示。图1 SEQGEN及其引脚表示例1展示了一个异步复位D触发器的RTL描述和其对应的SEQGEN实现如图2所示。// 例1 module D_FF ( input wire clk, // 时钟信号 input wire reset, // 异步复位信号 input wire d, // 数据输入 output reg q // 数据输出 ); // 异步复位逻辑 always (posedge clk or posedge reset) begin if (reset) // 如果复位信号为高输出q清零 q 1b0; else // 否则在时钟的上升沿将输入d传递到q q d; end endmodule图2 DFF的SEQGEN实现实际上一旦设计中存在未映射的单元此处单元可以指时序单元也可以指其他叶单元还可以指包含未映射叶单元的层次单元使用preview_dft或insert_dft命令时就会报错无法进行扫描替换或者扫描连接。有关叶单元的相关介绍可以见静态时序分析Leaf Cell(叶单元)一文。未映射的时序单元会有一个值为true的属性is_a_generic_seq如下所示。dc_shell get_attribute [get_cells q_reg] is_a_generic_seq true非扫描时序单元(Nonscan Cell)在Design Compiler中使用综合命令不使用-scan选项后SEQGEN将被映射为具体的库单元此时的时序单元被称为非扫描时序单元。图3展示了映射到库单元的异步复位D触发器库单元的参考名为DFFRQX2。图3 DFF的映射后实现未连接/布线的测试就绪单元(Unstitched/Unrouted Test-ready Cell)在Design Compiler中使用综合命令使用-scan选项这被称为Test-Ready Compile后非SEQGEN将被映射为未连接/布线的测试就绪单元此时扫描链尚未将这些测试就绪单元连接起来扫描输入(SI)和扫描使能(SE)等扫测试引脚会被连接到适当的状态以启用功能模式这些连接临时的。图4展示了映射到库单元的扫描异步复位D触发器库单元的参考名为SDFFRQX2这是图3所示DFF的扫描等价。图4 DFF的扫描单元实现使用Test-Ready Compile将SEQGEN直接映射为未连接/布线的测试就绪单元是建议的行为除此之外可以对已映射为非扫描时序单元的设计进行扫描替换使用带-scan选项的综合命令或insert_dft命令得到未连接/布线的测试就绪单元。未映射的时序单元会有一个值为true的属性scanned_by_test_compiler如下所示。dc_shell get_attribute [get_cells q_reg] scanned_by_test_compiler true需要注意的是在某些情况下不使用-scan选项的综合命令也会将SEQGEN直接映射为扫描触发器比如使用只有扫描触发器的库进行综合但此时它不是一个未连接/布线的测试就绪单元因此没有scanned_by_test_compiler属性。已连接/布线的扫描单元(Stitched/Routed Scan Cell)当使用insert_dft命令后符合条件比如满足设计规则约束的未连接/布线的测试就绪单元将被连接为扫描链成为已连接/布线的扫描单元如图5所示。图5 一个全扫描设计的扫描链路径时序单元的连接顺序在Design Compiler的线负载模式下扫描单元按完整层次路径名称中的字母和数字顺序分配并排序到扫描链中。在Design Compiler的拓扑模式下扫描元件根据虚拟布局信息分配和排序到扫描链这样可以减少扫描路由的开销。在这种情况下preview_dft和insert_dft命令会发出以下消息表示使用了拓扑信息Running DFT insertion in topographical mode.后DFT优化在扫描链连接后还可以进行后DFT优化根据模式的不同后DFT优化的命令也不同。下面所有的例子假设从RTL描述开始综合。线负载模式// 例2 // 对于DC Expert dc_shell compile -scan # Test-Ready Compile ...应用DFT设置... dc_shell preview_dft dc_shell insert_dft # 连接扫描链 // 对于DC Ultra dc_shell compile_ultra -scan # Test-Ready Compile ...应用DFT设置... dc_shell preview_dft dc_shell insert_dft # 连接扫描链在Design Compiler线负载模式下insert_dft命令默认自动执行基本的门级后DFT优化。如果需要可以通过以下命令禁用它dc_shell set_dft_insertion_configuration -synthesis_optimization none注意在这种情况下如果禁用了insert_dft命令的自动后DFT优化仍然可以手动执行后DFT增量综合来进行后DFT优化。// 对于DC Expert dc_shell compile -scan -incremental # 后DFT增量综合 // 对于DC Ultra dc_shell compile_ultra -scan -incremental # 后DFT增量综合拓扑模式​// 例3 // 对于DC Ultra dc_shell-topo compile_ultra -scan # Test-Ready Compile ...应用DFT设置... dc_shell-topo preview_dft dc_shell-topo insert_dft # 连接扫描链 dc_shell-topo compile_ultra -scan -incremental # 后DFT增量综合 // 对于Design Compiler Graphical dc_shell compile_ultra -scan -spg # Test-Ready Compile ...应用DFT设置... dc_shell-topo preview_dft dc_shell-topo insert_dft # 连接扫描链 dc_shell-topo compile_ultra -scan -spg -incremental # 后DFT增量综合 // 对于Design Compiler NXT dcnxt_shell compile_ultra -scan -spg # Test-Ready Compile ...应用DFT设置... dcnxt_shell-topo preview_dft dcnxt_shell-topo insert_dft # 连接扫描链 dcnxt_shell-topo compile_ultra -scan -spg -incremental # 后DFT增量综合在Design Compiler拓扑模式下insert_dft命令不会执行后DFT优化需要在insert_dft命令完成手动执行后DFT增量综合来进行后DFT优化下面的命令在拓扑模式是无效的。​dc_shell-topo set_dft_insertion_configuration -synthesis_optimization all当增量优化设计时工具会根据需要对扫描链中的扫描单元进行重新排序和重分区以进一步减少拥塞。在这种情况下compile_ultra命令会显示以下消息Information: Performing scan chain reordering in the SPG flow. (SPG-126)
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

高通WCNSS_qcom_cfg.ini射频扫描与漫游参数调优实战 2026/9/25 6:04:23

高通WCNSS_qcom_cfg.ini射频扫描与漫游参数调优实战

1. 从一次Wi-Fi断流排查说起前阵子帮一个做工业平板的朋友排查问题,设备用的是Qualcomm平台,Android 13,出厂后偶尔出现Wi-Fi扫描不到AP、连接后频繁掉线、热点开启失败的情况。抓了logcat和dmesg,发现WCNSS(Wireless …

阅读更多 →
Atlas 300V 24G上部署YOLO:从ONNX到OM的完整实战指南 2026/9/25 6:03:53

Atlas 300V 24G上部署YOLO:从ONNX到OM的完整实战指南

1. 一张24G显存的推理卡,为什么值得折腾YOLO先说结论:Atlas 300V 24G这块卡,放在今天的目标检测部署场景里,性价比和能效比都相当能打。尤其当你想在生产环境里跑YOLO系列模型,又不想被GPU的采购成本和功耗牵着走时&am…

阅读更多 →
5 步换好游戏里的 DLSS 版本:DLSS Swapper 实操教程(免费开源) 2026/9/25 6:03:52

5 步换好游戏里的 DLSS 版本:DLSS Swapper 实操教程(免费开源)

5 步换好游戏里的 DLSS 版本:DLSS Swapper 实操教程(免费开源) 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 远景发虚、像糊了一层雾,或者开 DLSS 后帧数没涨反而多了伪…

阅读更多 →
FlexGen 在 Google Cloud 上的完整环境搭建指南:单 GPU 高吞吐 LLM 推理的 GCP 部署实战 2026/9/25 6:03:46

FlexGen 在 Google Cloud 上的完整环境搭建指南:单 GPU 高吞吐 LLM 推理的 GCP 部署实战

推理引擎大模型 【免费下载链接】FlexGen Running large language models on a single GPU for throughput-oriented scenarios. 项目地址: https://gitcode.com/gh_mirrors/fl/FlexGen 点击查看 免费下载 本文是一份面向 Google Cloud Platform(GCP&am…

阅读更多 →
opencodex Provider Workspace 账户体系 A 门审计:从账户切换器到多账号状态治理的源码级复盘 2026/9/25 6:03:46

opencodex Provider Workspace 账户体系 A 门审计:从账户切换器到多账号状态治理的源码级复盘

【免费下载链接】opencodex Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code 项目地址: https://gitcode.com/gh_mirrors/ope/opencodex 点击…

阅读更多 →
Atlas 300V 24G推理加速卡实战:YOLO模型部署全流程解析 2026/9/25 6:03:46

Atlas 300V 24G推理加速卡实战:YOLO模型部署全流程解析

1. 一张24G的推理卡,到底算不算“运算加速卡”最近后台好几个朋友都在问同一个问题:"Atlas 300V 24G是不是运算加速卡?"还有人直接问"能不能拿它部署YOLO"。这问题听起来简单,但背后的误解不少。我最初拿到这…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉