来源:systemverilog验证 测试平台编写指南(书籍)
1 新建counter7.c文件
vi counter7.c
#include<svdpi.h>
#include<malloc.h>
#include<veriuser.h>
typedef struct {
unsigned char cnt;
} c7;
void* counter7_new() {
c7* c = (c7*) malloc(sizeof(c7));
c-> cnt = 0;
return c;
}
void counter7(
c7 *inst,
svBitVecVal *count,
const svBitVecVal *i,
const svBit reset,
const svBit load){
if (reset) inst -> cnt = 0;
else if (load) inst -> cnt = *i;
else inst -> cnt++;
inst -> cnt = inst -> cnt & 0x7f;
*count = inst -> cnt;
io_printf(&#