RTL黑盒设计
一、黑盒设计1.rtl支持将预先设计的RTL IP集成到HLS设计中从而通过HLS来设计更加复杂的设计。2.rtl ip可以在顺序区域中使用3.rtl ip可以在pipeline流水线区域使用4.rtl ip可以在数据流区域内使用二、rtl ip集成到HLS需要具备的条件1.json黑盒描述文件2.rtl ip文件3.rtl的c语言实现三、如何将rtl ip集成到hls中呢1.创建rtl ip的c语言实现函数2.在hls设计中调用此c语言实现函数3.创建必要字段的json文件4.使用add_files选项将json文件添加到script.tcl这个脚本文件中add_files –blackbox my_file.json5.运行hls的设计流程包括c仿真综合和协同仿真即可。四、黑盒设计的要求在 HLS 内部仅限 C 才支持 RTL 黑盒。• 在 HLS 内部RTL 黑盒无法连接到顶层接口 I/O 信号。• 在 HLS 内部RTL 黑盒无法直接充当 DUT。• 在 HLS 内部RTL 黑盒不支持接口类型为结构体或类。• 在 HLS 内部RTL 黑盒支持以下接口协议• hls::streamRTL 黑盒 IP 支持 hls::stream 接口。在 C 语言中使用此特定数据类型时请针对 RTL 黑盒 IP 中的该实参使用 FIFO 接口。数组RTL 黑盒 IP 支持 RAM数组接口。在 C 语言中使用此构造时请针对 RTL 黑盒 IP 中的对应实参使用下列 RAM 接口之一•单端口 RAM - RAM_1P•双端口 RAM - RAM_T2P• C 语言标量和输入指针RTL 黑盒 IP 仅支持在顺序区域和流水线区域中使用 C 语言标量和输入指针不支持在数据流区域内使用。在 C 语言中使用此构造时请在 RTL IP 中使用 wire。• 输入输出指针和输出指针RTL 黑盒 IP 仅支持在顺序区域和流水线区域中使用输入输出指针和输出指针不支持在数据流区域内使