当前位置:首页 > 工业控制 > 电子设计自动化

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

下面是对图2所示的事务处理进行建模的一个简单代码段。这个类的旨在于将事务处理数据记录到作为trans_db instance dump_file类的事务处理数据库中。输出被显示在图3最右部分。

// Inside program or some other OpenVera context

trans_db dump_file;

trans_stream stream1;

trans_type mem_read;

trans_handle h1;

// open a database file

dump_file=new("test");

// create the memory stream under the test.duv.bus scope

stream1=new(dump_file, "test.duv.bus", "memory");

// create the read transaction type in the memory stream

mem_read=new(stream1, "Read");

// define 2 attributes in the read transaction type

mem_read.create_attr("Addr", INTEGER_DT);

mem_read.create_attr("Data", INTEGER_DT);

delay(10);

// begin a memory read transaction at 10

h1=mem_read.begin_now();

h1.log_integer_attr("Addr", 170);

h1.log_integer_attr("Data", 123);

delay(20);

// end h1 transaction at 20

h1.end_now();

// close the database file

dump_file.close();

当 然,正如前面针对SCV所提到的,另一个有用的类是trans_relation,它负责不同事务处理之间的关系。下面的代码段显示出当 trans_relation为单向时,类是被怎样运用的。一个分析与可视化工具也可以具备预先定义的关系以便获得对分析和显示的特定表示。

trans_relation r1;

trans_relation r2;

trans_handle h1;

trans_handle h2;

r1=new(f, "parent");

r2=new(f, "child");

...h1.add_relation(r1, h2); // h2 is the parent of h1

h2.add_relation(r2, h1); // h1 is the child of h2

为实现记录,类必须封装事务处理追踪和记录API,使数据库记录细节对用户而言不可见。API必须是开放的,以便在工程师和供应商等人之间培养出一种公共增 值文化。在创建、生成和记录事务处理时,它也必须经受得起跨语言应用的检验,从而给设计工程师一个高价值工具。而且它必须简单、基本,但是要足够宽泛以便 覆盖事务处理记录的基本要素。为获得某些(特定建模语言)具体功能,可以另外在封装之上再建立API。

程序员们开发出了一种被为“开放的 事务处理接口(OTI)”的API。这是在Novas公司的FSDB writer层之上构建的一层。该API用C语言编写以获得高可便携性。事实上前面列出的那些类都是OpenVera事务处理类函数库的一部分。它们构成 了对OTI的封装并且利用DirectC与OpenVera接口。用户可以从任何地方利用DirectC编码直接调用OTI。但总的来说,提供一个将建模 语言的接口要求隐藏起来的OTI封装是一个好主意,这样用户就可以专注于建模而忽略数据库记录的细节。


与OTI相似的APIs可以很容易 地使设计工程师能够采用能与C语言接口的语言来开发并记录事务处理数据。这包括其它流行的硬件验证语言,例如e语言。事实上,通过恰当的封装系统任务以及 软件C/C++代码,API也可以在硬件描述语言中使用以直接将事务处理数据从实现中卸载出去。图4是一个带有所有这些模块的系统。

SystemVerilog(3.1a版)(www.systemverilog.org) 是新型的设计建模与测试台语言。它目前没有如SystemC里的内置事务处理类别,但是它存在的目的就是将Verilo电路和寄存器数据抽象化并封装至更 有意义的分组数据中。这使得我们有必要看看如何才能建模然后记录事务处理数据。事实上,可以采用多种方法在SystemVerilog实现这一点:a)等 待增添内置类的标准化努力。这也许会最终发生,不过SystemVerilog今天就可以达到这一目的。因此何必还要等待概念产生然后再期待供应商去支持 它呢?b)创建你自己的事务处理类和方法(任务和功能),然后也许再将其作为一个可分享的函数库捐赠给业界。c)透过直接编程接口(DPI)或编程语言接 口来与SystemC集成。d)在建模过程中调用“系统任务”在恰当的地方完成。

我们认为选项(d)是设计工程师的一个很好的出发点。它囊括了众多的接口要求并且以一种简单、直接而且相当弹性的方式完成任务。设计工程师们可以透过编程语言接口,或者最好透过直接编程接口(DPI)来调用SystemVerilog “任务”或C/C++例行程序。就像DirectC一样,DPI这种机制是被设计用于简单地与用C或C++语言编写的外部无时序模块进行接口。

因此这就产生了两个问题。事务处理对象是什么?设计工程师们该怎样创建/生成/记录事务处理并开发API?同样,我们的答案就是API工具,如图3所示的OTI。它可隐藏执行细节并且为事务处理记录提供一个健全而完整的基础。

需要更多的自动化

到目前为止所讨论的事务处理记录是相当有用、高效的。可是实际上它仍然是人工的,更确切地说,用户必须执行事务处理建模并求助于数据库记录。随着标准越来越成熟以及工具供应商联合起来,业界构可以开发额外的自动化生成和记录工具。例如,用户已经可以在Vera RVM中(同样的,在e语言中)用事务处理类生成事务处理。因此,即将到来的自动化将在创建时使用这些回叫工具,这样用户就用不着担心为事务处理分开建模了。他们可以扩展所提供的基本类,并自动获得所需的记录功能。

另外,我们发现SoC通常含有许多模块,包括专利IP,用于设计与验证的建模语言也相当的多(如图3所示)。因此,一个完整的SoC就形成一个难以破解的数 据集合。在这种情况下,如果工程师采用某种方法将事务处理从可获得的数据里提取出来,从而更好地理解系统运行的话就再好不过了。建模、验证与调试需要统一 标准的符号和框架,以便架构师和设计工程师合力进行复杂SoC的设计与开发。TLM是进行这种分析的理想模型。设计工程师们应该更加深入地研究事务处理级 建模的细节,并利用事务处理级建模从高效率协同仿真和高产出的分析与调试中获得最大好处。

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

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
关闭
关闭