一般在design才出来的阶段,我们需要迅速构建一个简单够用的testbench,以便能够检查最基本的功能。这样的direct test 的testbench需要几个组件
1. interface 2. transaction descriptor 3. Driver/BFM/Master with in_chan 4. tb_env (只有一个Driver)组件
5. test programe 6. test_top which harness the test, dut, interface
在test program中 直接产生transaction descriptor的实例(例如pkt),并且通过 pkt.randomiz() with { kind== READ ;} 这样的外部附加约束的形式得到随机化的transactor, 然后 env.mst.in_chan.put(pkt); 最好在进行一些简单的比较。
例如: