片上系统设计中的事务级建模方法_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、片上系统设计中的事务级建模方法片上系统的速度和复杂度的不断提高不仅使得底层的设计实现易于出问题,而且顶层的系统架构、通讯机制、软硬件划分等都可能使系统的功能、性能或成本、开发周期等指标不满足要求。一旦在底层的实现阶段发觉了这种顶层的设计问题,会有大量的设计工作重新举行;此外,工程师对设计规格的理解偏差,或设计规格本身的不完整及二义性也是造成设计错误的缘由之一;底层硬件的设计在验证时需要大量的输入激励和检验响应,在信号级完成这样的工作不但速度很慢而且简单遗漏。因为电子系统中相当部分的工作是由软件完成,所以必需确保在应用环境下软硬件能够正确地协同工作。以前软件中依靠于硬件的部分通常要等到样机加工好

2、后才干调试,使得软件的完整验证只能在系统设计周期的后端举行,此时发觉的设计错误通常要花费较高的修改代价,特殊是那些牵涉到软硬件划分等系统层次的问题。全部这些都要求我们用跟以往大不相同的方式看待电子系统的设计流程:设计规格必需用形式化的、语法严格且语义明确的高级语言描述;从系统的顶层到底层的每一适当的抽象层次都采纳合适的高级语言建立相应的模型;每一层次的模型都要举行验证,并可作为下一层次系统模型的参考模型和子模块的测试平台。如此,便可形成一系列可执行的设计规格( executable specification ),并将验证工作左移到系统设计的早期阶段,从而达到消退设计规格的歧义性和及早发觉较高

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

4、的建模办法。国际上界经过几年的进展与研究,公认最有前途成为电子系统设计与验证统一语言的就是systemc,它是在c+的基础上加上一套适合于硬件描述的模板库和仿真内核构成,并不断地扩充进有望成为标准的附加库,如验证库scv、事务级建模库tlm api等。在基于systemc的系统级建模和验证流程中,首先在顶层建立较高抽象级的模型,主要用于完成系统控制与算法的设计分析,举行物理架构的功能性能的设计分析。通过建立系统级的抽象模型,执行仿真分析和评估给出量化的指标,从而对系统级的功能性能作出正确的设计,并在此基础上举行软硬件模块划分。2 模型层次为便于后面讲述的便利,这里先简要介绍一下系统建模的几种抽

5、象方式和应用类型。抽象方式可分为:非定时功能utf(untimed functional):可用于模型的接口和内部功能,进程的执行和数据传输都不耗费时光, 时光只可能作为定序机制而用法。定时功能tf(timed functional):可用于模型的接口和内部功能,进程的执行和数据传输都都分配了有限的时光。周期精确bca(bus cycle accurate):仅用于模型的接口,而非内部功能,定时精确到时钟周期,通常与系统时钟相关,不引入管脚级的详情,信息传输通常以事务的方式建模。管脚周期精确pca(pin cycle accurate):仅用于模型的接口,而非内部功能,定时精确到时钟周期,通常

6、与系统时钟相关,描述精确到管脚级。寄存器传输精确rt(register transfer accurate):同时用于模型的接口和内部功能,全部的事情都被支配了时光,时钟用于同步,需要做完整的具体的功能解释,每个寄存器、每条总线、每一位在每个周期的行为都有描述,能够挺直被规律综合器综合成硬件实现,等同于rtl模型。应用类型可分为:系统架构模型sam(system architectural model):是系统的一份不含时光信息的可执行规格,描述系统的硬件和软件成分。模型接口用不含管脚详情的utf方式,通常描述通讯协议;模型功能也用utf方式,行为用算法来建模,且主要以挨次方式描述。此种模型主

7、要用于架构探究和算法验证。系统性能模型spm(system performance model):是系统的一份含时光信息的可执行规格,描述系统的硬件和软件成分。模型接口用不含管脚详情的utf或tf方式,通常描述通讯协议,通讯行为可以是定时的但不一定达到周期精确;模型功能可用tf或utf方式,行为用算法来建模,挨次或并发方式都可以采纳,定时不是周期精确的。此种模型主要用于高层次性能建模和时光预算。事务级模型tlm(transaction level model):用于建模可执行的平台,通常只描述硬件。模型接口用不含管脚详情的tf方式,可以是也可以不是周期精确的,数据传输用事务方式建模;模型功能用

8、tf方式,但不必是周期精确的。功能模型(functional model):指抽象级别在tlm之上的模型,包括sam和spm。系统级模型(system level model):指抽象级别在rtl之上的模型,包括sam、spm和tlm。3 事务级建模办法tlm事务级建模办法tlm(transaction level modeling)是为了解决以下问题而进展起来的,这些问题包括提供软件开发的早期平台;系统架构探究与验证;系统级模型在模块级验证中的应用。它用于建模可执行的平台,通常只描述硬件。所谓事务,一方面指把低层次的信息传输组合成的较高级别的传输,比如把读写一大块数据作为一个事务,它包含总线

9、上的若干次突发传输,每个突发传输又会包含地址延续的多个数据传输;另一方面指不牵涉详细的信号,而是把传输中涉及到的信息分类作为整体表示。事务级建模办法把模块的功能和模块间的通讯分开建模,模块间通讯用事务来表示,接口用不含管脚详情的tf方式,功能也用tf方式,是否周期精确按照需要而定。通过提高抽象级别,并把簇拥在各模块中的通讯协议处理功能集成在特地的通讯模块中完成,极大地加快了系统仿真的速度。软件工程师可以用法处理器命令集仿真器iss(instruction set simulator)来测试程序,iss用法总线事务拜访外部设备,总线事务通过总线功能模型衔接到硬件模型,从而使软硬件测试过程无缝衔接

10、。以前的总线功能模型是pca,相应的硬件模型是rtl,导致仿真速度很慢, 现在通过用法事务作为内部模块间通信的方式,总线功能模型是bca,相应的硬件模型是tlm,软件模型、硬件模型和测试平台可以在较高的抽象级衔接成整体,仿真速度快100倍以上,并可在设计周期中更早的阶段与iss一起作为软件运行的平台。详细可见暗示图1。在tlm级实现可执行的规格有助于举行系统架构的性能分析,探究不同的架构计划;为rtl设计提供参考模型和验证平台;可以作为软件开发的平台,优化软硬件划分计划。所以事务级的系统硬件可执行规格又称为可执行平台ep( executable platform )。它是架构精确的,为软件开发

11、和模块级的验证提供一个迅速全功能的环境。当ep作为底层rtl模块的测试平台时,需要将相应的tlm模块替换为目标rtl模块与transactor的组合,transactor是systemc的术语,作用是将一种抽象级的接口转换为另一种抽象级的接口。图1 由tlm构成的可执行平台因为高层模型(如算法模型)的仿真速度通常要比低一层的模型快10倍或更多,同时高层模型可重用为低层次设计的参考模型,高层的可执行规格可作为低层设计模块的验证平台,因此常常需要将不同层次的模型混合仿真。把高层模型的对外接口用transactor形式转换成低层模型的接口,就可以衔接到囫囵系统上。4 总结系统级设计和验证包括从系统规格开头的设计输入、架构评估、功能验证、多层次多语言混合验证、软硬件协同开发及验证等高抽象度的描述办法和验证技术。systemc作为一种适用于多层次建模和仿真的高级语言,已被广泛应用于系统级设计和验证的多个领域,为讨论不同的系统结构、举行算法评估、软硬件任务划分和软件开发提供了有效的办法。它能使囫囵团队用法一种语言来灵便地组合不同的抽象层次,使设计者优化系统的设计和验证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论