关于芯片验证的感悟2

1.2 寄存器读写 

       这里 主要讨论 AXI的寄存器读写  。  由 sequence来完成数据的随机化操作 , 然后写到 register model 中, 通过 adapter 来完成 总线和寄存器的转换, 最后传送到 VIP 中,输出以 axi_vif 的形式传送给DUT的 AXI 接口。

 寄存器读写操作:

          在sequence的body函数里面不能做太多复杂动作,在body函数中完成transaction的ramdonmize化。复位寄存器。一定要复位DUT输入寄存器,防止出现xxx现象; 将随机化的值传给refer-c,等待refer-c运行完毕,生成TV。

    寄存器写操作: 将TV的寄存器输入部分在VIF时钟的驱动下,读出,如果是写AXI 寄存器 ,通过上图,通过register model 写来完成寄存器的写操作;   如果是写普通寄存器,通过写VIF 的输入寄存器来给DUT传入值。

  寄存器的读操作: 在WAIT DUT输出有效的寄存器值后,在VIF时钟的驱动下, 如果是读AXI寄存器,通过上图,通过register model来完成寄存器的读操作;如果是读普通寄存器,则通过读VIF的输出寄存器接口来完成读操作; 最后完成与refer-c的输出值的对比。

 

数据的读写操作:

    数据写操作:     将TV的数据输入部分在VIF时钟的驱动下,在driver的mainphase 中通过生成的控制信号,读出,并传送给VIF的数据输入接口,最终传送给DUT的数据输入接口。

 数据读操作:   在 scorboard 组件中,在VIF时钟的驱动下,通过VIF数据输出接口读出DUT输出数据;读出refer-c的输出数据,完成cross check.

    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值