自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (8)
  • 收藏
  • 关注

原创 Verilog HDLbits (2)矢量vector

矢量vector向量用于使用一个名称对相关信号进行分组,以便于操作。例如,wire [7:0] w;``声明一个名为w的 8 位向量,它在功能上等同于具有 8 条单独的连线。请注意,向量的声明将维度放在向量名称之前,这与 C 语法相比是不寻常的。但是,部分选择在矢量名称**之后具有您所期望 的尺寸。wire [99:0] my_vector; // Declare a 100-element vector assign out = my_vector[10]; // Part-selec

2022-03-09 20:47:09 1131 2

原创 Verilog HDLbits 刷题(1)Basics

自定义目录标题)基本wire物理线不同,Verilog 中的线(和其他信号)是有方向的。这意味着信息仅在一个方向上流动,从(通常是一个)源到接收器(源通常也称为驱动器,将值驱动到线路上)。在 Verilog “连续赋值” ( assign left_side = right_side;) 中,右侧的信号值被驱动到左侧的导线上。赋值是“连续的”,因为即使右侧的值发生变化,赋值也会一直持续。连续分配不是一次性事件。模块上的端口也有方向(通常是输入或输出)。输入端口由模块外部的某些东西驱动,而输出端口由外

2022-03-09 20:44:26 363

原创 运行sequence需要什么步骤?

运行sequence需要什么步骤?启动sequence需要执行三个步骤,如下所示:1.创建一个序列。使用工厂创建方法创建一个序列:my_sequence_c seq; seq = my_sequence_c ::type_id :: create(“ my_seq”)2.配置或随机化序列。seq.randomize()3.开始一个sequence。使用sequence.start()方法启动序列。start方法需要输入一个指向sequencer的参数。关于sequence

2021-08-09 14:31:24 2026

原创 UVM启动和结束

哪个方法可以激活UVM验证平台,如何调用它?**run_test()方法(静态方法)**用来激活UVM验证平台。通常在顶层的“ initial begin…end”块中调用,并且它使用一个参数(UVM_TESTNAME)指定要运行的test case。run_test()方法(写在了tb里面)在build_phase()中执行test class的构造函数,并进一步构造层次化的Env / Agent / Driver / Sequencer对象。在UVM方法学中仿真如何结束?正常

2021-08-09 14:27:33 2216

原创 《UVM实战》笔记 UVM中代码的可重用性

第9章 UVM中代码的可重用性UVM之uvm_callback详解_liuwei848的博客-CSDN博客9.1 callback机制如果把两个项目不同的地方使用callback函数来做,而把相同的地方写成一个完整的env,这样重用时,只要改变相关的callback函数env可完全的重用。my_transaction的最后一个字段是CRC校验信息。假如没有post_randomize(),那么CRC必须在整个transaction的数据都固定之后才能计算出来。post_rando..

2021-07-31 23:01:44 501

原创 《UVM实战》笔记 UVM中的factory机制(重载)

