開源ISP處理器 (xkISP) 發布
xkISP是基于Xilinx開發工具的開源圖像信號處理器 (ISP),由復旦大學VIP實驗室和阿里巴巴DAMO CTL實驗室聯合開發。到目前為止,xkISP支持處理任意分辨率的12位原始圖像數據。歡迎訪問xkISP項目官方在線論壇:http: //openasic.org/。
xkISP 簡介
整個流水線包括17個功能模塊,如上圖所示。
文件結構如下圖所示,其中:
克隆倉庫
克隆github倉庫:
git clone https://github.com/openasic-org/xkISP.git
cd xkISP
環境設置
修改setup_env.sh,添加當前系統下安裝的vivado或vitis hls路徑,然后完成環境設置。
source setup_env.sh
生成測試向量
在開始項目之前,需要使用xkISP Cmodel isp來生成測試向量。在tv中有一個測試圖像input.raw和默認配置hls_param.txt .tv。
cd tv
./isp -i input.raw -c hls_param.txt
如果想自行準備測試圖片,需要修改makefile\
./isp -i "your test image" -c "your configuration"
注意:每個模塊級驗證的配置是固定的。需要修改驗證代碼文件 (tb中的tb_"*module*".cpp) 以匹配 Cmodel 的配置。我們將在以后的更新中修改驗證代碼文件以讀取配置文件。
模塊級驗證
對于模塊級驗證,可以使用tcl中的Makefile腳本,也可以根據需要修Makefile。
cd tcl
make
頂層集成驗證
對于頂層集成驗證,可以使用vitis GUI。示例如下所示:
1.使用vitis創建一個新項目。
在isp kernel下導入top.h在top.cpp,在主機平臺 (x86) 下導入host.cpp、top.h、xcl2.cpp和xcl2.hpp。
2.設置頂層文件
在kernel目錄下,雙擊.prj進入其配置界面,點擊并設置“ isp_top ”函數為頂層函數。
3.設置測試圖片路徑和配置參數
將“ TOP_SRC1 ”和“ TOP_DST1 ”修改為自己的圖像路徑。
“ IMAGE_HEIGHT ”和“ IMAGE_WIDTH ”決定了輸入圖像的高度和寬度。
“ upper_left_x ”、“ upper_left_y ”、“lower_right_x *”、“ lower_right_y ”確定裁剪后圖像左上角和右下角的像素位置。
“ CROP_HEIGHT ” 和 “ CROP_WIDTH ” 確定輸出圖像的高度和寬度。它們需要與“ upper_left_x ”、“ upper_left_y ”、“lower_right_x *”和“lower_right_y”匹配。
可以在 host.cpp中進行
4.編譯和運行
點擊Assistant窗口中的設置,選擇我們編譯的目標 ("emulation-SW”, “emulation-HW”, “HW ”)
點擊Assistant窗口中的建立 ,開始編譯。點擊運行 ,開始執行項目。