在上篇文章中,我们发布了热门 HLS小橙书-pp4fpgas 的第二次校订。文中提到的习题案例现均已集成到 PYNQ 框架中,特向大家分享。
那么这些案例通过 PYNQ 框架会带来哪些便利呢?本文给大家做一个简单的类比:
过去
在完成项目的 HLS 优化之后,若要对其进行功能正确性的验证,通常我们先对设计进行仿真,这样比较方便看到设计的波形。但大型设计往往对运行的平台有较高的要求,同时 co-simulation 等软件层面的仿真并未使项目中的运算在硬件上运行,所得的延时等指标仍较真实值有一定差距。
当然我们也可以在设计中插入 ILA 或者借助逻辑分析仪等信号处理仪器进行实际硬件电路的观测。但专用仪器往往在实验室才能获取,且较为昂贵,因此给整个开发流程带来了极大的不便。
现在
PYNQ 框架在测试中可以理解为:
在 ARM 处理上运行了一套利用 Jupyter Notebook 和 Python 构建的软件测试激励产生和结果显示的框架。
在 FPGA 上利用部分资源构建了一套时序精准的测试接口。
这样用户可以方便的完成测试激励产生和显示,同时可以实时的观测结果。尤其是对于此次 pp4fpgas 的数字信号处理案例,我们可以在 Jupyter Notebook 上非常直观的观测到时域频域的转换,信号波形等等。用户只需关注 HLS 设计即可。通过 PYNQ,可编程逻辑电路将作为硬件库导入并通过其 API 进行编程,其方式与导入和编程软件库基本相同。
以 CORDIC 算法为例,首先我们需要对 HLS 优化后的 CORDIC 算法生成IP核,随后就可以在PYNQ 框架内,通过内存映射 I/O 与 ARM 处理器的 IP 进行通信。如上图所示,我们仅需创建一个 Jupyter Notebook,编写 Python 代码给 IP 发送数据,执行该核心,就可以在 Notebook 中得到通过硬件计算出的答案,从而完成验证。
包括 CORDIC 在内,pp4fpgas目前配套了7个 project 练习,覆盖了许多信号处理领域的重要内容,对提高 HLS 的运用能力,增加对 HLS 的理解十分有帮助。Project 内容如下:
FIR Filter Design
CORDIC
Phase Detector
Discrete Fourier Transform (DFT)
Fast Fourier Transform (FFT)
OFDM Receiver
FM Demodulator
编辑:lyn
-
CORDIC
+关注
关注
0文章
37浏览量
19969 -
HLS
+关注
关注
1文章
128浏览量
24083
原文标题:在 PYNQ 框架下可视化的验证 HLS 算法实现 - 小橙书 pp4fpgas 案例发布
文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论