- 博客(14)
- 收藏
- 关注
转载 【转载】System_Verilog打印格式
system_verilog display format1. 简介$display 和 $write的区别: $display系的系统函数:会在输出的末尾自动添加换行符(newline character); $write系的系统函数:光标会停留在输出的末尾,不会自动换行。 $display 和 $write相同之处: 按照参数列表的顺序输出参数; 参数可以是引号内的字符串(quoted string literal),表达式(expression) 和数值(value);
2020-12-28 18:55:14 4433
转载 【转载】vim中的align插件
原文:vim 101 hacksHack 47. Align the Variable Assignmentalign下载:Align.vba.gzhttp://www.vim.org/scripts/script.php?script_id=294安装: vimAlign.vba.gz: so %: q$a = 1;$a_very_long_variable_name_value = 1;: '<,'>Align =$a = 1;$a_...
2020-12-26 14:48:40 461
原创 使用 Vim tabular 对代码进行排版对齐
Vim 有个很好用的插件 tabular 可以非常高效地对代码进行排版。例如,按 => 进行对齐。选中代码块,输入:'<,'>Tab /=>需要提前安装好tabular插件:https://github.com/godlygeek/tabular
2020-12-21 10:17:29 524
转载 【转载】p_sequencer与m_sequecer用法梳理
1.m_sequencer定义在uvm_sequence_item中定义了protected变量m_sequencer,它的类型是uvm_sequencer_base;我们常用的uvm_sequence继承于uvm_sequence_item,那么所有的sequence都是可以看到m_sequencer的.2.m_sequencer获取通常有两种方法启动sequence,一种是通过uvm_config_db设置default sequence来实现.在环境中会自动get来获取对应的参数.获取成功之后,通
2020-12-18 10:22:53 1833 1
转载 【转载】SystemVerilog中virtual关键字常见用法
在验证工作中经常使用"virtual"关键字,下面列举该关键字应用场景。主要应用场景在virtual class,virtual interface 以及 virtual task/function。 OOP三大特性(封装,继承,多态)中的多态在SystemVerilog中一般通过 “virtual” 关键字实现。 通过virtual声明的类,接口,任务与函数,其本身自带一些方法或者函数。后续的例化或者扩展可以对原有的内容进行增加或者修改,从而实现同一函数不同方法的多种形态。 1. ..
2020-12-16 11:56:06 867
转载 【转载】VCS 编译仿真方法总结
VCS/VCSMX 一般仿真步骤VCS仿真可以分成两步法或三步法, 对Mix language, 必须用三步法。仿真前要配置好synopsys_sim.setup文件,里边有lib mapping等信息。设置环境变量'setenv SYNOPSYS_SIM_SETUP /xxx/xxx/synopsys_sim.setup'. VCS对应的waveform工具有DVE和Verdi, DVE因为是原生的,所以VCS对DVE非常友好。但DVE已经过时了,其对uvm等新feature支持的不好。Verdi是D
2020-12-14 22:24:19 4197
转载 【转载】IC-工具篇--VCS使用教程
文章目录0.引言 1.知识要求 2.VCS simulation basics (基础操作) 3、Compile-time option exambles(VCS可选项的介绍) 4、VCS Simulation Command Format(simv的可选项) 5. Using DesignWare Library with VCS(使用新思科技的库) 5.实际操作 5.1 case1-加法器 5.111 增量编译 -Mupdate 5.112 日志文件输出-l +文件
2020-12-14 22:23:13 4618
转载 【转载】 UVM时间打印格式--timeformat
在UVM验证环境中通过添加打印信息来辅助定位问题,默认情况下,打印出来的时间信息是以fs、精度是0位的格式打印的.而目前的仿真环境大多以ns的仿真级别,为了方便我们定位问题,可以通过timeformat来修改打印的格式。timeformat的用法如下:第一个参数设置时间单位:unit_number;第二个参数设置进度单位,即时间小数点后面几位有效;第三个参数为打印时间的填充如ns、us等;第4个参数设置最小的数据宽度.设置$timeformat(-9,3,“ns”,10),其含义是时间单位是1ns,小数
2020-12-14 22:20:16 1925
转载 【转载】systemverilog 在class中使用force
1.直接force某个值,比如0/1/a之类的,可以在class中直接force2.force某个变量的值,比如 force dut.timer=timer, 如果timer是一个动态变量的话,编译会报错“ Class data is not allowed in non-procedural context.”,简单的解法是把timer定义成static类型3.如果2中不能简单定义成static类型的话,可以借用interface/bind module来实现,具体是在interface中增加tr
2020-12-14 22:19:10 2455
原创 FEC介绍(五)— RS编解码学习路径总结
前提:因项目需要,需要用代码实现RS编解码过程。在基本上算是小白的情况下,按照如下路径学习之后,用代码实现了RS编解码过程。需要说明的是,这个学习路径仅针对工程技术人员。1、链接:https://www.jianshu.com/p/6157e120ef99通过这个链接,可以了解为什么要有fec,fec大致是如何实现的。简单的说,fec即为纠错的一种方式,通过特定的算法将k个数据包编程成h个,实现有限个数的纠错。本质上就是异或处理。2、链接①:https://zhuanlan.zhihu.com/
2020-12-14 21:56:25 3048 1
转载 【转载】verilog中$readmemb和$readmemh的使用
readmemb和readmemh用来从文件中读取数据到存储器中。读取的内容只包括:空白位置(空格、换行、制表格(tab和form-feeds),注释行、二进制或十六进制的数字。数字中不能包含位宽说明和格式说明,其中readmemb要求每个数字是二进制数,readmemh要求每个数字必须是十六进制数字。数字中不定值x或X,高阻值z或Z,和下划线(_)的使用方法和代表意义与一般Verilog HDL程序中的用法一致。在Verilog语法中,一共有以下六种用法:(1)$readmemb("<
2020-12-14 09:11:39 2351
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人