- 博客(28)
- 资源 (1)
- 收藏
- 关注

原创 诙谐有趣的《UVM实战》笔记——第二章 一个简单的UVM验证平台
学习笔记不该是枯燥的,我想要尝试用形象的比喻来让UVM变得活泼起来!方便记忆,也有助于深刻理解。
2022-11-11 09:59:39
3198
4
原创 axi 不同传输类型比较及Q&A(持续更新)
传输类型含义解释效果突发传输master发送控制信息和首地址信息给slave,slave根据这些信号计算接下来的地址信息。一拍地址和控制信息,操控多拍数据的读出/写入,减少了地址反复握手带来的延迟。提高超前传输前一次burst传输还没完成时,就开始下一次数据传输一次握手,发送10个burst,减少burst握手带来的时间损耗;主设备发送10个地址和控制信号,缓存起来,1个burst结束后马上执行下一个前一次burst传输还没完成时(),就开始下一次数据传输;多笔burst传输的效率。
2023-12-04 09:21:29
842
原创 路科验证MCDF_uvmlab2
路科验证MCDF_uvmlab2实验笔记SVUVMtransactionuvm_sequence_itemdriveruvm_drivergeneratoruvm_sequence + uvm_sequencermonitoruvm_monitoragentuvm_agentenvuvm_envcheckeruvm_scoreboardrefe
2022-05-17 14:32:21
3778
2
原创 DVT帮助理解实验代码
前言建议在DVT里检查代码的问题,相比questasim详细很多。不建议在DVT里跑仿真。如何看一个task/function是否在别的类里已经定义过了?按住Ctrl,将鼠标移到task/function上即可
2022-04-06 21:45:58
494
3
转载 Compile、Make和Build的区别
Compile、Make和Build的区别compile:只编译选定的目标,不管之前是否编译过make:只编译上次修改过的文件,减少重复劳动,速度快build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工作,因此时间较长。gradle:用来控制项目各个模块之前的依赖关系。参考...
2022-04-06 12:15:32
3422
原创 路科验证MCDF_svlab5笔记
一、编译在编译过程中,需要对于设计相关的文件设置额外的覆盖率编译选项,目的是通过工具自动统计你选中的代码覆盖率类型(功能覆盖率的收集需要写额外的代码)。注意,我们的关注点在于执行了设计中的多少代码,而不是测试平台,所以不需要对测试相关的文件进行覆盖率编译选项的设置。1、只选中与设计相关的文件2、点击右键,选择compile->compile properties,在弹出设置栏的coverage一栏中,如图选择以下选项,然后点击OK。3、完成所有文件的编译“Compile All”。这一步将
2022-03-18 11:33:20
4883
5
原创 python3如何安装pip【一步到位】
兄弟们啊,可别再花半天去安装一个pip,划不来!听我的,几分钟就可以搞定!只要一步!直接卸载python,重新安装!!点进去你会发现pip默认是勾选的,这就对了!然后点next,选择安装的位置,然后安装。这个时候我们的python里就有pip模块了。搞定!可以在命令行窗口输入pip list知道你现在装的版本。然后尝试一下用pip命令去装别的模块,比如pygame收工,下班!...
2021-11-16 18:13:02
5931
1
原创 SystemVerilog中类的五要素以及句柄、new函数作用的形象理解
刚开始学面向对象编程OOP时都会有点难以接受,但我们可以通过形象的类比来解决这个问题。类 class——相当于我们要盖房的图纸,有了这个图纸,我们就能盖出一堆结构类似的楼房;对象 object——可以理解为房子本身,这是我们根据图纸建起来的;句柄 handle——房子的地址,门牌号,一个门牌号对应着一个房子,你可以通过门牌号来找到你想找的房子。用专业的话讲,就是句柄是对象的指针,我们通过句柄来找到对应的对象;变量 properties(也叫属性)——是房子里面的东西。我们知道,房子里可以有很多东
2021-05-10 08:34:38
5297
7
原创 《SystemVerilog验证测试平台编写指南》学习笔记-接口
学习笔记第四章 连接设计和测试平台接口第四章 连接设计和测试平台接口勘误:
2021-05-08 15:38:10
1189
1
转载 (转)systemverilog学习-interface
本节主要内容:testbench与design的连接,verilog连接testbench与design的方法,SV的interface,stimulus timing,clocking blocks,timing region,program block。(感觉很抽象)一:design与testbench的连接1:连接符号 .* .name(wire_name) :verilog中使用方法 interface2:verilog连接方式3:sv连接方式 (1).* 通配符,
2021-05-08 14:14:21
1056
1
原创 路科验证MCDF_svlab2
task chnl_write(input chnl_trans t); @(posedge intf.clk); // USER TODO 1.1 // Please use the clocking drv_ck of chnl_intf to drive data intf.drv_ck.ch_valid <= 1; intf.drv_ck.ch_data <= t.data; @(negedge intf.clk)
2021-05-07 10:42:11
5706
4
原创 HDLbits-时序逻辑Dff部分
DFF前面部分都比较简单,这里不赘述,直接从值得注意的开始做笔记。Create circuit from turth table这一题一开始我是用if-else做的,很符合常规思路,后面了解到原来还可以用case来描述,只要把两个要判断的条件括起来就行。module top_module ( input clk, input j, input k, output Q); always@(posedge clk) begin
2021-04-13 22:04:36
1667
1
原创 HDLbits-组合逻辑部分总结
Circuits_Combinational Logic1.Multiplexers 总结2-to1 multiplexer & 1.2 2-to1 bus multiplexer2路选择器比较简单,可以直接用 ?:进行选择。9-to1 multiplexer9选1的直接用case语句即可,值得注意的有两点case语句中为了简便,可以用十六进制表示,相比二进制可以少写很多数字对于case语句中没有提到的情况,一般用default写明,不过也可通过在always块中先赋初值来解
2021-04-10 10:32:02
407
1
原创 HDLbits 代码练习记录
前言最近在HDLbits 网站(https://hdlbits.01xz.net/wiki/)上练习Verilog代码,将仿真通过的部分代码做一个记录,希望大家多多批评指正,共同进步。代码部分Module_add//Module_addmodule top_module( input [31:0] a, input [31:0] b, output [31:0] sum); wire [15:0] sum1,sum2; wire cin,cout
2021-03-10 11:15:54
502
原创 python提示 No module named 'requests'的解决方法以及可能遇到的问题
python提示 No module named 'requests’的解决方法以及可能遇到的问题错误原因:没有安装requests模块解决方法:win+r打开运行窗口,输入cmd,按确定,再pip install requests,回车之后开始安装。安装完如果显示版本不是最新的,继续在光标处输入python -m pip install --upgrade pip进行更新,更新完即可。不过...
2019-07-12 09:02:59
17275
3
原创 用Python实现将不同文件按照文件后缀进行归类
#代码及效果展示实现代码:效果:成功实现了将不同文件按照文件后缀进行归类。分类前:分类后:#学习笔记Windows系统中的绝对路径和相对路径:绝对路径指的是文件的绝对位置,比如这个测试文件的绝对路径为“F:\ceshi”;可以在文件夹的地址栏获取。相对路径指的是Python文件夹所在的位置,如果你要处理的文件就在Python文件夹所在的位置,那么在编程的时候可以直接用 '...
2019-07-11 21:54:34
1844
1
路科mcdf_svlab4代码(更新轮询仲裁机制以及大多数测试)
2022-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人