数字IC验证:Hands-on Coding之Harness Interface与内部的Interfaces

写在前面:之前的博客都是纯理论,虽然基础理论也很重要,但是最近几个月的实习,让我越来越感受到把理论(包括对SV语法的掌握,以及UVM体系的理解)转化成Coding不是一蹴而就的。所以决定把近期所学整理成一个“Hands-on Coding”系列,便于学习与进步。

一 Harness Interface的基本结构

Harness interface一般包含以下部分:

  1. 实例化一个或多个interface。这些interface的接口信号要么来自harness interface的port signals(如sclken),要么直接来自dut自己的接口信号,或dut内部的信号(如dig_qspi.qspi_hclk, dig_qspi.***.***信号)
  2. 一般的interface会有的部分:timeunit和timeprecision定义,always block…
  3. set_vif function的定义,用config_db把内部的几个interface set出去,在tb中调用,通过设置set_vif的arguments来设置set的路径(如传给test_top)

二 模板化的代码例程

if_dig_qspi_harness:
数字IC验证:Hands-on Coding之Harness Interface与内部的Interfaces_第1张图片
内部的if_dig_qspi.sv:
数字IC验证:Hands-on Coding之Harness Interface与内部的Interfaces_第2张图片

你可能感兴趣的:(数字IC验证,芯片,IC,IC验证)