寄存器传输级、C 级和系统级实现对比
在数字系统设计中,不同的实现级别(寄存器传输级、C 级和系统级)各有特点。下面将详细探讨这些实现级别的相关内容,包括实现方法、性能和资源使用情况等。
1. IP 集成器的使用
使用 IP 集成器时,自动块连接会添加 AXI 互连和复位块,并根据需要进行配置。对于 Zynq PS 激活的不同接口,IP 的 AXI 主接口会连接到缓存一致的 ACP 接口(加速器一致性端口)或 AXI 高性能端口。具体操作步骤如下:
1. 使用 Vivado 逻辑综合为设计生成 FPGA 比特流。
2. 将生成的比特流导出到 Xilinx 软件开发工具包(SDK)。
3. 在应用程序软件中,将均衡帧和滤波帧的调用替换为初始化 HLS 生成的驱动程序、设置输入参数、启动协处理器执行并等待其终止的调用。
2. 流连接
当一个硬件组件直接使用另一个组件的输出,并且数据可以以数据流的形式传输时(如直方图均衡化的输出和优化 USM 滤波器的输入),数据不应存储在内存中。对于这种情况,VHLS 可以被指示生成 AXI - 流接口。操作步骤如下:
1. 使用 VHLS 生成 AXI - 流接口。
2. 在 IP 集成器中手动连接生成的流端口。
3. 相应地调整驱动程序调用。
这种设计比独立实现更高效,因为避免了整个图像的存储和重新加载,并且两个组件可以并行执行。以下是相关的 Vivado 框图示例:
graph LR
classDef startend fill:#F5EBFF,str
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



