随着芯片设计的“IP化”趋势,基于IP的“即插即用(Plug-and-Play)”式SoC设计在集成电路行业越来越普遍。一款多核或众核处理器,包括ARM、DSP以及领域加速单元等数十个处理节点,也已经是司空见惯的事情。众多的处理节点之间如何有机高效地串联在一起,共享数据、协同工作,设计者如何在众多设计目标的约束下快速合理地选择芯片参数,也成为芯片设计行业和学术界研究的热点和难点问题。
(高通骁龙 S4 )
在之前几期的推文中,我们介绍了一款开源的设计空间探索平台,以及其安装方法。【教程】手把手教你搭建MPSoC设计空间探索平台(1)【教程】手把手教你搭建MPSoC设计空间探索平台(2)【教程】手把手教你搭建MPSoC设计空间探索平台(3)感兴趣的朋友可以关注一下,我们团队也在上面创建了一个基于的新项目,我们的研究成果也会遵从BSD协议进行开源。
今天介绍的这篇论文《: -Cycle Multi-hop NoC in BSV and 》,基于SMART架构和语言,提供了一个快速设计参数化NoC互联架构并进行仿真探索的途径。
SMART架构是T. 等人在2014年MICRO会议上提出的一个NoC架构,即-cycle Multi-hop ,其核心思想就是借助于旁路网络,根据应用将无冲突路径上路由器配置成直通模式,单周期内完成多跳的路径选择,达到降低系统处理延时和功耗的目的,具体可以参考论文。《SMART : -cycle over a on chip》
(SMART架构的“两步走”)
类似于加州大学伯克利实验室的 (参加论文《 : On-chip 》),提供了一个参数化设计的NoC架构生成器,这些参数包括互联网络的拓扑结构、流控算法、路由算法以及网络大小等。
为了实现这种参数化设计,也采用了类似于 的模块化设计方法,将整个NoC架构拆分成网络接口单元 、仲裁器、交叉开关 、输入单元Input Unit、输出单元 Unit以及路由单元SMART Unit等,而输入单元Input Unit又由输入缓存Input 、输入虚通道仲裁器Input VC ,输出单元 Unit又包括输出端口仲裁器 Port 、虚通道选择器VC 。所有这些模块,都称作为库单元模块。
借助于这些库单元模块,使用者只需要在命令行输入相应的配置参数,就可以生成所需的NoC互联架构。目前 .0版本已经在上面可以访问。
论文作者也在FPGA和ASIC上对OpenSMART进行了验证,分别采用DC和Vivado工具进行了综合。
(5x5网络,左侧为FPGA,右侧为ASIC)
(ASIC为采用15nm的OpenCellLibrary综合结果)
同时,作者还针对每个节点的端口数在功耗和面积两个方面对、VC 、 、Input 、Input VC 等模块进行了仿真评估。输入缓存Input 随着port数增加而显著变化。
而相比较于SMART网络,在关键路径方面,也取得很好的性能,分别为492ps和491ps,可见的实用性也是值得肯定的。
目前工具仍然在持续地开发中,更多信息可以关注作者的主页。
发表回复