1、 绘制SystemVerilog testbench结构图。并解释每个部分的功能。
答:SystemVerilog testbench结构图如下
①产生激励:通过simulated块产生
②驱动激励:通过instance的port性连接到RTL的input上去
③采样响应:放在实例化的out,采样变量
④检查正确性:写参考模型对应
⑤根据验证目标评估验证进度
2、 解释pin max的含义。
答:通常pin mux就是pad,也就是引出的线,必要的信息引入
①pad是Passivation opening,pad在芯片内部。ic内部的net要引到ic的外部做封装,但因为线的宽度太细,不能承受焊接的压力,就需要先连接到一块大的金属块,以大金属块作为支撑,这个承受压力的大金属块就是pad。
②pin是封装fram上的引线,内部管脚的称呼。Pin 是和net 链接的物理连接点,比如Design 中内部cell 和net 链接的那一块小金属。
3、 如何划分验证功能点。
答:(1)关键功能:设计必须会使用的功能√
(2)次要功能
A、针对“流片”而言,非关键功能:√
①与性能相关的功能;
②下一个版本可以实现的功能;
③软件可以实现的功能。
B、下一个验证层次中,非关键功能:√
①可以在不同层次,可以并行验证的功能
②边角条件情况
(3)通用功能
①正常运行过程中不会发生的操作√
②系统复位和时钟的生成√
③错误处理√
④系统调试√
(4)本层次不需要验证的功能
①在逻辑仿真过程中,可以在较低层次的验证,也可以在较高层次的验证;√
②在该层次上不使用的功能。√
4、 绘制验证的详细分层图,并解释每层的功能,分层的优势和劣势。
答:(1)分层图如图所示
(2)每一层的含义
信号层(signal layer):DUV于TB的连接(interface)
命令层(command layer):
①驱动器(drive):将命令如send(),read(),write(),转换成信号,驱动到DUV
②接收器(receiver):将DUV的输出信号转换成命令
③编写断言(assertions):断言可以基于时钟周期的系统行为进行建模
功能层(functional layer)
①将事务级信息(transaction):转换成命令驱动到DUV,比如DMA read operation
②代理器(Agent):暂存事务级信息,按照一定的顺序发送的这些信息
③检查器(checker):接收DUV的输出数据,并与期望的结果进行对比
④计分板(scoreboard):将比较结果反馈在计分板中
应用层(scenario layer)
①生成器(generator):生成期望的数据、定向测试、带约束随机测试
测试层(test)