• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 片上系统设计中的事务级建模方法

片上系统设计中的事务级建模方法

录入:edatop.com     点击:

摘要:本文论述了片上系统设计与验证中存在的一些问题,如系统架构探索与*估、软硬件协同仿真等,介绍了用来解决这些问题的可执行规格、可执行平台、多抽象层次混合建模与验证等较新的观念和方法,最后着重介绍了基于软硬件统一的建模语言SystemC 的事务级建模方法。

1 系统级设计与验证简介

片上电子系统的速度和复杂度的不断提高不仅使得底层的设计实现易于出问题,而且顶层的系统架构、通讯机制、软硬件划分等都可能使系统的功能、性能或成本、开发周期等指标不满足要求。一旦在底层的实现阶段发现了这种顶层的设计问题,会有大量的设计工作重新进行;此外,工程师对设计规格的理解偏差,或设计规格本身的不完整及二义性也是造成设计错误的原因之一;底层硬件的设计在验证时需要大量的输入激励和检验响应,在信号级完成这样的工作不但速度很慢而且容易遗漏。

由于电子系统中相当部分的工作是由软件完成,所以必须确保在应用环境下软硬件能够正确地协同工作。以前软件中依赖于硬件的部分通常要等到样机加工好后才能调试,使得嵌入式软件的完整验证只能在系统设计周期的后端进行,此时发现的设计错误通常要花费较高的修改代价,特别是那些牵涉到软硬件划分等系统层次的问题。

所有这些都要求我们用跟以往大不相同的方式看待电子系统的设计流程:设计规格必须用形式化的、语法严格且语义明确的高级语言描述;从系统的顶层到底层的每一适当的抽象层次都采用合适的高级语言建立相应的模型;每一层次的模型都要进行验证,并可作为下一层次系统模型的参考模型和子模块的测试平台。如此,便可形成一系列可执行的设计规格( Executable Specification ),并将验证工作左移到系统设计的早期阶段,从而达到消除设计规格的歧义性和及早发现较高层次的设计错误的目的。

目前国际上已普遍做到用高级语言来进行系统的规格描述和底层实现,从而形成从系统顶层到底层的一系列可验证的模型;软件与硬件的相互验证不必等到实物样机加工好再进行,而是与硬件的RTL 模型联合仿真。其存在的主要问题有:顶层设计如算法等用的是传统的软件高级语言C++、Fortran 等,而底层的硬件设计用的是硬件描述语言VHDL、Verilog,这样造成整个设计和验证流程不够顺畅,各层次之间难以做到无缝连接;对于更复杂或运算量非常大的系统,验证的速度尤其是软硬件联合仿真的速度太慢,难以进行有效的验证。上述问题的解决方法是:规定软硬件设计和验证统一的高级描述语言;规范抽象方式和级别,特别是在RTL 之上规范硬件平台的建模方法。

国际上 EDA 界经过几年的发展与讨论,公认最有前途成为电子系统设计与验证统一语言的就是SystemC,它是在C++的基础上加上一套适合于硬件描述的模板库和仿真内核构成,并不断地扩充进有望成为标准的附加库,如验证库SCV、事务级建模库TLM API 等。

在基于 SystemC 的系统级建模和验证流程中,首先在顶层建立较高抽象级的模型,主要用于完成系统控制与算法的设计分析,进行物理架构的功能性能的设计分析。通过建立系统级的抽象模型,执行仿真分析和*估给出量化的指标,从而对系统级的功能性能作出正确的设计,并在此基础上进行软硬件模块划分。

2 模型层次

为便于后面叙述的方便,这里先简要介绍一下系统建模的几种抽象方式和应用类型。

* 非定时功能UTF(UnTimed Functional):可用于模型的接口和内部功能,进程的执行和数据传输都不耗费时间, 时间只可能作为定序机制而使用。

* 定时功能TF(Timed Functional):可用于模型的接口和内部功能,进程的执行和数据传输都都分配了有限的时间。

* 总线周期精确BCA(Bus Cycle Accurate):仅用于模型的接口,而非内部功能,定时精确到时钟周期,通常与系统时钟相关,不引入管脚级的细节,信息传输通常以事务的方式建模。

* 管脚周期精确PCA(Pin Cycle Accurate):仅用于模型的接口,而非内部功能,定时精确到时钟周期,通常与系统时钟相关,描述精确到管脚级。

* 寄存器传输精确RT(Register Transfer accurate):同时用于模型的接口和内部功能,所有的事情都被安排了时间,时钟用于同步,需要做完整的详细的功能说明,每个寄存器、每条总线、每一位在每个周期的行为都有描述,能够直接被逻辑综合器综合成硬件实现,等同于RTL 模型。

应用类型可分为:

* 系统架构模型SAM(System Architectural Model):是系统的一份不含时间信息的可执行规格,描述系统的硬件和软件成分。模型接口用不含管脚细节的UTF 方式,通常描述通讯协议;模型功能也用UTF 方式,行为用算法来建模,且主要以顺序方式描述。此种模型主要用于架构探索和算法验证。

* 系统性能模型SPM(System Performance Model):是系统的一份含时间信息的可执行规格,描述系统的硬件和软件成分。模型接口用不含管脚细节的UTF 或TF 方式,通常描述通讯协议,通讯行为可以是定时的但不一定达到周期精确;模型功能可用TF 或UTF 方式,行为用算法来建模,顺序或并发方式都可以采用,定时不是周期精确的。此种模型主要用于高层次性能建模和时间预算。

* 事务级模型TLM(Transaction Level Model):用于建模可执行的平台,通常只描述硬件。模型接口用不含管脚细节的TF 方式,可以是也可以不是周期精确的,数据传输用事务方式建模;模型功能用TF 方式,但不必是周期精确的。

* 功能模型(Functional Model):指抽象级别在TLM 之上的模型,包括SAM 和SPM。

* 系统级模型(System Level Model):指抽象级别在RTL 之上的模型,包括SAM、SPM 和TLM。

来源:维库开发网

上一篇:具有电流限制的多重转换冗余电源系统
下一篇:滞环比较器在电源中的应用

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图