



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 用RTL测试平台验证事务级IP模型 用RTL测试平台验证事务级IP模型 类别:嵌入式系统 在系统级芯片设计中,设计验证是一项十分重要的工作。传统的验证方法虽然比较简单,但对设计工程师要求很高,而且验证时间过长。本文介绍开放式设计和验证语言SystemC,通过该语言可实现RTL测试平台的复用,降低验证成本,缩短验证时间。 由于缺乏可靠的结构评估方法和软、硬件协同验证方法,系统结构设计工程师
2、在设计系统级芯片(SoC)时,工作受到了一定的阻碍。值得庆幸的是,SystemC这种标准的用C+开发的资源开放式设计和验证语言,为研究不同的系统结构,进行算法评估,软、硬件任务划分和软件开发提供了有效的方法。 SystemC之所以能实现这些功能,原因就在于它简化了事务级模型(transactionlevelmodel,TLM)的开发。与寄存器传输级(RTL)模型比较而言,TLM属于系统硬件组件在更高级别上的抽象。RTL模型中包含了比TLM模型更多的细节信息(如单独的时钟周期等),而TLM则在结构级的组件上交换数据或执行事件。简言之,TLM所针对的应用是开发和验证那些依赖于硬件的系统软件部分。
3、TLM优于RTL模型的地方包括: 1.TLM比RTL更容易开发,需要消耗的人工时间也较少,并且仿真速度也比RTL模型快1万到10万倍; 2.TLM仿真所需耗费的时间只在秒级和分钟级,而RTL则需耗费几小时甚至几天的时间。因此,在一个TLM级的IP模块上可以真正运行软件,而RTLIP则速度过慢,即使在一个指令级仿真器中也无法执行代码。同时,SoC的设计方法学要求将过去设计的知识产权(IP)在更高的抽象级别上表现出来,从这个角度来看,TLM也是很有用的。 如果工程师们能够利用现有的RTL测试平台来验证TLM,那么还能进一步缩短TLM的验证时间。事实上,SoC设计验证时间占据了整个产品开发过程的60
4、到70,而且也是一次性工程成本中的重要组成部分。所谓一次性工程成本,包括开发测试平台所需的人工时间加上所有其他验证工具所需的时间。 此外,如果验证一个基于TLM的IP模块时所采用的测试平台也曾用来验证过该模块的RTL模型,那么设计工程师们也就更容易对该模块产生信心。这种信心又会促进TLM在设计流程中的应用,从而帮助缩短早期SoC设计和其后的RTL设计之间的差距。今后,在重新利用RTL测试平台来验证TLM模块这个领域内,研究重点将放在如何使该过程全面自动执行,以及如何将自动检错功能包含进来。 有几种工具可用来缩短验证HDL模型所需的时间,其中包括VerisityDesign公司的SpecmanE
5、lite、DesignSystems公司的开放式源码程序TestBuilder以及Synopsys公司的VERA。然而就像开放式SystemC验证库最初所经历的一样,针对SystemC设计的验证工具也才刚刚起步,还需要一段时间才能成熟,这也使RTL测试平台的重用问题更加引人瞩目。 传统的验证方法 在不同的HDL专用工具间可能会存在差异,但除此以外,传统的设计验证方法无非都是将设计与一个激励生成器和检测器连接起来达到验证的目的。其中,激励生成器用于启动线程,向设计中写入信号,而检测器则用于验证系统的响应。此外,在激励生成器实现文件的顶部所声明的事件结构用于综合不同的线程(见图1)。这种验证方法的
6、好处在于:开发与验证所用的是同一种语言,因此学习过程较为简单;小型的专用测试程序较易编写;并且无需额外的验证工具,这也降低了成本。而且,测试平台开发成功之后,尽管比较简单,仍然可以用作真实系统软件的例子,让嵌入式软件设计工程师在起步时从中获益。这种验证方法的缺点在于,要编写这种测试平台使其能够作为最终软件的基础,需要设计工程师全面了解整个系统的工作原理。 想要为较重要的IP模块开发出详尽的测试平台必须付出大量的努力、时间和金钱,而且,即便如此,也很难知道开发出的测试平台是否能够全面地测试一个模块。采用硬件验证工具(如Specman、TestBuilder和VERA)可以使部分验证过程自动执行,
7、但并不意味着设计工程师可以少作努力,设计成本也依然高昂。 还有一种验证方法,即编写一种叫做集成测试平台的软件,以实现在整个系统中检测IP。这种方法要求所有的IP模型均为可用,但它有一个好处,那就是IP可以在全系统的上下文环境下进行验证,从而保证了模块能够确实按照设计的要求工作。 这些技术在开发类似TLM的IP模型时都是必须的。但如果采用验证RTL时所使用的测试平台来验证TLM模块,那么还能进一步节省验证时间。这种测试平台的“复用”通常发生在设计流程的RTL到布线阶段。 一般而言,某一抽象级别上的测试平台可以用来验证较低抽象级别的IP模型(这就是所谓的自上向下兼容性),反之则不行。然而事实上,在
8、重用RTL测试平台来验证TLM级IP时所采用的正是与之相反的自下向上兼容的测试平台。 在验证IP之前,设计工程师必须清楚这个IP是如何使用的,并应知道一个高质量的测试应包含些什么内容。也就是说,高质量的测试应该充分全面。从这个角度上看,TLM模块必须满足这样的要求:运行于该模块上的软件应该也能运行在RTL级的模型上以及真正的系统中。只有这样,设计工程师才能肯定TLM模型和RTL模型是匹配的。要确保这一点,有一种方法,即在TLMIP上运行RTL测试平台。 在采用RTL测试平台来验证TLMIP时有两个主要问题需要解决,一是TLM模型和RTL模型采用的语言不同,二是这两种模型的抽象级别不同。至少有两
9、种技术可以解决这两个问题。利用同样的技术还可以实现用TLM测试平台验证RTL模型,但这样做意义不大。 重用RTL测试平台来验证TLM模块 可实现利用RTL测试平台验证一个TLM模块的第一种技术就是将RTL模型用作一个“黄金”参考(即非常好的参考),见图2。这时,如果RTL模型和TLM模型的功能相当,那么对这两种模型采用同样的激励就能在事务级上获得完全相同的响应。采用这种方法时,首先要将被仿真的RTL模型对某一早先开发好的测试平台的响应在模型接口处取出,以记录下事件序列。接着,将这些序列转换成事务和事件,并将其与TLM接受同样的输入时获得的输出进行比较。例如,对总线信号而言,设计工程师可以开发一
10、种基于有限状态机的工具,将总线控制信号转换成符合总线协议的TLM读写事务。中断等类似信号也可以转换为事务级的事件。设计工程师可以采用一种脚本语言,从这些事务和事件中开发出一个SystemC生成器或测试平台,以激活SystemCAPI(应用程序接口)信号。然后就可以将SystemCTLM的输出与RTL模型所驱动的输出序列相比较。 下面我们以一个时序器模型为例,该模型连接到ARM公司的AMBA片上总线。第一步是在时序器的RTL模型上运行HDL(硬件描述语言)测试平台,然后用一个分析工具来构成时序器接口的总线信号和中断。分析工具可由TestBuilder构成,该工具能够提取出HDL形式的信号,并将其
11、转化为C+格式。一旦信号变成了C+格式,其值也被有限状态机代码修改为AMBA总线事务并被记录下来。发生了变化的中断信号值也被记录下来。其中,特别是在一次读写事务的过程中发生的中断,在这次事务之后都会被记录下来。 以下样本文件给出了被存储下来的一系列事务和事件,也即一系列读写操作和中断操作(见列表1)。该文件通过脚本语言被转化为一个SystemC测试平台(见列表2)。例如,对于读写事务而言,脚本分别向RTL测试平台和TLM测试平台的同样地址读、写数据,然后将TLM测试平台得到的结果与HDL的值进行比较。如果这些结果和所有的中断均能吻合,那么该TLM模型就通过了测试。 TLM中存在的问题 然而,即
12、使TLM是正确的,由一个中断引起的值的变化也可能与TLM接口上的值的变化不一致。这时就必须进行人工检查。以时序器为例,设计工程师可能发现在HDL模型中,一次中断发生在10次读操作之后,而在TLM模型中,该中断则要么过早出现,要么过晚出现。问题就在于TLM缺乏RTL模型所具备的高度精确的时序。很显然,任何检查软件都会把这种情况当作出错,然后进行人工分析,结果却发现TLM模块事实上工作正确。 再举一例,如果在一次TLM事务中的数据读操作与RTL级的操作不匹配,原因仍然很可能是TLM缺乏精确时序,但这并不意味着TLM模型有毛病。只要TLM的中断时序不精确,而HDL模型在工作时只要不发生中断就保持连续
13、读操作,那么时序不匹配就总是一个问题。 在输入为非关联情况下,读、写序列不匹配的情况也可能发生。例如,假设在RTL模型中,几个写操作向寄存器写值,其中的第一个操作在10个周期后会产生一个独特的输出X,并假设在X被记录下来之前的这10个周期中,又发生了向其他寄存器读和写的操作。而在TLM模型中,输出X可以立即被记录,这样,表面上看来,TLM模型又出错了。 以上的每种情况出现时,都需要人工来研究和解决问题,这就使验证所需付出的代价和成本增大。在ARM时序器一例中,用RTL测试平台验证大约需要5天人工时间。表1列出了用RTL测试平台验证其他采用了TLM的ARM功能块(ARM将其称作PrimeCell
14、s)时所需的工作量。 有时,RTL测试平台也许并不适用于验证TLM模块。时序测试平台就是其中的一例,该平台的测试重点是时序条件,而非功能性。但这类测试平台却能用来校正时序的TLM。此外,那些测试通信协议(包括总线协议和握手协议)的测试平台也不适用于测试TLM模型。因为协议测试这类操作对于TLM而言级别太低,TLM无法对读、写操作的协议建模。另外,那些结果中会产生“dontcare”状态的测试平台也不适用于测试TLM。 总之,这种重用RTL测试平台的方法保证了TLM模块在给定一个输入时,能够得到与RTL模型相同的输出。如果在验证RTL模型时所用的输入已经非常全面,那么只要一个SystemCTLM
15、能够产生与RTL模型同样的输出,那么我们就可以认为二者具备同样的功能。而且,虽然并非所有RTL测试平台均适用于TLM,但大多数都可以在TLM上重用,因此开发成本也降到了最低。 关于该方法的缺点,此前已有论述,那就是TLM模型和RTL模型之间可能出现的时序失配,出现这种情况时需要一定的人工工作量。此外,脚本及其他用于将RTL信号转化为事务的软件,在用于具备非标准接口的IP模型时,都应作出相应改动。值得庆幸的是,事实上SoC设计中的大多数接口都是标准的总线类型。 另一种可供选择的方法 重用RTL测试平台来验证TLM模块的另一种技术,就是采用一种允许混合语言仿真的工具,对SystemC模型和HDL模
16、型进行协同仿真。该方法最主要的优势就在于,它无需首先在RTL模型上运行激励,然后再用脚本将结果转化为SystemC测试平台。然而,采用协同仿真来实现向更高抽象级别转化的做法也并非毫无价值。 协同仿真采用了一种叫做包装(wrapper)的SystemC模块,该模块可以将总线信号转换为TLM读写事务。而中断等其他系统信号则可以通过SystemC信号与TLM模块直接相连。但这时会产生一个问题,因为大多数RTL测试平台都考虑了时序因素,因而它们就希望TLM模块能够在一个给定的时间内对输入信号作出响应,否则就宣告测试失败。所以我们要么必须修改RTL测试平台,使其忽略时序因素,要么必须修改TLM和RTL接口,将二者调整为具备相同的时序因素。 RTL和TLM的协同仿真除了能够验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年绿色建筑设计与承揽合同
- 2025年度编剧培训课程聘用合同标准
- 2025年度吧台舞台承包合同酒吧运营升级版-@-2
- 2025年度沉井施工特种作业人员安全培训协议
- 盐酸加替沙星项目可行性研究报告申请报告
- 8冀中的地道战 教学设计-2024-2025学年语文五年级上册统编版
- 2025年度二手房买卖合同变更协议书
- 2025年度可再生能源并网暂定价合同范本
- 《汉字王国:2 小小“啄木鸟”》教学设计-2024-2025学年六年级上册综合实践活动沪科黔科版
- 2025年北京住宅室内外装修质量验收合同
- 智能 检测与监测 技术-智能建造技术专01课件讲解
- 2024年心理咨询师题库【综合题】
- 教育部《中小学校园食品安全和膳食经费管理工作指引》知识培训
- 石油工程设计大赛采油单项组
- 辽宁中考语文2024年真题考点全面解读
- 2025年高考语文复习知识清单第十章作文专题11:漫画作文写作指导(学生版+解析)
- 中国肥胖及代谢疾病外科治疗指南(2024版)
- 电力系统全环节实时精准碳计量方法及其应用展望
- 131邻补角对顶角(分层练习)-2022-2023学年七年级数学下册
- 高三英语语法填空专项训练100(附答案)及解析
- 2024年湖南省长沙市中考数学试题(含解析)
评论
0/150
提交评论