什么是事务( Transaction )?

       在传统的设计中,软件似乎不是硬件设计和验证工程师一开始就关心的事情。RTL设计就是硬件设计,而Testbench的设计目的就是激励、响应、检查硬件的RTL设计的行为是否正确。Testbench是为验证RTL代码而设计,因此很多时候Testbench所完成的工作大部分都是软件工作,在SoC 设计中更是如此。因此,实际上,采用C/C++等软件语言更适合Testbench。Testbench大都是行为模型,所有的硬件描述语言都支持行为级建模。对于SystemC,行为级建模似乎更加重要。为了强调行为建模的重要性,在SystemC和 SystemVerilog逐渐流行的同时,transaction level modeling事务处理级建模(TLM)被越来越多的使用。TLM建模从整体考虑现代电子系统,从一开始就迅速完成的高层次系统行为的描述,确定最佳系统架构。此后,在该模型的基础上,逐步将模型从更加抽象改进为更加细化,软件和硬件设计可以同时展开,混合验证,从而在保证设计优化的情况下减少仿真时间以加速设计收敛。

     Transaction,即事务,是一个比较抽象的概念。在笔者看来,一个事务就是只一次原子的操作或者通信行为,比如一次读取存储器的操作、一次写存储器的操作、一个读改写操作,甚至一次DMA操 作。原子在这里的含义是不能被打破或者中断。 在一个总线系统中,总线的一次读或者一次写操作通常会被认为是事务;在一个包通信系统中,发送一个包通常被认为是一个事务。因此,从硬件的角度,一个事务是两个实体(进程、模块、通道等)间的一次控制或者数据传输。从软件的角度,一次事务通常被理解为一个函数调用。该调用的结果通常是参数被传到被调用函 数,返回值被传回到调用函数,该调用过程可能立刻返回,也可能因为发生阻塞在后来的某一个系统时间点返回。

 

 

原文链接: https://www.cnblogs.com/zeushuang/archive/2013/05/14/3078320.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    什么是事务( Transaction )?

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/88510

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午11:40
下一篇 2023年2月9日 下午11:41

相关推荐