摘要: 1、.c文件中的宏定义使用问题 2、sqe/sqr/driver三者之间的运行机制 3、在soc的环境中,A模块的.c和.h文件调用了B模块的函数,并且A模块的.h文件的开头也没有IncludeB模块的.h文件,在编译的时候为什么可以编译通过? 阅读全文
posted @ 2020-02-19 09:15 Pine1 阅读(117) 评论(0) 推荐(0) 编辑
摘要: uvm_event是一个uvm_event_base的扩展类,它可以提供额外的服务比如,是指callback,获得waitor的数量; 对于event常用的task 或者function有wait_trigger(), trigger, 对于不同的class之间,是怎么通过event来交流的呢? 以 阅读全文
posted @ 2021-02-04 20:11 Pine1 阅读(862) 评论(0) 推荐(0) 编辑
摘要: phase机制: uvm中根据是否消耗时间将phase分为function phase和task phase; uvm中所有的Phase的会按照自上而下的顺序执行;对于function phase, 比如build_phase, connect_phase等,在同一时间只有一个phase在执行;但是 阅读全文
posted @ 2021-01-20 11:55 Pine1 阅读(1514) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 1、linux下vim的安装位置 system vimrc file: /etc/vimrc user vimrc file: ~/.vimrc 安装目录主要包括以下内容: 目 录 用途 autoload 自动载入脚本(autoload scripts) colors 配色方案 com 阅读全文
posted @ 2020-10-02 18:28 Pine1 阅读(120) 评论(0) 推荐(0) 编辑
摘要: volatile指出变量是随时可能变化的 定义为volatile的变量是说这个变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的的值了。精确得讲就是优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份; volatile使用的地方: 1、中断服务程序 阅读全文
posted @ 2020-02-18 18:08 Pine1 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 其中使用void'的意义表示不考虑返回值。对于括号中有返回值的函数,加上void'操作符的意思就是告诉仿真器这个函数虽然有返回值,但是我不需要这个返回值。加上这个的唯一好处是可以让仿真器闭嘴:本来函数有返回值,但是你不使用,这时仿真器会抛出警告。加上void'可以关闭警告,让仿真log更干净。 阅读全文
posted @ 2019-09-26 10:39 Pine1 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 1、系统函数$display 作用是控制台输出信息 $display("Start simulation") //显示字符串 $display("data_play = %h hex", 100) //显示data_play的16进制数(或者其他进制) $display("Simulation ti 阅读全文
posted @ 2019-09-11 09:11 Pine1 阅读(10170) 评论(0) 推荐(0) 编辑
摘要: 书中是`define宏定义+`inlude "file.v"文件包含来实现参数模块化设计的方式 实战: 1.新建参数模块文件(我命名为para.v); 2.在para.v文件中使用'define宏定义参数: //`define+name+参数 `define STATE_INIT 3'd0 `def 阅读全文
posted @ 2019-09-05 17:15 Pine1 阅读(13558) 评论(0) 推荐(0) 编辑
摘要: %d正常输出十进制数,%2d指2位宽的十进制数,右端对齐,超出部分省略;%02d指输出2位十进制数,右端对齐,不够位数的话左端补0. 阅读全文
posted @ 2019-09-04 18:00 Pine1 阅读(3318) 评论(0) 推荐(1) 编辑
摘要: //synopsys translate_off 要忽略的部分Verilog模块语句 //synopsys translate_on 阅读全文
posted @ 2019-09-04 17:09 Pine1 阅读(535) 评论(0) 推荐(0) 编辑