第8章 UVM中的factory机制(重载)只要是面向对象的语言,都有重载功能。使用set_type_override_by_type函数可以实现两种不同类型之间的重载,set_inst_override_by_type函数(并不是希望把验证平台中的A类型全部替换成B类型,而只是替换其中的某一部分)extern static function void set_type_override_by_type (uvm_object_wrapper original_type, /

2021-07-31 22:59:48 2781

原创 《UVM实战》笔记 常见的UVM机制

常见的UVM机制:1.field_automation机制对field_automation最直观的感受是,他可以自动实现copy、compare、print等三个函数。当使用uvm_field系列相关宏注册之后,可以直接调用以上三个函数,而无需自己定义。这极大的简化了验证平台的搭建,尤其是简化了driver和monitor,提高了效率。 2.config_db机制config_db机制在UVM验证平台中主要用于参数传递。它们通常都是成对出现的,set函数...

2021-07-31 22:56:37 1322

原创 《UVM实战》笔记 UVM中的sequence

第6章 UVM中的sequencesequence和sequencer_wonder_coole的博客-CSDN博客5.小白学uvm验证 - squence机制 - DreamCll - 博客园 (cnblogs.com)6.1什么是 sequence  上文提到,子弹,弹夹和枪的比喻,想必大家都有映像,sequence 就像一个弹夹,里面装了很多"子弹",而这里的"子弹"就是 transaction, 弹夹可长可短,只要子弹型号一致(同一种 transaction),就能通过 se..

2021-07-31 22:54:56 471

原创 《UVM实战》笔记 phase机制

第5章 UVM验证平台的运行5.1 phase机制phase机制_wonder_coole的博客-CSDN博客function phase,不耗费仿真时间,通过函数来实现;task phase,它们耗费仿真时间,通过任务来实现。对于function phase来说,在同一时间只有一个phase在执行;但是task phase中,run_phase和其下属12个小的phase(12个之间顺序执行)并行运行。后者称为动态运行(run-time)的phase。如下代码所示:run_ph

2021-07-31 22:52:29 2445 1

转载 白盒/黑盒/灰盒测试的区别

单元测试属于白盒测试范畴;集成测试属于灰盒测试范畴;系统测试属于黑盒测试范畴。一.软件测试方法1.软件测试方法:白盒测试、黑盒测试、灰盒测试、静态测试、动态测试2.白盒测试:是一种测试用例设计方法,在这里盒子指的是被测试的软件,白盒,顾名思义即盒子是可视的,你可以清楚盒子内部的东西以及里面是如何运作的,因此白盒测试需要你对系统内部的结构和工作原理有一个清楚的了解,并且基于这个知识来设计你的用例。白盒测试技术一般可被分为静态分析和动态分析两类技术。静态分析...

2021-07-14 10:37:27 2992

原创 零基础如何学会——面向对象

点击查看博主有道云笔记的内容作者:爱吃鱼的嗷大喵,知乎同号,一个经历丰富的转行ICer文档:零基础如何学会——面向对象.note链接:http://note.youdao.com/noteshare?id=2f77970b4ca0d10abf9971637aab6e2b&sub=BF5DB3EF5243449AA0EAACA6FDA6D257...

2021-05-01 11:02:59 154

原创 数字IC笔试面试题链接汇总【数字ICer】

请打开博主爱吃鱼的嗷大喵 有道云笔记查看文档:数字IC笔试面试题汇总【数字ICer】.not…链接:http://note.youdao.com/noteshare?id=18cb8c001cd92b000c477a92a2eb2568&sub=A5BF263A2A604843B5939EAB42EFD8B4

2021-05-01 10:59:59 587

原创 Java基础2讲义四千字总结---黑马刘意

请打开博主的有道云笔记链接查看文档:Java基础2讲义—刘意.note链接:http://note.youdao.com/noteshare?id=ef4eff49227baacf3963b14af2359727&sub=EF6F229712C943DDB85D0EB26F55A245

2021-05-01 10:57:20 174

原创 VCS入门教程(四) 门级网表的仿真

点击查看博主有道云笔记的内容作者:爱吃鱼的嗷大喵,知乎同号,一个经历丰富的转行ICer文档:VCS入门教程(四) 门级网表的仿真链接:http://note.youdao.com/noteshare?id=008a6b6850ca3273f2f46bba0c26bb4c&sub=wcp1615208131632980...

2021-05-01 10:53:04 2235

原创 VCS入门教程(三) 覆盖率+Makefile

点击查看博主有道云笔记的内容作者:爱吃鱼的嗷大喵,知乎同号,一个经历丰富的转行ICer

2021-05-01 10:47:48 1301

原创 VCS入门教程(二) debug

点击查看博主有道云笔记的内容作者:爱吃鱼的嗷大喵,知乎同号,一个经历丰富的转行ICer

2021-05-01 10:46:41 578

原创 VCS入门教程(一) VCS介绍+流程示例

内容在有道云笔记,点击查看作者:爱吃鱼的嗷大喵,知乎同号,一个转行的ICer

2021-05-01 10:44:34 2720

原创 详细示范简单VCS的Makefile怎么写

VCS在统计代码覆盖率的过程中,我们通常在编译和仿真命令上添加对应的开关选项,生成一个 .vdb文件记录覆盖率的情况。再使用dve打开该文件查看。下面介绍一些选项。编译命令的格式:vcs sourcefile [compile_time_option] (编译选项用来控制编译过程)执行仿真命令格式:./simv [run_time_option]-cm :打开对应类型的覆盖率,例如 -cm cond+tgl+lin+fsm+path为统计上述所有覆盖率。可根据需要增减。-cm_name:设置记录有覆

2021-05-01 10:40:40 4984

转载 Systemverilog知识点总结

Systemverilog数据类型l 合并数组和非合并数组1)合并数组:存储方式是连续的,中间没有闲置空间。例如,32bit的寄存器,可以看成是4个8bit的数据,或者也可以看成是1个32bit的数据。表示方法:数组大小和位,必须在变量名前指定,数组大小必须是【msb:lsb】Bit[3:0] [7:0] bytes ;2)二维数组和合并数组识别:合并数组: bit [3:0] [7:0] arrys; 大小在变量名前面放得,且降序二维数组: int array

