DFT Compiler极简示例1
DFT Compiler极简示例1
- Test Protocol Example 1
- 电路结构
- RTL
- 脚本
- 结果
- (1)如果不定义in3为常量
- (2)没有建立test协议之前,SI/SE是不知道如何连接的。
- (3)建立test协议之后,对SI/SE进行插入并连接
- (4)report_scan_path -view existing_dft
- (5)report_scan_configuration
- (6)report_dft_configuration
Test Protocol Example 1
电路结构
RTL
module tcrm (in1, in2, in3, clk, cdn, out1, out2);
input in1, in2, in3, clk, cdn;
output out1, out2;
reg U1, U2;
wire gated_clk;
always @(posedge clk or negedge cdn) begin
if (!cdn) U1 <= 1’b0;
else U1 <= in1;
end
assign gated_clk = clk & in3;
always @(posedge gated_clk or negedge cdn) begin
if (!cdn) U2 <= 1’b0;
else U2 <= in2;
end
assign out1 = U1;
assign out2 = U2;
endmodule
脚本
set_app_var search_path “…/ref …/ref/db ./rtl ./”
set_app_var target_library “sc_max.db”
set_app_var link_library “* sc_max.db dw_foundation.sldb”
set synthetic_library {dw_foundation.sldb}
set hdlin_enable_rtldrc_info true;
read_verilog rtl/tcrm.v
current_design tcrm
link
create_clock -name clk [get_ports clk] -period 100
compile -scan
write -format ddc -hierarchy -output results/tcrm.scan.ddc
write -format verilog -hierarchy -output results/tcrm.scan.no_protocol.vg
set_dft_signal -view existing_dft -type ScanClock -timing [list 45 55 ] -port clk
set_dft_signal -view existing_dft -type Reset -active_state 0 -port cdn
set_dft_signal -view existing_dft -type Constant -active_state 1 -port in3
create_test_protocol
write_test_protocol -output first.spf
write -format verilog -hierarchy -output results/tcrm.scan.protocol.vg
结果
(1)如果不定义in3为常量
dft_drc报告
Begin Pre-DFT violations...Warning: Clock input CP of DFF U2_reg not active when clocks are set on. (D9-1)
Pre-DFT violations completed...
(2)没有建立test协议之前,SI/SE是不知道如何连接的。
module tcrm ( in1, in2, in3, clk, cdn, out1, out2 );input in1, in2, in3, clk, cdn;output out1, out2;wire gated_clk;sdcrq1 U1_reg ( .D(in1), .SD(1'b0), .SC(1'b0), .CP(clk), .CDN(cdn), .Q(out1) );sdcrq1 U2_reg ( .D(in2), .SD(1'b0), .SC(1'b0), .CP(gated_clk), .CDN(cdn), .Q(out2) );an02d1 U5 ( .A1(in3), .A2(clk), .Z(gated_clk) );
endmodule
(3)建立test协议之后,对SI/SE进行插入并连接
insert_dft
module tcrm ( in1, in2, in3, clk, cdn, out1, out2, test_si, test_se );input in1, in2, in3, clk, cdn, test_si, test_se;output out1, out2;wire gated_clk;sdcrq1 U1_reg ( .D(in1), .SD(test_si), .SC(test_se), .CP(clk), .CDN(cdn), .Q(out1) );sdcrq1 U2_reg ( .D(in2), .SD(out1), .SC(test_se), .CP(gated_clk), .CDN(cdn), .Q(out2) );an02d1 U5 ( .A1(in3), .A2(clk), .Z(gated_clk) );
endmodule
(4)report_scan_path -view existing_dft
AS BUILT BY insert_dft
========================================
Scan_path Len ScanDataIn ScanDataOut ScanEnable MasterClock SlaveClock
----------- ----- ----------- ----------- ----------- ----------- -----------
I 1 2 test_si out2 test_se clk -
(5)report_scan_configuration
dc_shell> report_scan_configuration ****************************************
Report : Scan configuration
Design : tcrm
Version: O-2018.06-SP1
Date : Mon Sep 12 10:56:52 2022
****************************************========================================
TEST MODE: all_dft
VIEW : Specification
========================================
Chain count: Undefined
Scan Style: Multiplexed flip-flop
Maximum scan chain length: Undefined
Exact scan chain length: Undefined
Physical Partitioning: Horizontal
Replace: True
Preserve multibit segments: False
Clock mixing: No mix
Internal clocks: none
Retiming Flops: none
Add lockup: True
Lockup type: latch
Insert terminal lockup: False
Create dedicated scan out ports: False
Shared scan in: 0
Bidirectional mode: No bidirectional type
Internal Clock Mixing: False
Test Clocks by System Clocks: False
Hierarchical Isolation: False
Multiple Scan Enable: Disable
Pipeline Scan Enable: Disable
Voltage Mixing: False
Identify Shift Register: False
Power Domain Mixing: False
Reuse MV Isolation Cells: True
Multi LSSD: Disable
(6)report_dft_configuration
DFT Structures Status
-------------- --------
Scan: Enable
Fix Sets: Disable
Fix Resets: Disable
Fix Clocks: Disable
Fix Busses: Enable
Fix Bdirectional Ports: Enable
Fix X Propagation: Disable
Control Points: Disable
Observe Points: Disable
Test Points: Disable
Testability: Disable
Logic BIST: Disable
Wrapper: Disable
Boundary scan: Disable
Scan Compression: Disable
Streaming Compression: Disable
Core Integration: Disable
Power Control: Disable
Pipeline Scan Data: Disable
Clock Controller: Disable
ConnectClockGating: Enable
Mode Decoding Style: Binary
IEEE 1500 control: Disable
DFT Compiler极简示例1相关推荐
- python实现杨辉三角思路_Python极简代码实现杨辉三角示例代码
Python极简代码实现杨辉三角示例代码 杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列. 把每一行看做一个list,写一个generator,不断输出下一行的list ...
- 第3章 Kotlin语言基础 《Kotlin 极简教程》
2019独角兽企业重金招聘Python工程师标准>>> 第3章 Kotlin语言基础 掌握基础,持续练习 学习任何东西,都是一个由表及里的过程.学习一门编程语言也一样.对于一门编程语 ...
- 《Kotlin极简教程》第1章 Kotlin简介
第1章 Kotlin简介 最新上架!!!< Kotlin极简教程> 陈光剑 (机械工业出版社) 可直接打开京东,淘宝,当当===> 搜索: Kotlin 极简教程 http://ww ...
- RepVGG:极简架构,SOTA性能,论文解读
** RepVGG:极简架构,SOTA性能,论文解读 ** 更新:RepVGG的更深版本达到了83.55%正确率!PyTorch代码和模型已经在GitHub上放出.DingXiaoH/RepVGG 2 ...
- 高效sql性能优化极简教程
一,sql性能优化基础方法论 对于功能,我们可能知道必须改进什么:但对于性能问题,有时我们可能无从下手.其实,任何计算机应用系统最终队可以归结为: cpu消耗 内存使用 对磁盘,网络或其他I/O设备的 ...
- csvtk:高效命令行版极简dplyr
写在前面 什么时候写 csvtk 呀,csvtk 也借鉴了些 datamash 的东西. 之前写 datamash 的使用教程 linux 极简统计分析工具 datamash 必看教程,收到了一位读者 ...
- RepVGG:极简架构,SOTA性能,让VGG式模型再次伟大 | CVPR-2021
作者 | 丁霄汉 编辑 | 李梦佳 2020年B站年度弹幕是"爷青回".一定有很多瞬间,让你感觉"爷的青春回来了".在这个卷积网络各种超参精确到小数点后三位的时 ...
- AI Studio : 利用Paddle框架中的极简框架识别MNIST
简 介: ※通过测试网络上的这个极简的Paddle识别MNIST程序,也就是使用了一个非常简单的线性回归网络,初步熟悉了Paddle下的网络架构方式.对于如果从numpy到Paddle的tensor转 ...
- Kotlin极简教程:第4章 基本数据类型与类型系统
原文链接:https://github.com/EasyKotlin 到目前为止,我们已经了解了Kotlin的基本符号以及基础语法.我们可以看出,使用Kotlin写的代码更简洁.可读性更好.更富有生产 ...
最新文章
- CUDA运行时 Runtime(二)
- python简笔画绘制 数据驱动绘图_pytorch visdom可视化工具学习—2—详细使用-2-plotting绘图...
- python清除缓存的命令_python – 重启django服务器时清除缓存的最佳位置
- 平板电脑有必要买吗_华为平板M6值得买吗
- sun cluster3.1
- jquery hover事件中 fadeIn和fadeOut 效果不能及时停止
- centos中安装、升级git
- makefile how to
- cookie、session和token原理
- 8运行不了_民航局暂停运行737max8,分析可能因为“它”导致飞机俯冲坠落
- linux添加文件环境变量
- oracle异常:主动抛出自定义异常+捕获指定异常
- 异构计算全新升级,阿里云全方位释能人工智能产业
- 关于区块链的一点经济学思考
- Linux 十四 修改文件操作权限 用户文件权限详解
- Java 接入 cachecloud 入门
- 软件概要设计如何写(文档恐惧症的程序猿必读)
- 技能高考计算机专业考什么,2016年技能高考计算机专业考试总结.pdf
- C++ 面向对象高级开发(侯捷)
- 系统架构师论文-论软件架构的选择与应用