2015.2 SDSoC — 如何完成 HLS 类 C 语言仿真

问题:
在 HLS 中,我可通过加速器完成 C 和 C/RTL 的协同仿真,快速验证功能性。

我现在正在使用 SDSoC 将加速器设计成系统的一部分。

有 C 语言仿真流程吗?我应该如何验证功能性?

(1楼)由于各种基本原因,目前还没有全面集成的仿真流程。HLS

judyzhong 在 星期五, 06/16/2017 - 14:51 发表。

解决方案

由于各种基本原因,目前还没有全面集成的仿真流程。

HLS 可将 C 代码映射至硬件,作为不依赖硬件的单个独立单元。因此,基于 C 语言的仿真大多基于主机。

然而,SDSoC 不仅要完成这些工作,还要添加 datamover 逻辑并在目标 处理器(如 ARM)上运行软件/驱动程序。它非常依赖底层硬件,因此在主机上运行仿真也没那么简单。

针对 SDSoC 设计推荐的功能验证流程是:

1)构建没有加速器的设计,并在该电路板上运行 。这基本上和基于 C 语言的仿真流程一样,但它在目标处理器上运行,而不是在主机上运行。

2) 如果您希望测试 HLS 加速器,您可使用 #ifdef 宏命令,以便使用 C 语言标准库调用( (例如 sds_alloc with malloc 等)代替 SDSoC 库调用,这样加速器代码可以使用 HLS 在主机上仿真。