2021-04-19 22:26:56 3532 1

转载 verilog断言(SVA)语法

断言assertion被放在verilog设计中,方便在仿真时查看异常情况。当异常出现时,断言会报警。一般在数字电路设计中都要加入断言,断言占整个设计的比例应不少于30%。以下是断言的语法:1. SVA的插入位置:在一个.v文件中:module ABC ();rtl 代码SVA断言endmodule注意:不要将SVA写在enm...

2021-04-19 22:18:59 3944 1

原创 《UVM实战》笔记part1(第一、二章+常见缩写)

一、代码常用缩写:UVC=bus agentadapter:寄存器桥接arb=arbiter:仲裁器ap=uvm_analysis_portchnl=chnnel:信道(数据通道)cfg=config:配置db=database:freq=frequnce:频率reg=register:寄存器env=environment:环境rep=report :报告req =request:请求rsp=response:响应registration :注册o

2021-04-01 13:53:01 3089

原创 《UVM实战》笔记part2(第三章)

目录三、UVM基础3.1 uvm_component派生自uvm_object常用的派生自uvm_object的类:uvm_component的限制3.2 UVM的树形结构m_children与parent:UVM树的根层次结构相关函数3.3 field automation机制的常用函数3.4 UVM中打印信息的控制冗余度阈值重载打印信息的严重性设置计数的目标UVM的断点功能将输出信息导入文件中控制打印信息的行为3.5 config_db

2021-04-01 13:44:27 738

原创 IC从业人员基础:计算机基础知识缩写

计算机基础缩写这些都是我这两年来自学CS与EE整理的知识点,非常适合跨行人员。Bit意为“位”或“比特”,是计算机运算的基础,属于二进制的范筹; 1B=8b。Byte意为“字节”,是计算机文件大小的基本计算单位; 1B=8b。这两者应用的场合不同。通常用bit来作数据传输的单位,因为物理层,数据链路层的传输对于用户是透明的,而这种通信传输是基于二进制的传输。在应用层通常是用byte来作单位,表示文件的大小,在用户看来就是可见的数据大小。比如一个字符就是1byte,如果是汉字,则是2byte。M

2021-03-19 14:59:23 964

原创 IC验证常用缩写(一、红宝书前三章)

