iCESugar
iCESugar 介紹
iCESugar 是MuseLab基于Lattice iCE40UP5k設(shè)計(jì)的開(kāi)源FPGA開(kāi)發(fā)板,開(kāi)發(fā)板小巧精致,資源豐富,板載RGB LED,Switch,TYPE-C-USB, Micro-USB,大部分IO以標(biāo)準(zhǔn)PMOD接口引出,可與標(biāo)準(zhǔn)PMOD外設(shè)進(jìn)行對(duì)接,方便日常的開(kāi)發(fā)使用。
板載的調(diào)試器iCELink經(jīng)過(guò)精心設(shè)計(jì),支持拖拽燒錄,用戶(hù)只需將綜合出的FPGA bitstream文件拖拽至虛擬U盤(pán)中,即可實(shí)現(xiàn)燒錄。iCELink亦支持虛擬串口以和FPGA進(jìn)行通信,同時(shí)引出JTAG接口,方便用戶(hù)對(duì)FPGA上實(shí)現(xiàn)的SoC進(jìn)行調(diào)試。
Lattice的iCE40系列芯片在國(guó)外的開(kāi)源創(chuàng)客社區(qū)中擁有大量擁躉,其所有的開(kāi)發(fā)軟件環(huán)境亦均為開(kāi)源。一般來(lái)說(shuō),假若您使用Xilinx或者Altera系列的開(kāi)發(fā)板,您需要安裝復(fù)雜臃腫的IDE開(kāi)發(fā)環(huán)境(而且一般為盜版,使用存在一定法律風(fēng)險(xiǎn)), 在未開(kāi)始開(kāi)發(fā)前,首先還先需要學(xué)會(huì)如何操作其復(fù)雜的IDE。 iCE40則使用完全開(kāi)源的工具鏈進(jìn)行開(kāi)發(fā),包括FPGA綜合(yosys),布線(arachne-pnr & nextpnr), 打包燒錄(icestorm),編譯(gcc),只需在Linux下輸入數(shù)條命令,即可將整套工具鏈輕松安裝,隨后即可開(kāi)始您的FPGA之旅,而且這一切都是開(kāi)源的,您可仔細(xì)研究整個(gè)過(guò)程中任何一個(gè)細(xì)節(jié)的實(shí)現(xiàn),非常適合個(gè)人研究學(xué)習(xí),對(duì)于有豐富經(jīng)驗(yàn)的開(kāi)發(fā)者,亦可用來(lái)作為快速的邏輯驗(yàn)證平臺(tái)。典型的基于iCE40系列的開(kāi)源開(kāi)發(fā)板有iCEBreaker、UPduino、BlackIce、iCEstick、TinyFPGA 等,社區(qū)中擁有豐富的demo可用于驗(yàn)證測(cè)試,或者作為自己開(kāi)發(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)
- 板載撥碼開(kāi)關(guān)和RGB LED可用于測(cè)試
- 所有IO以標(biāo)準(zhǔn)PMOD接口引出,可用于開(kāi)發(fā)調(diào)試
iCELink
iCESugar實(shí)現(xiàn)了一個(gè)板載的調(diào)試器iCELink,您可僅用一根USB線便可實(shí)現(xiàn)FPGA的燒錄和調(diào)試,具體功能說(shuō)明如下:
- 拖拽燒錄,將綜合布線打包生成的bin文件(一般稱(chēng)之為配置或者邏輯)拖拽到iCELink的虛擬U盤(pán)中即可實(shí)現(xiàn)燒錄
- 虛擬串口,可用于和FPGA直接數(shù)據(jù)的發(fā)送接收
- 支持JTAG, 可對(duì)FPGA上實(shí)現(xiàn)的SoC進(jìn)行調(diào)試
- 通過(guò)MCO輸出12Mhz時(shí)鐘,作為FPGA的外部時(shí)鐘
虛擬機(jī)鏡像
鏈接:https://pan.baidu.com/s/1qVSdwM7DnFbaS0xdqsPNrA
提取碼:6gn3user: ubuntu
passwd: ubuntu
所有環(huán)境包括綜合(yosys),布線(nextpnr),打包(icesorm),編譯器(gcc) 已經(jīng)預(yù)制好,啟動(dòng)即可開(kāi)始使用。
開(kāi)發(fā)環(huán)境搭建
推薦使用虛擬機(jī)鏡像進(jìn)行開(kāi)發(fā)測(cè)試,簡(jiǎn)單方便。
FPGA工具鏈安裝請(qǐng)參考icestorm
gcc工具鏈安裝請(qǐng)參考 riscv-gnu-toolchainicesprog
是為iCESugar開(kāi)發(fā)的命令行燒寫(xiě)工具,倉(cāng)庫(kù)中已經(jīng)提供,依賴(lài)libusb和hidapi,若自行搭建環(huán)境需要安裝依賴(lài)的庫(kù)$sudo apt-get install libhidapi-dev
$sudo apt-get install libusb-1.0-0-dev
視頻教程
- 開(kāi)源FPGA開(kāi)發(fā)板-硬件介紹
- 開(kāi)源FPGA開(kāi)發(fā)板-開(kāi)發(fā)環(huán)境搭建
- 開(kāi)源FPGA開(kāi)發(fā)板-RISC-V SoC燒錄演示
FPGA教程
強(qiáng)烈推薦學(xué)習(xí)此教程,open-fpga-verilog-tutorial src/basic/open-fpga-verilog-tutorial
目錄中有對(duì)應(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/