- 博客(9)
- 收藏
- 关注
原创 UVM 零碎命令
以指定格式从文件中读取数据,flag=$fscanf(fd,format,args);其作用是将指针指向的文件按照所规定的类型进行逐个扫描并暂存到word中。在使用时,也可以用void'($fscanf(file, "%s", word))以忽略这个函数的返回值。是用来检测文件结束符EOF的函数,如果文件结束,则返回非0值,所以用来判断文件是否便利结束;一次读取一行数据并以string类型存起来,当遇到错误返回值code为0。
2023-09-15 11:46:26
230
1
原创 system verilog字符操作
/返回结果:Hel,截取从“H”开始3个字符。二、get_name(), get_full_name(),get_type_name()2、从第a个字符开始截取后面所有的字符串(注:当a等于0或1时,都是从第一位开始截取。
2023-09-04 16:25:46
1187
1
原创 SV基本语句
do begin @top_vif.mon_cb; uvm_hdl_read("tb.DUT.done",done); end while(done==0); typedef enum {BE_INT,BE_FS_INT,BE_FS_ERR} int_type_e; virtual task wait_signal(int
2023-07-29 10:16:27
1035
原创 systemverilog约束与随机
a == 0时b == 1, a和b总共有256种组合,当a==0时,会排除15种组合{0,0}, {0,2}, …当Mode==little时,len
2023-06-22 09:03:57
514
1
原创 systemverilog断言写法
但本句只有变量赋值,没有对RTL信号的任何断言,就会报错,解决方法是:##4 (“废话”,var = Signal),一定要有断言的话我们就写“废话”,例如:data == data 等。首先断定信号a由低变高,将此时的信号b的值赋给变量tmp,4个时钟周期后,断定信号c的值是4个周期前b^2+1,再过3个周期,断定信号d一定会起来,再过3个周期,信号d又起来一次。当异常出现时,断言会报警。断言的目的是:断定“事件1”和“事件2”会发生,如果发生了,就记录为pass,如果没发生,就记录为fail。
2023-06-19 20:06:47
1963
原创 Makefile中判断文件是否存在(wildcard的使用)
如果不使用通配符,比如src=$(wildcard c.c);那么就是要展开当前路径下,文件名为c.c的文件,因为当前路径下文件不存在,因此src为空字符串。假设当前路径下存在a.c 和 b.c,那么执行src=$(wildcard *.c),src的值就为a.c b.c;分别使用上述两种方法判断obj文件夹下depend.mk文件是否存在,存在的话创建a.c和b.c文件。$(wildcard FILE)的意思是当前路径下的FILE文件匹配的文件展开。1、wildcard函数。
2023-05-30 14:16:43
1244
原创 Python正则表达式
w 匹配字母或数字或下划线或汉字 等价于[^A-Za-z0-9_]。[a-zA-Z]+ 匹配多个任意字母。正则表达式 \w \s \d \b。. 匹配除换行符以外的任意字符。\b 匹配单词的开始或结束。\s 匹配任意的空白符。^ 匹配字符串的开始。$ 匹配字符串的结束。
2023-05-09 19:33:58
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人