ESL设计之所以会受欢迎,主要源于以下3方面的特性:功能正确和时钟精确型的执行环境使提前开发软件成为可能,缩短了软硬件集成的时间;
系统设计更早地与验证流程相结合,能确定工程开发产品的正确性;在抽象层设置的约束和参数可以被传递到各种用于设计实现的工具中。
1.更早地进行软件开发
有了虚拟的原型平台意味着可以更早地开始软件开发。对于目前基于SystemC语言的ESL设计方法学来说,ESL设计工程师可用SystemC生成一个用来仿真SoC行为的事务级模型。由于事务级模型比RTL模型的开发速度要快得多。在RTL实现以前,完成TLM建模后的系统就可以开始软件的开发。
那么,软件的开发可以与RTL实现同时展开,而不是传统的在RTL实现完成以后才开始软件开发。虽然部分与硬件实现细节有关的软件要在RTL完成以后才能开始,但还是可以节省大量开发时间。
对于一个大型软件开发任务,尽可能早地开始软件开发很有必要。这样不但节省了大量软件开发的时间,还使软硬件的集成和验证变得更加容易。如此独一无二的特性吸引了很多公司将其作为设计流程中特定的一环。
2.更高层次上的硬件设计
为了适应不断变化的市场要求,需要不断推出新产品或经过改进的产品。在SoC设计中可以通过改进一些模块的性能、增加功能模块或存储器、甚至在系统结构上做出重大的调整。因此,设计工程师必须拥有可实现的快速硬件设计方法。
为了实现快速的硬件设计,ESL设计须建立在较高的抽象层次之上,如事务级建模(TLM)。事务级建模可实现较早开始软件开发、ESL设计及验证任务的虚拟集成平台。
以前,RTL平台曾被用来减少设计修改的问题,它通过为未来设计提供一个经过预验证的系统结构来实现这一点。然而,为满足新的市场需求而优化RTL系统结构和集成RTL级的IP所带来的困难越来越大,这会显著减缓设计过程。而一个未经优化的系统结构可能对性能和功耗产生负面影响。最终,设计团队可能会因为性能目标和成本目标的冲突而被迫放弃。
事务级模型被应用于函数调用和数据包传输层。这是一个抽象层,设计意图在该层被捕获,而且该层给设计工程师提供了一个直接而清晰的系统行为视图。而在ESL设计中的事务模型更容易集成到SoC架构的事务模型中,使SoC结构设计师能快速研究并分析多个备选硬件架构和硬件/软件分割方案以确定最佳架构。这种方法明显加快了初始设计,但它的最大好处是在快速转变的设计中采用最初的SoC TLM作为易于更改的平台。
传输级模型可以分为事件触发型和时钟精确型。事件触发机制在硬件设计仿真中经常使用,它能维持大量并发性事件的顺序。然而,面对如此众多的执行事件,如果想要在更高的抽象层执行得更快,就必须将它们归结到相应的时钟周期或指令周期,这就是时钟精确型模型的原理。所以,将大量有严格顺序的事件抽象到每个时钟节拍内建模,进而搭建出的虚拟原型平台可以达到比事件触发型的仿真快10倍以上的仿真速度,而并不影响功能和性能的评估结果。
这些模型能够提供比RTL级模型快好几个数量级的仿真速度。在保证功能正确的前提下,只损失一些时序精度,所以对ESL工具的挑战就是既要保持足够精度的时序信息来帮助设计决策,又要提供足够的仿真速度以满足大型的系统软件(如OS启动)在可接受的时间内完整运行。
只要掌握了这种平衡,就可以在高级设计中验证时序和设置约束条件,再将这些优化的设计分割、分配到各个不同的软硬件设计工作组去加以实现。RTL或带有时序信息的RTL仿真通常只能提供10 MIPS到数百MIPS左右的系统仿真性能,然而,时钟精确型的ESL仿真却能达到100 kMIPS到1 MMIPS的仿真速度。一般来说,ESL上的仿真只会同RTL仿真的时序有些细微差别,这足以满足在时钟级别上验证系统行为的目的。
3.设计的可配置性和自动生成
越来越多的系统强调自己的可配置性,如不同的处理器、不同的总线带宽、不同的存储器容量、无数的外设,所以在仿真中模拟各种不同的配置对设计者来说非常有价值。设计的风险在于需要综合验证环境,配置和生成出来的设计必须与验证环境得到的结果完全一致,并延续到整个设计流程中。
而且系统互连已不再是固定不变的IP总线和桥,通常系统互连是由可配置的结构生成器产生的。配置这些部件的本质就是要在存储器和处理器间提供足够优化和高性能的带宽。通过ESL模型,结构设计师能够找到最好的配置方案,但是,这样产生出来的结果需要与一套骨架的验证环境同步到设计实现中去。
ESL设计领域有3种不同的层次,最高的层次是算法开发,在设计和实现层次是系统架构开发,第3种就是设计的自动生成过程。ESL设计更进一步的目标是能够自动生成IP。一旦系统设计经过各种权衡确定方案之后,各种可配置的模块也可以将参数最终确定下来,就可以利用工具将确定的方案自动装配产生出来了。
例如,ARM已经实现了从RealView SoC Designer ESL环境中自动导入Synopsys DesignWare CoreAssembler SoC的集成和综合流程,并且可以从CoreAssembler或Mentor Graphics公司的Platform Express中启动ARM PL300 AXI可配置互连生成器,来生成AXI总线系统。
4.方便的结构设计
ESL结构设计能完成功能到运算引擎的映射,这里的引擎指的是那些可编程的目标,如处理器、可配置的DSP协处理器,或者特殊的硬件模块如UART外设、互连系统和存储器结构。这是系统设计的开始环节,从行为上划分系统,验证各种配置选择的可行性及优化程度。在这个领域中的工具很多,如CoWare公司的ConvergenSC、Synopsys公司的CoCencentric System Studio、ARM公司的RealView SoC Designer,这些工具都可用于开始时的结构设计。
ESL工具对于开发可配置结构体系是非常关键的,它使系统结构从抽象的行为级很容易地映射到具体的硬件设计,从而方便决定哪些模块可以被复用,哪些新模块需要设计。它还能提供必要信息指导最优化的通信、调度和仲裁机制。
为了在结构设计中方便复用、interwetten与威廉的赔率体系 IP模块,就必须对它们进行建模,比如用SystemC语言对处理器和总线这样主要的IP进行事务级建模。在事务级模型完成后,在RTL建模和软件开发的同时可以对体系结构进行验证和评估。系统体系结构的开发需要使用带有时间信息的事务级模型。
周期精确的RTL模型对系统体系结构的分析能够提供精确的分析。但RTL模型的开发远比事务级模型的开发需要更多的时间,而且当模型需要做出改变以适应软硬件划分调整的时候,事务级模型更加灵活。虽然事务级模型的精确性比RTL模型要低,但实验表明包含时间信息的事务级模型能够提供足够的精确度。
-
soc
+关注
关注
38文章
4166浏览量
218282 -
ESL
+关注
关注
1文章
74浏览量
21351 -
模型
+关注
关注
1文章
3244浏览量
48850 -
系统
+关注
关注
1文章
1017浏览量
21347
发布评论请先 登录
相关推荐
评论