iCESugar
iCESugar 介紹
iCESugar 是MuseLab基于Lattice iCE40UP5k設(shè)計的開源FPGA開發(fā)板,開發(fā)板小巧精致,資源豐富,板載RGB LED,Switch,TYPE-C-USB, Micro-USB,大部分IO以標準PMOD接口引出,可與標準PMOD外設(shè)進行對接,方便日常的開發(fā)使用。
板載的調(diào)試器iCELink經(jīng)過精心設(shè)計,支持拖拽燒錄,用戶只需將綜合出的FPGA bitstream文件拖拽至虛擬U盤中,即可實現(xiàn)燒錄。iCELink亦支持虛擬串口以和FPGA進行通信,同時引出JTAG接口,方便用戶對FPGA上實現(xiàn)的SoC進行調(diào)試。
Lattice的iCE40系列芯片在國外的開源創(chuàng)客社區(qū)中擁有大量擁躉,其所有的開發(fā)軟件環(huán)境亦均為開源。一般來說,假若您使用Xilinx或者Altera系列的開發(fā)板,您需要安裝復(fù)雜臃腫的IDE開發(fā)環(huán)境(而且一般為盜版,使用存在一定法律風(fēng)險), 在未開始開發(fā)前,首先還先需要學(xué)會如何操作其復(fù)雜的IDE。 iCE40則使用完全開源的工具鏈進行開發(fā),包括FPGA綜合(yosys),布線(arachne-pnr & nextpnr), 打包燒錄(icestorm),編譯(gcc),只需在Linux下輸入數(shù)條命令,即可將整套工具鏈輕松安裝,隨后即可開始您的FPGA之旅,而且這一切都是開源的,您可仔細研究整個過程中任何一個細節(jié)的實現(xiàn),非常適合個人研究學(xué)習(xí),對于有豐富經(jīng)驗的開發(fā)者,亦可用來作為快速的邏輯驗證平臺。典型的基于iCE40系列的開源開發(fā)板有iCEBreaker、UPduino、BlackIce、iCEstick、TinyFPGA 等,社區(qū)中擁有豐富的demo可用于驗證測試,或者作為自己開發(fā)學(xué)習(xí)的參考。
芯片規(guī)格
iCE40UP5K-SG48
- 5280 Logic Cells (4-LUT + Carry + FF)
- 128 KBit Dual-Port Block RAM
- 1 MBit (128 KB) Single-Port RAM
- PLL, Two SPI and two I2C hard IPs
- Two internal oscillators (10 kHz and 48 MHz)
- 8 DSPs (16x16 multiply + 32 bit accumulate)
- 3x 24mA drive and 3x hard PWM IP
硬件規(guī)格
iCE40UP5k
- SPI Flash使用W25Q64(8MB)
- 板載撥碼開關(guān)和RGB LED可用于測試
- 所有IO以標準PMOD接口引出,可用于開發(fā)調(diào)試
iCELink
iCESugar實現(xiàn)了一個板載的調(diào)試器iCELink,您可僅用一根USB線便可實現(xiàn)FPGA的燒錄和調(diào)試,具體功能說明如下:
- 拖拽燒錄,將綜合布線打包生成的bin文件(一般稱之為配置或者邏輯)拖拽到iCELink的虛擬U盤中即可實現(xiàn)燒錄
- 虛擬串口,可用于和FPGA直接數(shù)據(jù)的發(fā)送接收
- 支持JTAG, 可對FPGA上實現(xiàn)的SoC進行調(diào)試
- 通過MCO輸出12Mhz時鐘,作為FPGA的外部時鐘
虛擬機鏡像
鏈接:https://pan.baidu.com/s/1qVSdwM7DnFbaS0xdqsPNrA
提取碼:6gn3user: ubuntu
passwd: ubuntu
所有環(huán)境包括綜合(yosys),布線(nextpnr),打包(icesorm),編譯器(gcc) 已經(jīng)預(yù)制好,啟動即可開始使用。
開發(fā)環(huán)境搭建
推薦使用虛擬機鏡像進行開發(fā)測試,簡單方便。
FPGA工具鏈安裝請參考icestorm
gcc工具鏈安裝請參考 riscv-gnu-toolchainicesprog
是為iCESugar開發(fā)的命令行燒寫工具,倉庫中已經(jīng)提供,依賴libusb和hidapi,若自行搭建環(huán)境需要安裝依賴的庫$sudo apt-get install libhidapi-dev
$sudo apt-get install libusb-1.0-0-dev
視頻教程
FPGA教程
強烈推薦學(xué)習(xí)此教程,open-fpga-verilog-tutorial src/basic/open-fpga-verilog-tutorial
目錄中有對應(yīng)的例程
參考
icestorm toolchain
http://www.clifford.at/icestorm/
example
https://github.com/damdoy/ice40_ultraplus_examples
https://github.com/icebreaker-fpga/icebreaker-examples
https://github.com/wuxx/icesugar
https://www.muselab-tech.com/wan-quan-shi-yong-kai-yuan-gong-ju-lian-de-fpgadan-ban/