典型需求的运行时验证:ISIS工具的应用与性能分析
1. 示例引入
先来看一个简单的平台示例,它随TLM 2.0库的第一版草案提供:一个主设备通过内存映射路由器对DMA进行编程,以在两个内存之间执行传输。我们关注的一个属性是:每当第一个内存的源地址被传输到DMA时,最终会对该内存进行读访问,并且使用正确的地址(另一个内存也有类似属性)。
为了表达这个属性,需要在源地址传输到DMA时(主设备发起端口的写操作,目标为DMA源寄存器)记住该源地址,以便在读取内存时检查是否实际使用了该地址(对第一个内存的读操作)。这就需要PSL建模层,使用一个辅助变量 req_src_addr 来存储源地址(写操作的第二个参数,在ISIS形式化中表示为 initiator_port.write.p2 ),每次DMA的源寄存器被覆盖时更新。另外,使用一个常量 dma_src_reg 来存储DMA源寄存器的地址,以提高断言的可读性。
以下是相关代码:
// ---- Modeling layer ----
// HDL_DECLs :
int req_src_addr;
int dma_src_reg = 0x4000+pv_dma::SRC_ADDR;
// HDL_STMTs :
// Memorization of the source address when transferred to the DMA:
if (initiator_port.write_CALL() && initiator_port.w
超级会员免费看
订阅专栏 解锁全文
5792

被折叠的 条评论
为什么被折叠?



