SystemVerilog 中 “事务” 怎么理解?
时间:10-02
整理:3721RD
点击:
新手求问:最近学习SystemVerilog,看的是SystemVerilog 验证那本书,书中经常性提到 “事务”,“事务级”等概念,
这个概念应该怎么理解,可以理解为一次事务就是一次测试吗?
求大神给点指点.
谢谢!
这个概念应该怎么理解,可以理解为一次事务就是一次测试吗?
求大神给点指点.
谢谢!
事务,事务级简单的说就是相对于比信号级更高的层面的建模,就像汇编与c语言的区别,1个更接近底层实现,1个是高级建模,关注功能。
个人觉得一次事务不能简单的理解为一次测试,一次测试可能包含多个事务,有的地方也把事务翻译成交易。
事务就是transaction,中文翻译的可能不太好。通俗的讲,一个transaction就是按照协议收或者发一次数据。
比如I2C协议,读写数据都是一个bit一个bit过去的,而且要把地址和数据分别传过去;但是我们在高级语言里面可以利用driver把这些细节给做了。假设driver是另外一个人实现的,你只需要说往哪个地址、写、数据是多少,或者读哪个地址就可以了,而不需要关心协议是怎么实现的。就算是换一种协议,你仍然只需要说往哪个地址、写、数据是多少,或者读哪个地址就可以了,另外一个人修改一下driver就可以了。这时你做的事情就是transaction级别的,另外一个人做的就是driver级别的。
当然,这里只是打个比方让你理解,实际协议可能要复杂的多。
谢谢!
谢谢!