本文共 438 字,大约阅读时间需要 1 分钟。
1.上一节,没有考虑总线的重用。集成到芯片时,芯片都有自己的配置总线,经过仲裁后分别链接到各个模块:
2.为了提高重用性,在模块级别时,bus_agt 应该从env 移动到base_test:
3.与bus_agent 对应的是寄存器模型。在模块级别时,每个模块有各自的寄存器模型。很多user 习惯于在env 中例化寄存器模型:
1)但是如果要实现env 级别的重用,是不能在env 中例化寄存器模型的。
2)因为每个模块都有自己的偏移地址,在芯片级别时,不能指定其偏移地址。
3)在模块验证时,需要如7.2.3 节那样,在base_test 中例化寄存器模型,在env 中设置一个寄存器模型指针,在base_test 对它赋值。
4.在芯片级别使用寄存器模型,需要建立一个新的寄存器模型:
1)只要加入各个不同模块的寄存器模型并设置偏移地址和后门访问路径。
5.在chip_env 中例化此模型,并将各个模块寄存器模型的指针赋值给各个env的p_rm:
6.验证平台框图: