使用 Vivado-HLS 进行结构设计:一个片上网络案例研究
硬件体系结构
2020-08-18 v2
摘要
已有大量成功实例将 Xilinx Vivado 的“函数到模块”高层次综合(HLS)应用于本质上属算法性的对象。本工作中,我们开展了一项设计研究,以评估将 Vivado-HLS 应用于结构设计的有效性。我们采用 Vivado-HLS 来综合对应于独立片上网络(NoC)路由器以及完整多端点 NoC 的 C 函数。有趣的是,我们发现描述包含路由器子模块的完整 NoC 面临着将路由器作为独立模块描述时所不存在的根本性困难。最终,我们成功使用 Vivado-HLS 生成了路由器与 NoC 模块,它们是我们基于参考 RTL 的路由器与 NoC 模块在周期与位级上完全精确的替代件。此外,由 HLS 与 RTL 得到的路由器和 NoC 在资源利用率和关键路径延迟上相当。我们的经验主观表明,即便大量结构细节不得不通过编码规范与显式 pragma 的组合在 HLS 描述中给出,HLS 仍能够简化设计工作。C++ 源代码可在 https://github.com/zhipengzhaocmu/HLS_NoC 找到。
引用
@article{arxiv.1710.10290,
title = {Using Vivado-HLS for Structural Design: a NoC Case Study},
author = {Zhipeng Zhao and James C. Hoe},
journal= {arXiv preprint arXiv:1710.10290},
year = {2020}
}
备注
A poster with the same title was presented at the 2017 International Symposium on Field Programmable Gate Arrays