当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]如何在SoC设计中使用事务处理(一)

  建模、验证与调试需要统一标准的符号和框架,以便使架构师和设计工程师能够协同进行复杂SoC的开发。事务处理级模型(TLM)是进行这种分析的理想模型,在片上系统(SoC)设计中使用事务处理级建模,可让设计从高效率协同仿真和高产出的分析与调试中受益。

    片上系统(SoC)平台是异质性的实体。它们通常包含至少一个处理器部件(譬如微处理器或DSP),以及外围设备、随机逻辑、嵌入式存储器、通讯基础结构和传感器、传动装置之类的外部接口元件。这些变化多样的设计平台正在将设计焦点和折衷分析转移至通讯层面。

    由 于SoC内的功能单元常常是通过若干标准及基于数据总线的专有协议来实现通信,所以理解模块间通讯已经成为验证的一个关键。设计活动向通讯基础架构设计的 转移,也促进了对混合级建模以及调试技术的使用。这些技术使设计工程师能够完全应对从电阻晶体管逻辑电路(RTL)到更高事务处理级的转移,而且无需中断 使用目前的功能验证方法。

    有鉴于现今协议的复杂性,要详尽理解信号级上的同步互动是艰难而又费时的。此外,由于不同的团队和个人都将设计视为从规格到实现的提炼过程,所以各个设计团队之间以及团队内部都需要找到一个通用参考框架(frame)。

    有代表性的参考标准必须足够灵活以便适合于多个应用领域。它也必须经得起抽象和提炼,以便适用于由上而下设计或由下而上的配置。事务处理级建模(TLM)被用作所需的中间建模抽象级,成为连接顶层和底层的桥梁。

事务处理级建模的概念

     目前的SoC设计流程是一个混合过程,包括由上而下的从规格制定到实现、从下而上的设计模块集成,以及对来自外部供应商或内部重用模块的知识产权的验证。事 务处理可以作为连接不同设计建模层间间隙的一个最终优化规范。这包括用高级语言实现的无时序(untimed)纯功能性建模、通过架构估计得到大致时序的 功能级,一直到实现级、循环精确的RTL。

     除此之外,事务处理级建模也作为系统工程师和专用模块开发者之间的一个通用描述性媒介而发挥着 作用,该媒介超越了不同的适用于具体设计或验证活动的语言的界限。于是,事务处理就变成实施构架开发和折衷分析的一种形式。它是一种通过分析系统功能有效 性和性能度量(譬如整体吞吐量、模块与存储器交互延迟等)来自动进行设计理解和调试过程的手段。

cellspacing="1" cellpadding="1" width="200" align="center">

 

     图1显示的是从算法级到实现级的各个抽象级,通常包括SystemC(IEEE P1666)、SystemVerilog(IEEE P1800)和e(IEEE P1647)在内的几种功能建模与验证语言(及标准)被用于设计。另外,先进的方法实践,例如从OpenVera的“参考验证法指南”以及e的“e再使用法推荐”抽取出的方法实践,为算法、构架以及事务处理级建模提供参考。

    事务处理级建模是一个相当普通的应用,它涉及并描述设计的每一个功能线程。事务处理级的焦点是“如何”进行,特别是通讯交互“如何”进行,而不在于功能是 “什么”。事务处理所提供的是执行细节在时间上的抽象与空间上的封装在――这是最初注重通讯基础架构而不是功能模块的思想的体现。做这样的抽象建模的好处 是验证效率高。事实上,对事务处理的运用正变得日益广泛、多种多样,并成为主流。

     在模块间捕捉同步传输的事务处理也注定会成为折衷分析中的重要角色。因此,建模与记录事务处理对提升基于事务处理的验证和调试技术非常关键,而验证和调试技术是提高开发效率与设计质量所必须的。

如何进行事务处理级建模

    高级语言(也称为“HLL”,例如SystemC)、其它的硬件验证语言(也称为“HVL”,例如OpenVera、e)以及测试向量(testbenchz)与硬件设计语言(例如SystemVerilog)对事务处理都有程度不一的内在支持。SystemC (www.SystemC.org)可为建模语言内置的用户驱动事务处理的创建提供支持,并可把它们记录到数据库中,就如同采用SCV函数库的sc_trace()写入数据库一样。SCV有许多预先定义的非常有用的类,包括下面三个主要的记录对象:scv_tr_db: 事务处理数据库对象,它允许用户控制记录。该对象是通用的且独立于数据库格式。第三方记录API供应商可以将底层服务对应到他们自己的数据库方案中。[!--empirenews.page--]

     scv_tr_stream: 事务处理流建模对象。流是一种抽象通讯方法,包括重叠事务处理在内的事务处理可以发生流中,例如一个带有读/写事务处理的存储流。因此一个流可以被认为是一个抽象信号,在这个信号中事务处理是可以被信号使用的抽象值,例如一个数据传送总线的地址或数据流。

     scv_tr_generator: 围绕一个特定的事务处理类别并且允许创建和增加属性的对象,可以是包括设计信号和信息以及通用有效负载数据在内的任何对象。

     下面的代码段 显示了如何利用SCV以一种相对比较直接的方式创建事务处理。每一个代码段前的注释均指出其后语句的目的。事务处理可以以一种无缝的方式(不需要用户的直 接干预)被记录进数据库中。为了实现这一点,工具供应商可以通过在上述三个类中提供的注册机制来注册回叫,从而实现记录功能。用户只需要增加一些初始化调 用即可。

// Inside sc_main() or some other context

// SCV startup

scv_startup();

// Initialization

API_vendor_initialization(); // set SCV callbacks here

scv_tr_db db("my_db");

scv_tr_db::set_default_db(&db);

// Define a stream and a generator

scv_tr_stream mem_stream("memory", "transactor");

scv_tr_generator read_gen("read", mem_stream, "mem");

scv_tr_handle tr_handle;

// Modeling code here

// Transaction begin with a tr_data attribute

tr_data.addr= addr_signal;

tr_data.data=data_signal;

tr_handle=write_gen.begin_transaction(tr_data);

// Transaction end

tr_handle.end_transaction();

// Other modeling code here

SCV也有许多其它的类,例如,在不同的事务处理之间建立关系的scv_tr_relation。在确定诸如前续-后继之类的因果关系、如父-子之类的层次关系以及成分分析集合体时,关系在分析以及调试方面都相当有用。

由于OpenVera(www.open-vera.org)是一种面向对象的建模语言,它可以轻而易举地容纳事务处理级建模的封装概念。该语言目前不具备与SCV类似的内置事务处理类。但可有可能为了这一目的而创建类,例如下面的极小集:trans_db:用于数据库;

trans_stream:事务处理流建模对象;

trans_type:创建事务处理以及事务处理的属性;

trans_handle:便于操控句柄。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