中文 英语
系统与设计
的意见

需要一种新型的EDA

当问题陈述发生变化时,有时使用完全不同的方法是值得的。

受欢迎程度

在为我本月的一篇文章做研究时,有几个人基本上说,将过去的方法应用到今天的设计中可能会有问题,因为在架构和工作负载方面存在根本差异。虽然我完全同意,但我认为这些说法还不够。

现在的设计一般都有一个——一个CPU,一个加速器,一个内存子系统,一个USB接口,等等。是的,可能有多个加速器,但每一个都是不同的。在设计中,每个块都是唯一的块,在某种程度上,这意味着整个芯片都是定制的芯片——尽管大多数行业正在创建的设计与竞争对手的设计有90%的相似之处,与他们上次创建的设计有95%的相似之处。

知识产权行业一直通过创建更大的多功能模块或子系统来应对,这将继续适用于一体式设计。但你永远不会认为它是一次性的。单元格只设计一次,围绕它的逻辑按一般意义设计,然后编译器或生成器提供您所需的确切配置。

IP-XACT来自Mentor Graphics内部的开发,在那里设计以更模块化的方式完成。块是用“接口”定义的,然后它们必须相互连接。系统知道如何连接这些接口,只要它们是兼容的,并在需要时插入必要的逻辑。它是为万能设计而设计的,它确实成为了描述IP块的有用方法。

但我们已经到了这样的地步,即设计不能包含所有事物中的某一种。图形处理器是计算块的数组,机器学习和人工智能处理器、音频和视频处理器也是如此——我肯定还有其他我不完全理解其内部原理的块。这些类型的系统的编译器在哪里?为什么每个人都必须设计自己的MAC块,而不是让一些公司,甚至是代工厂,生产高度优化的单元,然后可以复制,连接,以编程方式连接到内存和IO ?哪些工具可以分析规则结构,找出它们适合哪些类型的数据流,以及哪些会产生瓶颈?

业界一直在为一体式设计寻找下一个抽象级别,但也许这是错误的方法。他们应该关注定义数据流的抽象级别,以及创建包含大规模复制的适当结构。与此同时,可以创建更好的验证方法,以有效的方式利用层次结构。

也许目前存在的与此最接近的例子是片上网络(NOC)互连结构,其中可以定义请求程序和提供程序的数量,并建立它们之间的关系,例如哪些请求程序需要与哪些提供程序通信,它们是一对多还是多对一连接,吞吐量要求等等。这样,互连就完全生成了。

如果生成过程尽可能接近于构造修正,那么只需要在结束时验证实现。在此之前的所有事情都可以用抽象模型完成,就像CPU作为IP从可信来源交付时很少在门级进行验证一样。

也许正是这种设计特性上的变化,将为以设计属性为中心的更有效的工具创造机会。我认为这种心态也会流向位置和路径,热分析,以及后端流的许多其他方面,因为每个单元都可以更彻底地单独分析,然后复制。

当然,每个设计中总会有一小部分是完全定制的数字逻辑,并且可以继续使用现有的工具流程。但现在看来,这似乎只是问题的一小部分。



1评论

Amit Garg 说:

这是对当前事态的非常恰当的评论,以及对下一代自动化的需求,这是当今SoC设计所需的系统扩展所需要的。我们确实需要创新来实现数据流驱动的自动化设计。

留下回复


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

Baidu