資料介紹
描述
介紹
借助Vitis 高層次綜合 (HLS) ,FPGA 的一般開(kāi)發(fā)時(shí)間可以大大縮短。
在此項(xiàng)目中,將展示如何使用 HLS 加速 FPGA 上的 FIR 濾波器。
在之前關(guān)于使用 HLS 運(yùn)行簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)的博客文章中,展示了使用 Pynq 的 KV260 的設(shè)置過(guò)程。
所有數(shù)據(jù)和預(yù)建硬件都在隨附的GitHub 存儲(chǔ)庫(kù)中
基礎(chǔ)知識(shí)
在數(shù)字信號(hào)處理中,有限脈沖響應(yīng) (FIR) 濾波器對(duì)任何給定的有限輸入信號(hào)都有有限響應(yīng)。FIR 濾波器由抽頭延遲線構(gòu)成,用于將輸入信號(hào)延遲給定數(shù)量的抽頭 ( N )。z^{-1} 是Z 變換的延遲運(yùn)算符

濾波器系數(shù)可以排列在脈沖響應(yīng)向量中。

輸出信號(hào)可以用

或短

這與輸入信號(hào)與脈沖響應(yīng)的卷積相同

對(duì)于濾波器設(shè)計(jì),使用了關(guān)于使用 python 進(jìn)行低通 FIR 濾波器設(shè)計(jì)的 Scipy Cookbook 。
過(guò)濾器設(shè)計(jì)有具有以下特性的凱撒窗:
- 10 Hz 的截止頻率 ( f_c )
- 5 Hz 的過(guò)渡寬度 ( Δf )
- 60 dB 的阻帶紋波 (A_stop)
該食譜已針對(duì)該項(xiàng)目進(jìn)行了改編fir.py
系數(shù):

頻率響應(yīng):

過(guò)濾后的信號(hào):

在食譜中,scipy 函數(shù)scipy.signal.lfilter()
用于過(guò)濾信號(hào)。一個(gè)純的和非優(yōu)化的 python(使用 NumPy)實(shí)現(xiàn)看起來(lái)像:

高級(jí)合成
對(duì)于 HLS 部分,我們使用 74 抽頭濾波器過(guò)濾長(zhǎng)度為 1024 的信號(hào)。在沒(méi)有并行性的情況下,我們需要大約 75k 個(gè)周期來(lái)過(guò)濾信號(hào)。
HLS中的 C++ 代碼fir.cpp
看起來(lái)與 Python 代碼非常相似。通過(guò)一些代碼提升技術(shù)(將i = 0時(shí)的代碼放在for 循環(huán)之外),HLS 可以流水線化最外層的循環(huán)。如果流水線循環(huán)包含更多循環(huán),它們將自動(dòng)展開(kāi)。
Python 腳本fir.py
將計(jì)算出的抽頭系數(shù)寫(xiě)入 C++ 頭文件。出于調(diào)試目的,測(cè)試信號(hào)和預(yù)期響應(yīng)也寫(xiě)入fir.h
頭文件中。

在綜合后報(bào)告中,我們看到相當(dāng)大的開(kāi)銷,因?yàn)榧词寡h(huán)是流水線,它也需要 1345 個(gè)周期來(lái)過(guò)濾長(zhǎng)度為 1024 的信號(hào)。這是由于昂貴的浮點(diǎn)運(yùn)算。

為避免浮點(diǎn)運(yùn)算,可以使用Vitis HLS 的定點(diǎn)包。為了不在 Python 中使用定點(diǎn)(為了與 Pynq 通信),函數(shù)的輸入和輸出仍然是 float。輸入和輸出必須進(jìn)行相應(yīng)的類型轉(zhuǎn)換。在這個(gè)項(xiàng)目中,使用了 32 位的字寬和 1 位的整數(shù)寬度。
?

正如報(bào)告中所見(jiàn),開(kāi)銷幾乎消失,1058 個(gè)周期確實(shí)接近了 1024 個(gè)周期的最佳延遲。

Vitis HLS 和 Vivado
與上一篇博文一樣,使用 Vitis HLS 和 Vivado 生成硬件。時(shí)鐘頻率使用100MHz,之后可以在Pynq中超頻。
Pynq
Pynq 代碼 ( fir.ipynb
) 與之前的博文非常相似。系統(tǒng)可超頻至 250 MHz

