当前位置:首页 > 工业控制 > 电子设计自动化
[导读]建模、验证与调试需要统一标准的符号和框架,以便使架构师和设计工程师能够协同进行复杂SoC的开发。事务处理级模型(TLM)是进行这种分析的理想模型,在片上系统(SoC)设计中使用事务处理级建模,可让设计从高效率协同仿

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

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

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

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

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

事务处理级建模的概念

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

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

图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供应商可以将底层服务对应到他们自己的数据库方案中。

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:便于操控句柄。

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

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

· Ceva-Waves™ Links™ IP系列提供完全集成的多协议连接解决方案,包括Wi-Fi、蓝牙、UWB、Thread、Zigbee和Matter,为下一代连接协议丰富的MCU和SoC简化开发工作并加快上市时间

关键字: 人工智能 MCU SoC

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

2024 年 4 月 9 日,德国纽伦堡(国际嵌入式展)——AMD(超威,纳斯达克股票代码:AMD)今日宣布扩展 AMD Versal™ 自适应片上系统( SoC )产品组合,推出全新第二代 Versal AI Edge...

关键字: AI SoC ADAS

加利福尼亚州桑尼维尔,2024年3月29日–新思科技(Synopsys, Inc.,纳斯达克股票代码:SNPS)近日宣布完成对Intrinsic ID的收购,后者是用于系统级芯片(SoC)设计中物理不可克隆功能(PUF)...

关键字: 硅片 半导体 SoC

全球知名半导体制造商罗姆(总部位于日本京都市)与领先的车规芯片企业芯驰科技面向智能座舱联合开发出参考设计“REF66004”。该参考设计主要覆盖芯驰科技的智能座舱SoC*1“X9M”和“X9E”产品,其中配备了罗姆的PM...

关键字: 智能座舱 SoC LED驱动器

TrustFLEX 器件搭配可信平台设计套件,将简化从概念到生产的信任根启用过程,适用于广泛的应用领域

关键字: 控制器 闪存器件 SoC

Arm Neoverse S3 是 Arm 专门面向基础设施的第三代系统 IP,应用范围涵盖高性能计算 (HPC)、机器学习 (ML)、边缘和显示处理单元,是新一代基础设施系统级芯片 (SoC) 的理想技术根基。Neov...

关键字: 机器学习 SoC 系统 IP

近日,研究机构Canalys公布了2023年第四季度智能手机SoC出货量及销售收入排名。其中,依靠华为Mate60系列、Mate X5以及nova 12系列的优秀表现,华为海思在该季度出货680万颗,同比暴增5121%。...

关键字: 华为海思 SoC

Isaac 机器人平台现可为开发者提供全新的机器人训练仿真器、Jetson Thor 机器人计算机、生成式 AI 基础模型和由 CUDA 加速的感知和操作库

关键字: 机器人 生成式 AI SoC
关闭
关闭