下述纯属个人笔记;具体还需要验证思想。
个人理解: 1. clk和rstn,一般只在testbench里定义驱动。所以不需要写在interface代码段里,可以减少不必要的接口层次。 2. clk和rstn,一般只在testbench里定义驱动。interface的clk和rstn,只会做input,很固定。
个人理解: 1. clk和rstn,虽然跟interface的其它端口,定义的位置不一样。但是在仿真环境里,同样具有interface实例化.clk和interface实例化.rstn的信号。 2. interface实例化.clk不建议使用,要用时钟块的名称替换。这样的好处,是避免发生仿真的竞争冒险现象。这样,就不需要写#0.01这样的小延迟在驱动代码里了。 3. rstn一般在testbench里驱动,为什么不是rstn释放后,再调用run_test()?回答:run_test()是按照phase执行的,有严格的顺序;rstn一般在driver的main_phase里做判断。rstn释放,一般在testbench里驱动。