- 博客(510)
- 资源 (15)
- 收藏
- 关注

原创 TCSH入门教程 --- tcsh从入门到精通
TCSH入门教程 简介:TCSH不同于其他的shell(例如bash),因为控制结构更符合程序设计语言的格式。例如TCSH的test条件的控制结构是表达式,而不是linux命令,得到的值是逻辑值true或false,TCSH的表达式与C语言中的表达式基本相同。一、TCSH变量、脚本、参数 用户可以在shell中定义变量、为变量赋值以及引用脚本参数。TCSH使用set、@、setenv...
2020-06-29 20:41:35
6189
3

转载 华为内部的关于IC验证的经验总结
华为内部的关于IC验证的经验总结 ----IC验证工程师的易筋经 有人认为我验证做得很牛,也有人认为我的验证早就丢下了;有人认为我发现了各个项目的不少问题,也有人认为我在CMM库的几百个问题单大部分属纯净水。...
2020-04-30 12:10:45
16307
6

原创 [Cshell]Cshell基本語法 --- 從入門到精通
如何向CShell Script傳遞參數? 如何将命令行的参数传给script呢? 可以这样: 键入script名, 后面跟任何你想要传递的参数. Cshell把script名后面的字符按照词(words)来划分后传递给一个叫做argv的变量数组, 叫做arguments list. 这样命令行的参数就作为words存储于argv中, 连同script名, 分别可以被引用为argv...
2019-03-09 11:21:25
25221
7
转载 [UVM]uvm_testbench_gen | 介绍一个UVM环境自动生成工具
摘要:介绍一个通过GUI方式自动生成UVM环境的工具,uvm_testbench_gen。工具来源于DVCon US 2022的一篇论文:Novel GUI Based UVM Test Bench Template Builder。工具源码开源在git。
2023-05-10 13:20:59
130
1
转载 NOC总线架构拓扑介绍
CPU是怎样访问内存的?简单的答案是,CPU执行一条访存指令,把读写请求发往内存管理单元。内存管理单元进行虚实转换,把命令发往总线。总线把命令传递给内存控制器,内存控制器再次翻译地址,对相应内存颗粒进行存取。之后,读取的数据或者写入确认按照原路返回。再复杂些,当中插入多级缓存,在每一层缓存都未命中的情况下,访问才会最终达到内存颗粒。
2023-04-18 09:37:53
429
原创 [Cshell]用sed替换包含单引号的字符串
在Linux中,经常用的替换命令非sed莫属,但是sed也有失灵的时候,比如SV中的address和data,例如:32'h1020_0180等等。此时要做替换的话该怎么办呢?下面介绍寄几种方法来实现sed替换包含单引号的字符串。
2023-04-14 20:47:44
437
原创 [UVM]为什么不建议在body()中使用pre_body()和post_body
A:为实现pre_body()、post_body()的执行效果,可在sequence中新定义task:body_pre()和body_post(),并将其至于body()内。A:在uvm_test中,如果要将顶层的virtual sequence挂在到virtual sequencer上,则应该使用start()方法,而不应该是`uvm_do_on()的宏,原因就是uvm_test中无法使用`uvm_do()系列macro。
2023-04-04 21:31:55
248
原创 [UVM]uvm_config_db和uvm_resource_db的区别
A:实际上,通过uvm_resource_db::set()设定的变量读取,默认遵循first-write-win的原则,因为内部存放的变量是通过队列的形式来实现的,在没有通过set_override()设定变量的情况下,在运行过程中对scope+name变量的第一次配置会优先读取。A:uvm_config_db可以通过静态方法set()和get()完成对某个层次中的变量的配置和读取,它遵循高层次的配置覆盖低层次的配置,同层次中后面的配置覆盖前面的配置,即parent&last-write-wins。
2023-04-04 16:29:10
504
原创 [SV]SystemVerilog线程之fork...join专题
A:对于有握手、仲裁需求的线程(比如sequence发送激励),不应该粗鲁的使用disable fork结束这些线程,而应该在县城内部,在其完成握手、仲裁之后的安全阶段结束线程,否则容易引起死锁(dead-lock)。A:后台线程不会结束,任何由fork开辟的线程(join、join_any、join_none),无论其外部任务(task)何时结束也无论fork何时跳转执行后面的程序,都不会将其开辟的线程自动结束。disable fork停止的是其所在进程或者方法中的fork触发的所有子线程,
2023-04-04 11:34:58
390
原创 [SV]SystemVerilog virtual method和method的区别
SystemVerilog中virtual method和method的区别
2023-04-03 16:09:30
193
原创 [TCSH]cshell脚本中等待VCS编译完成的方法
摘要:在SoC验证中,我们会根据编译的RTL的差异,创建多个build或者叫conf,但是由于每个用户能够提交的Job数量有限,有时候不得不串行执行,那么那脚本中怎么等待VCS编译完成呢。本文将给出一种实用的方法。
2023-03-21 17:51:34
214
原创 珠算口诀大全
算盘是中国人在使用算筹的基础上发明的,迄今为止已有2600多年的历史,随着算盘的使用,人们总结出许多计算口诀,使计算的速度更快了。这种用算盘计算的方法,叫珠算。本文将介绍常用的准算口诀。
2023-03-05 13:48:38
2682
原创 [VCS]Coverage Options Introduction
VCS仿真中,可以产生以下两类coverage:code coverage和function coverage,对于code coverage,在编译和仿真需要加额外参数。对于function coverage,编译和仿真不需要加额外参数,本文将详细介绍VCS coverage相关的option。
2023-01-31 09:25:34
1149
原创 [VCS]Condition coverage vs. branch coverage
条件覆盖测试是一种白盒测试,用于测试程序中所有条件表达式的所有可能结果。它也称为谓词覆盖。那么条件覆盖率和分支覆盖率有什么区别呢?在分支覆盖中,所有条件都必须至少执行一次。另一方面,在条件覆盖中,所有条件的所有可能结果必须至少测试一次。
2023-01-18 15:26:29
1124
原创 sinc函数简介
sinc函数(英语:sinc function)是一种函数,在不同的领域它有不同的定义。数学家们用符号sinc(x)表示这种函数。 sinc函数可以被定义为归一化的或者非归一化的,不过两种函数都是正弦函数和单调的递减函数 1/x的乘积。
2023-01-05 13:46:58
1552
原创 [Verilog]Verilog经典电路设计(二)
Verilog经典电路设计(二):4选1数据选择器,同步置数、同步清零的计数器,奇偶校验位产生器,带异步清 0异步置 1 的 JK 触发器
2023-01-03 17:42:03
187
原创 [Verilog]有限状态机设计举例
有限状态机(FSM)是许多数字系统中用来控制系统和数据流路径行为的时序电路。FSM的实例包括控制单元和时序。 本实验介绍了两种类型的FSM(Mealy和Moore)的概念,以及开发此类状态机的建模方式。 请参阅Vivado教程,了解如何使用Vivado工具创建项目和验证数字电路。
2022-12-30 16:23:23
1232
8
原创 [Verilog]格雷码与二进制码的相互转换
格雷码是一种相邻数值仅有一个数位发生变化的编码。格雷码被广泛应用于异步FIFO的数据传输中。当数值从一个时钟域传递到另一个时钟域时,仅有一个比特位的翻转十分重要。
2022-10-30 22:50:44
451
原创 [P4]p4 integrate/resolve/copy
在执行p4 integrate时,服务器会比较两个文件的差异,如果两个文件完全一样,则此操作失败;如果两个文件内容有差异,则需要执行resolve操作进行merge,此时,theirs是//HC/AT/sim/uvm/ttt.log
2022-10-24 16:52:27
547
原创 [SV]SystemVerilog二维关联数组使用案例
摘要:二维的关联数组是一种非常重要的数据结构,在验证环境中用于保存一些特定的对象,用于检索和分析。本文会介绍一种二维关联数组的使用案例。计算时间间隔,可以用Linux的时间戳(date +%s),将得到的数据写入文件,最后读回来作差。
2022-10-24 10:11:27
1344
翻译 [P4]Perforce (p4) Branching and Integration
In the course of software development, webranchfiles to do concurrent, parallel work on them, and weintegratefiles to combine the results of such work. In this chapter, we’ll look at how to do branching and integrationwith Perforce.
2022-10-21 15:42:40
277
转载 [P4]源码管理 - perforce(p4)的分支与集成
p4的分支创建和集成过程主要包含4个步骤:(1) 使用‘p4 branch’创建branch spec;(2)使用’p4 integrate‘来实现分支间的集成;(3)使用‘p4 resolve’来完成冲突的合并;(4)使用‘p4 submit’提交集成的结果。如下为在p4v中的操作。
2022-10-21 10:38:43
834
原创 [P4]Perforce (p4) Command Line: Tips and Tricks
P4命令行操作常用的命令:Perforce (p4) Command Line: Tips and Tricks
2022-10-20 20:30:53
235
原创 [SV]在SystemVerilog中调用Linux系统命令
摘要:在验证环境构建中,为了使得环境更加灵活,复用性更强,或者获取日期等等,都需要通过Linux命令来实现。那么在SystemVerilog中怎么调用Linux命令呢?本文将通过一个例子来展示实现方法。
2022-10-12 15:12:00
679
原创 [SV]SystemVerilog中指定打印格式
本文主要总结一下SystemVerilog中的占位符,通过合理的使用占位符,可以再log中按自己指定的格式打印信息,方便case分析及debug。
2022-10-12 14:33:56
2534
3
原创 [Tool]分享一款好用的截频、截图、贴图工具
分享一款好用的截频、截图、贴图工具:Snipaste 是一个简单但强大的贴图工具,同时也可以执行截屏、标注等功能。一、基础操作Snipaste 是一个简单但强大的贴图工具,同时也可以执行截屏、标注等功能。1.1截屏开始截图 快捷键(默认为F1) 鼠标左键单击托盘图标何谓一次成功的截图 保存到剪贴板 (/Ctrl+C/Enter/双击截屏区域) 保存到文件 (/Ctrl+S) 保存到贴图 (/Ctrl+T) 快捷保存 (Shift+/Ctrl+Shif...
2022-10-04 09:51:58
238
3
转载 Jenkins详细教程
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。因为上面的build 并没有包含这个target,所以默认情况下,执行build是不会打包文件的,所以在jenkins project配置界面,Ant构建那一步的targets,我们才会有"build" 和 "tar" 这两个targets。点击左边的"立即构建" 手动触发构建。有疑问欢迎在下方留言。
2022-09-26 16:42:36
119
原创 [UVMC]UVM Connect基础教程
尽管 UVM 为构建参考模型提供了高级抽象,但 SystemC 在用于设计和验证的高级模型方面具有传统。 为了允许在 UVM 测试平台中重用使用 SystemC 编写的参考模型,UVMC 在 SystemC 和 SystemVerilog UVM 模型和组件之间提供 TLM1 和 TLM2 连接。
2022-09-15 18:53:56
783
原创 [MEM]Backdoor Access Memory
本文分享一种AXI slave vip memory中实现backdoorAccess memory的方法。
2022-09-13 16:55:34
203
转载 [VCS]数字电路门级仿真及SDF反标
从概念上来说,数字验证包含两方面的内容,一个是验证功能,另一个是验证时序。对应的仿真模型(不论是model,standard cell等)也不外乎这两个部分,功能部分由逻辑,udp元件或gate构成,时序部分则包括了时序反标和时序检查两小块。平时我们所说的功能验证,也就是前仿真,实现了对功能进行验证的目的,时序被默认为理想情况,不包含延迟信息。门级仿真,也称为后仿真,除了功能验证外,最主要就是用来检查时序是否满足,有没有时序违例的情形。门级仿真根据网表不同,又可以分为综合后仿真,以及pnr后仿真。
2022-09-08 23:45:27
846
转载 [VCS]门级仿真及SDF反标
相对于RTL仿真,门级仿真占用的计算资源虽然很多,但是在静态时序检查(STA)工具普遍应用之前,带时序的动态门级仿真几乎可以说是唯一的timing sign-off手段了。 那么在STA工具已经成熟的现在,门级仿真还有存在的必要吗?为什么有些公司的设计流程中还包括门级仿真这个必需的步骤呢?
2022-09-08 23:17:23
3477
1
原创 [SystemC]Primitive Channels and the Kernel
摘要:本节介绍了 SystemC 仿真内核的一些操作,然后将其与原始通道的行为联系起来。
2022-09-03 22:00:55
246
原创 [SystemC]SystemC Hierarchical Channels
摘要:分层通道构成了 SystemC 系统级建模能力的基础。它们基于通道可能包含相当复杂的行为的想法——例如,它可能是一个完整的片上总线。 另一方面,原始通道不能包含内部结构,因此通常更简单(例如,您可以认为 sc_signal 的行为有点像一根电线)。 为了构建复杂的系统级模型,SystemC 使用将通道定义为实现接口的事物的想法。接口是访问给定通道的可用方法的声明。
2022-09-03 21:31:44
282
uvm-testbench-gen
2023-05-10
Verdi and Siloti Command Reference
2023-04-11
开源AMBA AHB VIP
2022-12-09
开源AMBA APB VIP
2022-12-09
开源AMBA AXI4 VIP
2022-12-09
使用VCS的门级仿真和最佳实践(Gate-Level Simulation with VCS and Best Practic)
2022-10-08
UVMC应用案例代码分享
2022-09-15
SystemC User’s Guide(SystemC使用手册)
2022-07-21
CMake官⽅⽂档CMake Tutorial
2022-07-21
Synopsys_SVA_OVL检查库应用指南
2022-07-07
500个Excel函数模板.zip
2020-07-12
集成电路设计CAD-EDA工具实用教程1-Spectre-Verilog数模混合仿真.ppt
2020-07-12
快速仿真和数模混合仿真软件.ppt
2020-07-12
本科毕业论文-带隙基准.pdf
2020-05-02
LDO低压差线性稳压器核心电路的设计.pdf
2020-05-02
pll-for-high-frequency-receivers-and-transmitters-3_cn.pdf
2020-05-02
pll-for-high-frequency-receivers-and-transmitters-2.pdf
2020-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人