對(duì)于普通的 Python 實(shí)現(xiàn),已經(jīng)實(shí)現(xiàn)了 3160 倍的巨大性能提升。為了與scipy (lib) 的 lfilter()進(jìn)行比較,可以實(shí)現(xiàn) 6.7 倍的性能提升。
- 如何使用FPGA實(shí)現(xiàn)分布式算法的高階FIR濾波器 31次下載
- 如何使用FPGA實(shí)現(xiàn)實(shí)現(xiàn)高速并行FIR濾波器 15次下載
- 如何使用FPGA實(shí)現(xiàn)實(shí)現(xiàn)高速并行FIR濾波器 7次下載
- 如何使用FPGA實(shí)現(xiàn)FIR抽取濾波器的設(shè)計(jì)
- FIR濾波器的FPGA設(shè)計(jì)與實(shí)現(xiàn) 14次下載
- 基于FPGA的32階FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn) 16次下載
- 基于MATLAB的FIR濾波器設(shè)計(jì)與濾波 64次下載
- 基于FPGA的FIR濾波器設(shè)計(jì)與實(shí)現(xiàn) 39次下載
- 基于matlab和fpga的FIR濾波器設(shè)計(jì) 58次下載
- 一種在FPGA上實(shí)現(xiàn)的FIR濾波器的資源優(yōu)化算法 36次下載
- 基于FPGA設(shè)計(jì)的FIR濾波器的實(shí)現(xiàn)與對(duì)比 121次下載
- 基于MATLAB與FPGA的FIR濾波器設(shè)計(jì)與仿真 120次下載
- 基于MATLAB及FPGA的FIR低通濾波器的設(shè)計(jì) 82次下載
- 基于FPGA對(duì)稱型FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)
- FIR濾波器的FPGA實(shí)現(xiàn)及其仿真研究
- 基于FPGA實(shí)現(xiàn)FIR數(shù)字濾波器 841次閱讀
- Verilog并行FIR濾波器設(shè)計(jì) 987次閱讀
- FIR濾波器的MATLAB與FPGA設(shè)計(jì) 3462次閱讀
- 基于FPGA的可調(diào)FIR濾波器在實(shí)際通信系統(tǒng)中的實(shí)現(xiàn)方法設(shè)計(jì) 2611次閱讀
- FPGA是如何設(shè)計(jì)并實(shí)現(xiàn)了32階FIR數(shù)字濾波器的硬件電路? 5441次閱讀
- FPGA的FIR抽取濾波器設(shè)計(jì)教程 1319次閱讀
- FPGA的FIR抽取濾波器設(shè)計(jì)詳細(xì)教程 2362次閱讀
- 一種基于分布式算法的低通FIR濾波器 3282次閱讀
- 基于FPGA乘法器的FIR 低通濾波器整體設(shè)計(jì) 3426次閱讀
- 使用FPGA構(gòu)建的數(shù)字濾波器設(shè)計(jì)方案 8881次閱讀
- DSP in FPGA:FIR濾波器(二) 2178次閱讀
- DSP in FPGA:FIR濾波器(一) 9643次閱讀
- 基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)方案 9251次閱讀
- 基于Matlab的FIR帶通濾波器設(shè)計(jì)與實(shí)現(xiàn) 2.9w次閱讀
- 基于DSP的FIR濾波器的設(shè)計(jì) 1.1w次閱讀
下載排行
本周
- 1涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 2錦銳科技CA51F2 SDK開(kāi)發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 3錦銳CA51F005 SDK開(kāi)發(fā)包
- 19.47 MB | 3次下載 | 1 積分
- 4蘋果iphone 11電路原理圖
- 4.98 MB | 3次下載 | 2 積分
- 5基礎(chǔ)模擬電子電路
- 3.80 MB | 3次下載 | 1 積分
- 6RA-Eco-RA6M4-100PIN-V1.0開(kāi)發(fā)板資料
- 34.89 MB | 1次下載 | 免費(fèi)
- 7STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)
- 3.32 MB | 1次下載 | 免費(fèi)
- 8聯(lián)想A820t手機(jī)維修圖紙包括主板原理圖 尾板原理圖 點(diǎn)位圖
- 0.62 MB | 次下載 | 5 積分
本月
- 1AI智能眼鏡產(chǎn)業(yè)鏈分析
- 4.43 MB | 383次下載 | 免費(fèi)
- 2蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 296次下載 | 5 積分
- 3貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說(shuō)明
- 0.50 MB | 94次下載 | 1 積分
- 4長(zhǎng)虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 91次下載 | 5 積分
- 5涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 6錦銳科技CA51F2 SDK開(kāi)發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 7AO4803A雙P通道增強(qiáng)型場(chǎng)效應(yīng)晶體管的數(shù)據(jù)手冊(cè)
- 0.11 MB | 28次下載 | 2 積分
- 8長(zhǎng)虹液晶彩電LS29機(jī)芯的技術(shù)資料說(shuō)明
- 3.42 MB | 16次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191388次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論