那么我们在哪里?ITRS路线图的基本原则在2010年的更新中没有改变。在未来10年里,该行业仍然需要在硬件和软件设计方面大幅提高生产率。大多数设计团队也将确认硬件不再能够独立于软件的考虑进行开发。然而,用于执行硬件表示的引擎,在这些硬件上可以开发、调试和验证软件,它们正在快速地紧密地结合在一起。为了达到提高设计生产率所需的速度,必须将自动化推到更高的抽象级别。
当前的技术状态
当被要求提供开发中的设计的硅化前表示(以实现早期的软件开发)时,设计团队可以进行选择。通常上一代芯片满足基本的软件开发需求。根据硬件抽象层设计得有多好,一旦下一代芯片可用,就可以用新版本替换它们。
但是,为了使软件开发能够用于描述下一代设计的特定新特性,第一个可用的选项是基于事务级别模型(TLMs)的虚拟原型。这些高度抽象的虚拟模型以二进制文件的形式执行真正的软件,与加载到实际芯片中的软件相比,几乎不做任何修改,在同等的执行速度下达到数百兆赫。
在不那么抽象的寄存器传输层(RTL)被开发出来之后,四种不同的引擎提供了各种各样的优点和缺点。经典的RTL仿真通常是首先出现的,即使在RTL仍然不稳定的时候也可以使用。虽然它在赫兹范围内的执行速度太慢,无法实现真正的软件开发,但它有时仍被用于生成低级软件。
当RTL变得足够稳定时,可以将其部分映射到基于硬件的执行引擎中。然后,验证加速将经典RTL仿真中的试验台与开发中的设计映射到一个验证计算平台中,以在真实的硬件中执行设计。现在用户可以在数百千赫兹的范围内执行,这对于软件执行来说是合理的。
经典的在线仿真可以达到几兆赫量级的速度,并且从一开始就被用于软件的启动、开发和调试。
基于fpga的原型提供了下一个级别的速度改进,通常运行速度比仿真快一个数量级。可以说,FPGA原型是目前开发前硅时代软件的主要引擎。一旦设计制作完成,下一代芯片将取代上一代芯片用于软件开发,以设计的目标速度执行。
混合协议
虽然虚拟原型是TLM的一个步骤,是RTL之外的下一个设计入口,但虚拟平台还不是主流设计流程的一部分。越来越多的用户对将它们的优势(速度和早期可用性)与基于rtl的执行引擎的更好的准确性结合起来感兴趣。可以肯定的是,在2012年,我们将看到越来越多的基于TLM和rtl技术的混合使用。
事务级别建模条目的其他方面是实现和验证。业界已经提供了从tlm进行高级合成的技术,但是在单一的建模风格上标准化的速度还不够快。不仅RTL的实现可以自动化,而且验证方法也可以升级。2010年出版tlm驱动的设计与验证方法Brian Bailey等人写的,是一个将实施和验证结合起来的好例子。在通往下一层设计入口的道路上,将用于设计和验证的TLM与用于软件支持的TLM结合起来将是重要的一步。
虽然我确信行业在2012年将朝着这个方向取得进展,但今年秋天,Altera和Xilinx这两家大型FPGA供应商创造了一个有趣的tlm相关情况。这两家厂商都宣布了将可编程逻辑与基于ARM Cortex-A9的多处理器子系统的硬实现结合在一起的设备,这些可编程逻辑相当于数百万个ASIC门。这两家供应商也都宣布了他们的设备的虚拟原型。XilinxZynq平台通过提供“可扩展的虚拟平台,这意味着设计团队可以在用户定义逻辑的RTL开发之前创建软件开发的模型,可以手工或使用高级综合。
鉴于我是一个系统级的热衷者,我打赌早期的TLM可扩展性将对用户显示出真正的价值。验证仍然需要在所有级别,因此TLM和硬件的混合也将成为设计和验证流程的关键部分。这将在FPGA平台上实现,还是通过使用前面描述的不同引擎开发asic和特定于应用程序的标准部件(assp),还有待观察。
无论如何,特别是随着FPGA供应商解决方案的设置扩展到虚拟原型空间,我们肯定会在2012年得到一个迷人的系统级案例研究!
弗兰克Schirrmeister他是Cadence的产品营销高级总监,负责系统设计套件。他拥有柏林技术大学的硕士学位。他还在他的博客中讨论了系统级和嵌入式软件设计技术的采用。坦白地说”。