摘要:学过C语言都知道,在程序中添加打印信息有助于我们追踪程序执行的情况。特别是debug的时候,打印一些log信息对快速定位到问题非常有帮助。 怎么在SOC验证的C代码中打印字符串呢? 如何实现打印? 两个思路,第一个思路,在SOC的TB里面增加一个CPU bus的monitor,我们在monitor中
阅读全文
摘要:virtual function void back_write(input bit[31:0] addr, input bit[31:0] data); void'(uvm_hdl_deposit(path+addr, data)); endfunction:back_write virtual
阅读全文
摘要:最近有群友问我system Verilog 和C怎么交互,在网上搜了一圈发现资料比较少,今天这里就和大家讲讲system Verilog 和C的交互。话不多说直接上干货。 第一种 Verilog 通过PLI调用C函数。 PLI全称 Program Language Interface,程序员可以通过
阅读全文
摘要:软复位与硬复位 软复位信号名称中通常包含soft,硬复位信号名称中通常包含hard。 软复位:常用于复位逻辑模块。 硬复位:常用于配置寄存器模块,配置信号同步模块。 硬复位有效会驱动软复位有效。 一个模块出现问题时,可以使其软复位有效,进行逻辑复位操作,但是由于配置寄存器是由硬复位驱动的,所以不会发
阅读全文
摘要:SOC验证环境一千家公司有一千家公司的做法。那么一个优秀的SOC验证环境应该具备哪些功能呢? 首先是SOC验证环境支持C和SV两种下激励的方式。 通过C code启动SOC环境是怎么启动的呢?这里涉及到CPU如何boot,对此很多转行的同学可能很难理解,在这里和大家做个简单的介绍。 我们知道CPU执
阅读全文
摘要:这些不同变成语言之间的调用主要包括以下几种方式: 1、verilog和c之间的相互调用; 2、systemverilog和c之间的相互调用; 3、systemverilog中调用systmc; 4、通过CPU执行c代码,从而实现Verilog和c的交互 **第一种,verilog中调用c函数** v
阅读全文