中文 英语

对行为建模日益增长的需求

当对更复杂设计的某些部分进行抽象的需求变得必不可少时,功能模型找到了它们的利基。

受欢迎程度

作者:Ann Steffora Mutschler
当涉及到行为或功能建模时,有一个固有的功能、架构和互连的概念。

长期以来,这种方法一直被认为是未来的需求,但在复杂的设计中,未来部分不再适用。行为建模是一种隔离或抽象出体系结构描述的关键部分并确保其完全被理解的方法,并且不会被整个流程中设计中所做的许多其他权衡所破坏。

“通常,功能和行为被用于相同的描述,”Cadence公司系统开发套件的产品营销组主管Frank Schirrmeister说。“今天在系统级设计中使用的行为或功能模型本质上只是代表最终效果的模型,没有任何关于如何实现(即架构)或如何与环境对话(即接口部分)的表述。”

他说,这通常是用C语言完成的,但也可以用任何语言。

Open-Silicon首席SoC架构师Jeff Scott对此表示赞同。“系统级设计上下文中的行为模型是用高级语言(如C、c++或SystemC)编写的模型,它表示硬件的功能行为。”他指出,这些类型的模型可以以多种方式使用,最常见的是作为同一功能的RTL实现的验证IP。

“在这种情况下,”他说,“RTL的行为必须与VIP匹配,但不一定是周期地匹配。IP提供商通常会将VIP与RTL一起交付,以便收件人可以验证交付是否有效。这通常是在块级别而不是系统级别上完成的。”

Scott指出,行为模型的另一个用途是用于系统架构探索。多个行为模型可以集成到一个系统中,这样系统架构师就可以研究它们的交互作用。因为底层代码相当高级,所以模拟可以比RTL模拟代表更多的时间,因此架构师可以看到更长期的效果。如果目的是研究系统性能,那么行为模型必须具有在执行其功能时所消耗的时间或时钟周期的一些合理准确的表示。在某些情况下,这些只是模拟流量行为和消耗周期,而不是真正的功能模型。这些类型的模型模拟速度非常快,但只能用于性能分析,而不能用于功能验证。”

Schirrmeister说,行为模型是在系统架构师得到模型之前创建或获得的,通常是在工程师(有时被称为算法工程师)的办公桌前。“这是实现系统行为或功能的人,然后他指示系统架构师,‘这是算法,这是我想让您实现的行为。’然后架构师将架构组件添加到这个行为模型中,这基本上代表了实现效果。”

在这种情况下,它可以追溯到“VCC的旧时代,当时Alberto [Sangiovanni-Vincentelli]创造了‘功能-架构-协同设计’这个术语,你说,‘这是我的功能,它完全没有任何实现假设。他说,我需要多少内存,无论是硬件还是软件,这都是完全不受限制的……然后我就有了一个架构。这是我的三个处理器,一个专用连接总线和三个内存。这就是架构师参与进来并将架构信息添加到行为中的地方,本质上是指导实现、划分,甚至决定它是在软件还是硬件中实现的,”他指出。

这是行为模型的特征之一,即它与实现无关,与体系结构无关。它还没有决定是在硬件还是软件上实现,架构也没有固化。

对于功能模型来说,另一个重要的事情是,它通常没有与环境对话的特定方式。例如,如果一个MPEG解码器是在高级合成中实现的,那么会有一个算法,但是必须在它周围包装一些东西来告诉它开始,然后从哪里读取数据。

“界面特征可能会改变,所以功能通常独立于架构,这是Alberto创造的另一个概念,称为‘基于通信的设计’。“本质上,你定义了这些东西如何相互作用,它们相互发送什么数据,然后底层的实现与通信完全分离。”你需要以某种方式将它们合并在一起,这样沟通才能与实现相匹配。”Schirrmeister解释道。

“功能模型的关键在于纯粹的概念,正如Alberto所设想的‘功能-架构-协同设计’和‘基于通信/接口的设计’。’它通常不存在,因为你经常开始将架构实现效果混合到功能模型中,因为你细化它,所以转换通常是不可逆的,这导致你无法从香肠中逆向设计猪,”他补充道。

虚拟原型需要功能完备的模型

Open-Silicon的斯科特说,行为模型的第三个用途是虚拟原型。在这种情况下,需要功能齐全的模型,但通常没有准确的时间,目的是在设计完成后进行早期软件开发,但硬件尚未可用。有了虚拟原型,软件工程师可以在代码、驱动程序开发、中断服务例程、系统管理、硬件抽象层和其他涉及实际硬件寄存器的软件方面领先一步。更高层次的软件开发也可以进行,但它的实用性受到虚拟原型模拟速度的限制。”

他指出,长期以来,行为模型的圣杯一直是在任何硬件设计之前首先开发它们,并且在整个设计过程中只开发一次,这意味着同一个模型将充当VIP、架构和性能分析以及虚拟原型。通过这种方式,设计中的更改将首先在模型中表示出来,这实际上将成为一个可模拟的规范。然后对硬件进行更改,并由模型进行验证。“然而,根据我的经验,我还没有看到任何一家芯片开发公司完全采用这种方法。”

尽管如此,Schirrmeister相信纯功能模型将永远存在,尽管自动化水平将随着the Mathworks等公司的方法的使用而提高。最初会减缓采用速度的是工程师们觉得他们会失去对实现的一些影响——他们会的——但从长远来看,随着设计变得更加复杂,自动化将会改进并产生更好的质量结果。

sonic产品营销总监Frank Ferro表示,不同公司对行为建模的采用也各不相同。“许多人更喜欢立即使用RTL仿真,但随着设计复杂性的增加,行为建模变得越来越普遍。具有迭代地查看系统功能和性能的能力(通常比RTL模拟快许多倍)在体系结构开发阶段非常有用。使用行为模型可以更好地理解系统性能,从而在开发的实现和测试阶段节省时间和精力。行为建模对于在硬件开发的同时进行软件开发也很有用……它在设计的早期阶段提供了更好的架构探索、性能分析和软件开发。”

在一天结束时,许多不同的模型类型将继续被使用,并找到它们的利基。这是越来越多的解决复杂问题的工具中的一种。



留下回复


(注:此名称将公开显示)

Baidu