EE/CS缩写基础知识科学计数法:a×10^b=(aEb)一般说50MHz的方波信号 到底指的是什么?50MH频率——周期20纳秒100MH频率——周期10纳秒50MHz(50E6Hz)的方波,就bai是指方波的频率du是50MHz,或者说,每秒钟范围内,有50M个方波波形。就是大约1/(5010E6) = 0.0210E-6秒 =20*10E-6秒=20纳秒,如果按照方波占空比为50%考虑,每个方波的宽度将是 10 纳秒。CIN:(Carry INput)进位输入COUT:(Carry OU

2021-03-19 14:55:29 2292

原创 《数字电路与逻辑设计》笔记及经典问答题

第一章:基本知识第二章:逻辑代数基础第三章:集成门电路与触发器第四章:组合逻辑电路第五章:同步时序逻辑电路第六章:异步时序逻辑电路第七章:中规模电路边沿触发及电平触发的区别:八种逻辑门Cache和Buffer的区别第一章:基本知识ADC:模拟信号->数字信号:通过采样定理采样-----量化----------编码DAC:数字信号->模拟信号:数字信号再按照编码地方式进行解析,然后再传进D/A转换器反码:他的出现可以解决原码加法困难问题,但是会出现正负零悖论。补码:是为

2021-03-19 14:52:02 3300

原创 IC工程师常使用的Linux命令(入门级)

第1个命令:ls(list缩写)罗列当前目录内所有能看见的文件初学者,看清了,是上面是小写的L,ls在当前窗口中输入 ls意思就是,查看当前目录下有哪些文件和文件夹第2个命令:mkdir创建目录(make directory)直接在窗口中输入 mkdir learn意思就是:在当前Desktop文件夹下,新建一个新的文件夹(目录就是文件夹),名字叫learn;输入命令:jiangbk@PS029 /home/jiangbk/Desktop> mkdir learn然后在输入 ls,会

2020-12-14 22:01:48 887 3

原创 《码农翻身》第一章 cs基础 思维导图

小伙伴们大家好,我把曾经做的《码农翻身》第一章 cs基础 思维导图放上来了。使用软件是XMind,文件链接已经放上来啦.xmindx格式的:链接:https://pan.baidu.com/s/1-BZei04ytc5UYHzJL2XMng提取码:ni92复制这段内容后打开百度网盘手机App,操作更方便哦——————————————————————————————————————————————————郑退之,走过很多弯路的材料专业在读硕士,正在转行中,不定期发布心得体会,有兴趣可以关注

2020-11-29 17:22:39 229

原创 《码农翻身》第二章 Java帝国 思维导图

小伙伴们大家好,我把曾经做的《码农翻身》第二章 Java帝国 思维导图放上来了。使用软件是MindMaster,这个软件的好处是,非RMB用户可以插入图片(另一款思维导图软件XMind,要成为会员之后才可以插入图片),文件链接已经放上来啦emmx格式的:链接:https://pan.baidu.com/s/1YXQfKj0qaZt7pO97QF03wA提取码:prta复制这段内容后打开百度网盘手机App,操作更方便哦——————————————————————————————————————

2020-11-29 17:20:27 330

转载 香农的贡献及其对后世的影响

转载一篇纪念香农的文章,此公是我人生中的灯塔。香农的贡献及其对后世的影响Claude E. Shannon: His Work and Impact张卫国,高新波,蒋洪波关键词:香农;信息论;密码学香农(Claude Elwood Shannon)生于1916年,卒于2001年。今年是香农诞辰一百周年。为了纪念这位伟大数学家和信息论的创始人,我们以香农的生平为线索,介绍他不平凡的一生和他对世界的影响。香农于1916年4月30日诞生于美国密歇根(Michigan)州皮托斯基..

2020-11-29 17:10:57 4235 1

原创 Python程序设计思维导图

小伙伴们大家好,我把曾经做的Python程序设计知识点思维导图放上来了。使用软件是MindMaster,这个软件的好处是,非RMB用户可以插入图片(另一款思维导图软件XMind,要成为会员之后才可以插入图片),文件链接已经放上来啦emmx格式的:链接:https://pan.baidu.com/s/1HG183LhWHpAMyIhYEimK9w提取码:e7e2png格式的:链接:https://pan.baidu.com/s/1XWxSYPg9xFINMiKzZQy13A提取码:wzfp

2020-11-29 17:04:26 1264

原创 散列表(Hash table哈希表)及其生成原理

散列表(Hash table,也叫哈希表),在python中为字典。是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。​基本概念若关键字为k,则其值存放在f(k)的存储位置上。由此,不

2020-11-29 16:41:05 693

原创 如何导出/导入PDF中的书签——FreePic2Pdf

#如何导入导出PDF中的书签?目前大多数发布的PDF中是没有书签的,这意味着要么你自己做一份,要么等着有好心人做完书签然后发布一个新版本的PDF,然后你再下载。如果只是几M大小的PDF也就罢了,但有些几百 M大小或者上G的PDF ,要再下载一遍就得把人搞疯。有没有人能发布把做好的PDF的书签导出来,仅发布这些书签,我们只需要下载书签导入就可以了呢?也是可以的!!!FreePic2Pdf 这个软件用于将一批图片转成PDF文件,但它有一个“不起眼"的小功能,可以将PDF中的书签导出

2020-11-29 16:23:53 3886

verdi用法小结转载自芯片验证日记

verdi用法小结

2023-03-07

ahb2apb_testbench

ahb2apb_testbench

2022-09-18

【UVM 讲义PPT】路科V2.pdf

uvm课程的所有讲义和笔记都在里面,爱吃鱼的嗷大喵吐血整理

2021-04-10

AHB总线协议中文笔记详解版.pdf

AHB总线协议中文笔记详解版

2021-04-04

ARMCorte;MSystemDesignKitTechnicalReferenceManual.pdf

ARMCorte;MSystemDesignKitTechnicalReferenceManual

2021-04-01

ARM APB4协议规范.pdf

APB4协议

2021-04-01

Arm AMBA 5 AHB协议规范.pdf

Arm AMBA 5 AHB协议规范

2021-04-01

【SystemVerilog】路科验证V2学习笔记(全600页).pdf

SystemVerilog的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注。 目录如下: 第一章 SV环境构建常识 1 1.1 数据类型 1 四、二值逻辑 4 定宽数组 9 foreach 13 动态数组 16 队列 19 关联数组 21 枚举类型 23 字符串 25 1.2 过程块和方法 27 initial和always 30 function逻辑电路 33 task时序电路 35 动态 静态变量 39 1.3 设计例化和连接 45 第二章 验证的方法 393 动态仿真 395 静态检查 397 虚拟模型 403 硬件加速 405 效能验证 408 性能验证 410 第三章 SV组件实现 99 3.1 接口 100 什么是interface 101 接口的优势 108 3.2 采样和数据驱动 112 竞争问题 113 接口中的时序块clocking 123 利于clocking的驱动 133 3.3 测试的开始和结束 136 仿真开始 139 program隐式结束 143 program显式结束 145 软件域program 147 3.4 调试方法 150 第四章 验证的计划 166 4.1 计划概述 166 4.2 计划的内容 173 4.3 计划的实现 185 4.4 计划的进程评估 194 第五章 验证的管理 277 6.1 验证的周期检查 277 6.2 管理三要素 291 6.3 验证的收敛 303 6.4 问题追踪 314 6.5 团队建设 321 6.6 验证的专业化 330 第六章 验证平台的结构 48 2.1 测试平台 49 2.2 硬件设计描述 55 MCDF接口描述 58 MCDF接口时序 62 MCDF寄存器描述 65 2.3 激励发生器 67 channel initiator 72 register initiator 73 2.4 监测器 74 2.5 比较器 81 2.6 验证结构 95 第七章 激励发生封装:类 209 5.1 概述 209 5.2 类的成员 233 5.3 类的继承 245 三种类型权限 protected/local/public 247 this super 253 成员覆盖 257 5.4 句柄的使用 263 5.5 包的使用 269 第八章 激励发生的随机化 340 7.1 随机约束和分布 340 权重分布 353 条件约束 355 7.2 约束块控制 358 7.3 随机函数 366 7.4 数组约束 373 7.5 随机控制 388 第九章 线程与通信 432 9.1 线程的使用 432 9.2 线程的控制 441 三个fork...join 443 等待衍生线程 451 停止线程disable 451 9.3 线程的通信 458 第十章 进程评估:覆盖率 495 10.1 覆盖率类型 495 10.2 功能覆盖策略 510 10.3 覆盖组 516 10.4 数据采样 524 10.5 覆盖选项 544 10.6 数据分析 550 第十一章 SV语言核心进阶 552 11.1 类型转换 552 11.2 虚方法 564 11.3 对象拷贝 575 11.4 回调函数 584 11.5 参数化的类 590 第十二章 UVM简介 392 8.2 UVM简介 414 8.3 UVM组件 420 8.4 UVM环境 425

2021-02-25

《码农翻身》第二章 Java帝国.emmx

你最爱的Java 搞懂了这几点,你就学会了Web编程 Spring本质系列(1) -- 依赖注入 Spring本质系列(2) -- AOP 三层架构和MVC那点事儿 Java帝国之拨云见日识回调 小张的Duck Typing JDBC的诞生 JDBC后传 一个不安分的JDBC驱动 Java帝国之 Java Bean(上) Java帝国之 Java Bean(下) Java帝国之 函数式编程(上) Java帝国之 函数式编程 (下) 关于Java初学者需要知道的10件事 Junit你不知道的那些事儿 Java EE的历史 Java EE读书指南 给小白的Java

2020-11-29

《码农翻身》第一章 cs基础.xmind

我是一个线程 我是一个Java class Javascript: 一个屌丝的逆袭 Java:一个帝国的诞生 JSP:一个装配工的没落 TCP/IP 之 大明王朝的邮差 TCP/IP 之 大明内阁 TCP/IP 之 蓟辽督师 CPU 阿甘 CPU 阿甘之烦恼 CPU 阿甘:函数调用的秘密 我是一个网卡 我是一个路由器 我是一个进程 我是一块硬盘(上) 我是一块硬盘(下) 我是一个键盘 张大胖的socket 张大胖学递归 学习面向对象的令狐冲 张大胖学数据库 数据库村的旺财和小强 小李的数据库之旅(上) 小李的数据库之旅(下) 漫画:什么是机器学习

2020-11-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除