soc Tools
文章平均质量分 78
cy413026
这个作者很懒,什么都没留下…
展开
-
spyglass-lint关闭(disable/stop/waiver)规则
其中xxx就是被disable的某一项规则。在disable_block和enable_block之间的verilog code就是作用区域。如果没有enable_block语句,则disable_block的默认作用范围到endmodule。而且会报一个un-paired block waiver pragma defined for rule 'xxx'原创 2024-08-27 21:43:07 · 1092 阅读 · 0 评论 -
rule ‘flopEConst‘和vcst-lint的disable
先从vcst-lint的一个warning开始:这个含义是存在不配对的块waiver语法,flopEConst。什么叫不配对的语法呢?我们打开对应的verilog代码可以看到有下面的语句但是没有找到对应的enable_block语句。这就表示一个disable_block会一直起作用。原创 2024-08-26 10:58:06 · 342 阅读 · 0 评论 -
Jira使用指南(高级搜索JQL/统计/面板设计)
上面的pdf比较详细的介绍了Jira的使用,目录如下:或者从Jira的中文官网获得更多的使用指南。原创 2024-08-23 18:34:21 · 1119 阅读 · 0 评论 -
Fusion Compiler介绍 | 业内唯一RTL2GDS工具
DPS的独特功能,使用FC的CCD everywhere功能,能够在设计的早期,甚至综合的过程中就能启用的压降优化,达到一个从基础架构上就能经得起压降的设计。推出不到两年,在FC这个全新的平台上已经看到非常显著的好处,而且这个只是这个平台的第一步,未来会继续去探索还有哪一些机会利用这个平台,在不同的环节上启用在传统流程里受局限的一些优化方法。,共享数据库让平台上所有的综合引擎,物理引擎,优化引擎,还有机器学习延伸出来的方法,在整个平台上任何一个环节上都可以自由启用,达到更高层次的PPA……转载 2023-09-08 16:40:04 · 2540 阅读 · 0 评论 -
dc_shell中有多少attributes/report_attribute
get_attributes 可以get到object的指定attribute,比如 ref_name/full_name/user_case_value等属性。在dc_shell中可以 man attributes来查看Synopsys预定义的有哪些属性。如果不知属性的名字 可以用report_attr来看。原创 2022-09-23 17:08:48 · 1088 阅读 · 0 评论 -
dc_shell的get_attr/get_reference/ref_name/full_name及以此实现查找mem
目录1.概念介绍1.1get_attr(get_attribute)1.2 get_reference1.3ref_name和full_name2.实现查找mem1.概念介绍1.1get_attr(get_attribute)get_attribute - Micro-IP Inc.https://www.micro-ip.com/Synopsys(PT)/dictionary_180_17/get_attribute.html1.2 get_reference原创 2022-05-23 23:46:12 · 3949 阅读 · 1 评论 -
dc_shell(tcl)中集合(collection)(显示_selxx问题),数组(array),列表(list)的区别及操作
目录1.集合(collection)2.数组(array)3.列表(list)首先集合的操作和数组以及列表是不一样的,集合无法直接echo显示,直接echo会输出_selxxx集合无法像数组和列表一样使用foreach,而是使用foreach_in_collection来遍历。下面重点介绍集合的概念。1.集合(collection)一个collection是库,引脚,cells(单元)设计工程的集合,你可以用Synopsys命令来创建,查看,修改collection。在.原创 2022-05-23 23:10:32 · 5229 阅读 · 1 评论 -
dc综合流程和tcl脚本实例
1.tcl脚本实例下面给出一个综合tcl脚本的实例,通过实例我们可以看到整个综合流程set search_path "../lib/logic ../src" #设置搜索路径set target_library " slow.db " #设置标准元件库set link_library "* $target_library "set symbol_library " smic18.sdb " #设置标准元件图标库set access_internal_pins tr转载 2022-05-23 16:21:59 · 7713 阅读 · 3 评论 -
verdi将rtl中参数信号位宽导出为数字&导出rtl层次
1.参数导出为数字parameter BIT_W = 8;wire [BIT_W-1:0] data_o;在RTL中常常使用parameter来定义信号位宽,此种情况下在vim阅读代码时对信号位宽并不能直观的看到,另外一种情况在实例化该模块时,如果带上这些参数位宽,就需要在实例化的module里重新定义一遍参数。有没有方法一次性将这些信号的参数化位宽直接转为数字呢?我们知道rtl编译并用verdi打开之后,鼠标选中参数就会显示这个参数的值,但这效率太低,下面介绍两种方法:1.1 c..原创 2022-05-08 21:05:39 · 3119 阅读 · 0 评论 -
svn co --depth和svn up --set-depth 只check out下一层文件 只更新指定文件 只更新下一层的用法
svn的工程可能很大 有时我们只需要部分文件即可 这里介绍几个命令1.svn co(check out) --depth--depth=empty,files,immediates,infinity假设某svn结构如下svn://root/PRO/A_dir/asvn://root/PRO/B_dir/bsvn://root/PRO/c_filesvn co --depth=emptysvn://root/PRO 此时只会在本地check out出 PRO/的空目录。sv.原创 2021-04-13 16:26:27 · 7675 阅读 · 1 评论 -
vcs/urg 进行覆盖率coverage merge及部分merge到整体
目录1.vcs收coverage基本Option2.相同代码的merge3.部分merge到整体3.1 mapfile3.2 -map使用语法3.3合并的常见问题3.3.1 UCAPI-MAP-SHAPEMISMATCHcoverage相关的用户手册可以在本人的百度云盘中查看Coverage Technology User Guide.pdf还可以参考gsithxy的博文[VCS]Condition Coverage收不全的问题及解法该文给出了vcs收覆盖率的o...原创 2021-02-20 11:39:18 · 25077 阅读 · 14 评论 -
Verdi如何查看二维数组的波形
转自[Verdi]如何在Verdi中查看數組?如何Dump ALL Hierarchy wavefrom?如何在Verdi中查看數組的Wavefrom呢?如何Dump ALL Hierarchy的Wavefrom?如果需要Trace數組的值,需要在top中加入:$fsdbDumpMDA(); 如果需要Dump ALL Hierarchy的Wavefrom,需要在top中加入:$fsdbDumpvars(0); 將file_list中的-v Option全部拿掉,如: -v /proj/comm.转载 2020-12-19 10:37:11 · 4460 阅读 · 3 评论 -
使用dc_shell读.v(rtl/netlist)看电路图,打开gui
read_verilog :可以读取网表文件或者.v文件原创 2020-10-29 22:22:22 · 10319 阅读 · 0 评论 -
Linux下svn可视化工具Rapidsvn/分支合并
1.在Windows下常用的SVN客户端软件是TortoiseSVN;而在Linux下使用RapidSVN1.如何添加svn的url,并查看当前url的目录结构右键Bookmark选择add Existing Repository可添加已存在的svn库的url显示的目录结构如下,这样就可以check out不同级别的目录2.分支与合并参考SVN 分支及合并的介绍...原创 2019-05-21 12:34:14 · 2020 阅读 · 0 评论 -
SVN主干上如何查看merge分支上的提交日志(这就是为什么选择merge而不是cp之后直接commit的原因)
现象:配置管理员将svn分支(branch)合并到主干(trunk)上,分支的修改是由A同学提交的,合并到主干上的时候是由配置管理的B同学完成的,某天你突然心血来潮想看看主干上某个文件的修改的完整历史,发现使用svn log或者乌龟都只能看到配置管理员B同学merge的日志记录。难道将分支合并到主干上,分支的提交日志都丢失了??这也太不可能了吧,可能的原因有两个,一个是svn merge...转载 2020-04-29 19:36:50 · 3035 阅读 · 0 评论 -
verdi/debussy的快捷键 以及基本操作
转自http://blog.sina.com.cn/s/blog_6582c5f30102v9ik.htmlverdi的快捷键g:加载信号 Get signalsx:标注信号的值(在源代码中)Active AnnotationL :返回至上一个视图 Reload DesignCtrl+e:Active TraceCtrl+w:Add Signal to WaveH:hie...转载 2018-12-04 15:54:57 · 2643 阅读 · 0 评论 -
verdi常见窗口的打开及隐藏
verdi的窗口最小化之后在右下角可以打开对于覆盖率可以选择显示哪些 Line/Toggle/FSM/Conditon等原创 2020-04-28 19:17:32 · 9167 阅读 · 0 评论 -
spyglass的waiver问题(design修改之后之前的waiver不存在了怎么处理)
1.在spyglass的prj中设置默认waiver文件2.如何waiver3.查看已waiver的item1.首先上图中红色框里选择Waiver Tree2.黄色框里选择waiver选择by Severity (即按严重程度分级)3.黑色框中 Design Issues Waivers Waiving Zero Violations表示之前的waiver it...原创 2020-04-28 10:41:40 · 5382 阅读 · 0 评论 -
dc/spyglass 一定要将top和current_design设置为design的top名
1.dc/spyglass 一定要将top和current_design设置为design的top名dc和spyglass的脚本和prj经常出现 设置top和current_design 一定要设置为design的top module name(注意不是Instance name)...原创 2020-04-23 11:07:47 · 5209 阅读 · 0 评论 -
Spyglass lint/cdc导出 GUI显示的report///显示debug data(信号属性 clk&rst)
1.Spyglass将GUI warning/Error导出为rpt下图可见Total 16535条Info/Warning/Error点击工具栏右侧 Reports原创 2020-04-23 11:00:15 · 2439 阅读 · 0 评论 -
systemVerilog中利用DPI-C来setenv,getenv设置读取环境变量
1.DPI-C的import使用可以import为function和task,区别是function可以有返回值。因为setenv()和getenv()这两个函数是C语言库中的标准函数,所以可以直接利用这两个函数的用法参考C语言中getenv(),putenv(),setenv()等函数的用法运行结果为:...原创 2020-03-23 20:01:18 · 2485 阅读 · 0 评论 -
verdi方法fsdbreport将fsdb的某个信号值抽出为可读文件 及波形转换,合并,修改工具,Verdi培训整理笔记
目录1.fsdbreport可以将fsdb的某个信号值抽出2.fsdbreport manual3.其他使用工具0.Verdi培训整理笔记文档记录在个人百度网盘1.fsdbreport可以将fsdb的某个信号值抽出该功能在波形比较的时候有大用。举例:这个命令是将psel==1&penable==1&pwrite==0&pready==...原创 2019-07-24 20:24:05 · 28133 阅读 · 6 评论 -
vcs编译解决 module名重复的冲突问题
我们在编译RTL的时候往往会遇到这样的问题:在g0这个模块里面存在文件add.v,实现一个加法器add供g0模块使用,在g1这个模块里面也存在文件add.v,也有个加法器add供g1模块使用。如果我们直接将g0和g1的设计文件加到filelist里面编译,必然会报编译错误:重复定义。解决办法有:1.创建共用的add模块,g0和g1均采用该模块,通过参数配置来达到不...转载 2019-10-25 10:36:35 · 14444 阅读 · 3 评论 -
linux下替换svn diff
有两种方法:一.使用svn diff --diff-cmd xxx -raaa:bbb file1.1使用meld进行比较:svn diff --diff-cmd meld -r001:002 test.v是比较svn 库上test.v的001和002版本区别,效果如下:1.2使用tkdiff进行比较效果如下:1.3使用vimdiff和bcompare...原创 2019-10-23 19:26:42 · 2091 阅读 · 0 评论 -
一份spyglass做lint的lint.prj
目录1.命令解释1.1 以上的几类命令1.1.1 set_option1.1.2 current_methodology1.1.3 current_goal1.1.4 read_file1.1.5 set_goal_option1.1.6 set_parameter对于以上命令的解释需要逐步更新,有些命令一看便知功能不再赘述。这些配置可以在使用spyglas...原创 2019-10-23 17:13:52 · 10453 阅读 · 3 评论 -
VCS常用参数及编译仿真实例dump波形
vcs -sverilog +v2k +plusarg_save -ntb_opts uvm-1.1 \-f XXX/lib/vcs.f \+define+ASSERT_ON \-cm assert +define+COVER_ON \+define+XXX \+nospecify +lint=TFIPC-L +notimingcheck -debug_acc -j4 \-XgenLo...转载 2019-10-23 15:44:44 · 23000 阅读 · 2 评论 -
SVN工具的链接方式 svn pe svn:externals .
命令如下:svn pe svn:externals .命令效果如下:在当前目录下打开一个link指定文件,在这个文件中添加如下行 optical_flow为当前目录下的子目录名 -r为版本号 后面的URL为源文件的svn地址这样添加保存退出之后,使用svn up即可checkout出URL所指向地址的源文件...原创 2019-10-06 16:23:39 · 702 阅读 · 0 评论 -
uvm_event,uvm_event_pool和uvm_event_callback用于UVM不同组件同步
摘自UVM通信篇之六:同步通信元件(上) 在之前SV的章节中,我们为大家介绍了SV中用来做线程间同步的几种方法,它们分别是semaphore、event和mailbox。然而在UVM中,同步的不再只局限于同一个对象中的各个线程,而是还有各个组件之间的同步问题。一旦发生同步的要求发生在各个组件之间,这就要求组件之间通过某种可以同步的方法来实现。而考虑到UVM各个组件的封闭性原则,我们并不推荐通过...转载 2019-09-25 15:40:17 · 1400 阅读 · 0 评论 -
Vivado的HLS (high-level synthesis) C/C++ 转化RTL
摘自vivado-HLS入门前言FPGA的能耗比优于GPU,且设计自由度高,受到许多深度学习开发者的青睐。但是用HDL语言开发神经网络过于复杂,利用Xilinx公司的高层次综合工具vivado HLS开发RTL逻辑的IP核则可以降低开发难度。本文主要描述了如何使用vivado HLS的基本功能。文章内容主要来自于Xilinx官方文档:ug871-vivado-high-level-...转载 2019-09-07 18:03:33 · 5979 阅读 · 0 评论 -
VCS编译传递环境变量,VCS编译仿真实例,SV读取环境变量
目录一.systemVerilog和Verilog读取环境变量$ENV1.使用VCS编译的预定义MACRO传入环境变量Highlight为打印结果2.$value$plusargs获取环境变量3.DPI-C使用getenv一.systemVerilog和Verilog读取环境变量$ENVsystemVerilog和verilog不能直接读取$ENV,有两种方法:...原创 2019-08-23 17:02:38 · 5965 阅读 · 0 评论 -
形式验证 formality的设置及fm_shell使用
形式验证进阶(二):Setup阶段的约束信息&说说formality中比较点匹配2018-10-26芯司机公众号:chipdriver之前的文章导读《形式验证入门之基本概念和流程》《形式验证进阶(一):Guidance&Load Design》Setup阶段的约束信息1.常规setup设置1)如果DC的综合脚本中使用了set_case_analysis命...转载 2019-02-13 20:41:59 · 23923 阅读 · 13 评论 -
VCS/irun/verdi编译命令/vhdl&verilog混合编译/.so联合编译/sv_lib/sv_liblist/sv_root
目录1.VCS的编译解析1.1一步编译法1.2 三步编译法1.3 VCS动态加载DPI shared lib (.so)2.irun编译命令3.verdi也可以编译1.VCS的编译解析1.1一步编译法这种适合都是verilog的工程下面是一个可以使用的vcs makefile用于编译VCS 编译仿真方法总结VCS编译命令摘自:SYNOPSYS...原创 2019-01-30 17:37:51 · 25390 阅读 · 3 评论 -
Spyglass学习及应用于cdc
spyglass的学习步骤Synopsys SpyGlass CDC 学习 (一)Synopsys SpyGlass CDC 学习 (二)转载 2019-06-01 11:18:16 · 4917 阅读 · 1 评论