仅对英特尔可见 — GUID: ewa1462824523982
Ixiasoft
1. Intel® High Level Synthesis Compiler Pro Edition用户指南
2. Intel® High Level Synthesis (HLS) Compiler Pro Edition概述
3. 创建高级综合组件和测试台
4. 验证设计的功能性
5. 优化和完善您的组件
6. 通过仿真验证您的IP
7. 使用Intel Quartus Prime Pro Edition综合您的组件IP
8. 将您的IP集成到一个系统中
A. 查看High-Level Design Reports (report.html)
B. Intel® HLS Compiler Pro Edition限制
C. Intel® HLS Compiler Pro Edition用户指南归档
D. Intel® HLS Compiler Pro Edition用户指南文档修订历史
仅对英特尔可见 — GUID: ewa1462824523982
Ixiasoft
6.3. 使用Enqueue函数调用实现高吞吐量仿真(异步组件调用)
在仿真中对组件的显式调用是阻塞调用。为了与C++语言约定保持一致,测试台在继续执行之前会等待组件的返回值。这种阻塞调用会导致组件的串行执行。在执行组件之前,您可以对组件的输入进行排队,从而测试连续调用组件的流水线程度。 您可以使用仿真库中的enqueue函数调用,对具有显式接口的组件的输入进行排队。通过用组件fMAX除以组件启动间隔(II),可以估算出组件的吞吐量,组件启动间隔(II)表示每秒大约调用组件的次数。
函数 | 说明 |
---|---|
ihc_hls_enqueue(void* retptr, void* funcptr, …) | 此函数对一个HLS组件的调用进行排队。 返回值存储在第一个参数中,该参数应为返回类型的指针。 在调用ihc_hls_component_run_all()函数之前,组件不会执行。 |
ihc_hls_enqueue_noret(void* funcptr, …) | 此函数类似于ihc_hls_enqueue(void* retptr, void* funcptr, …),但此函数没有用于捕获返回值的输出指针。 |
ihc_hls_component_run_all (void* funcptr) | 此函数以流水线的方式执行对指定组件的所有排队调用。 |