開源FPGA怎麼玩?能不能支持Risc V!

開源硬件領域MCU板卡很火,著名的Arduino、樹莓派(Raspberry Pi)、Micro:bit,開源的MCU也是個熱門的話題,除了老牌的8051、OpenRisc等,這兩年的明星就是 Risc V 了,在中國集成電路大躍進的加持下,它幾乎成了中國處理器追趕世界的一劑春藥。

兩天前窮途末路的MIPS也宣佈要開源了。

開源要成功,最重要的是要形成一個良性的生態,這個生態中缺少一個環節,無論吵吵的多熱鬧,最後還是會散場。

很多人在問, FPGA 領域有沒有開源的平臺呢?在以前還真的難找見,本來FPGA的器件廠商就鳳毛麟角了(本身也說明了一定的問題),支持FPGA開發的工具更是難以靠民間的力量搞定了,從商業角度貌似沒有足夠的吸引力讓一些大的玩家去投入足夠的資源來構建這麼一個生態。

但在民間,仍不乏一些痴迷的技術高手,他們以玩轉技術、讓不可能變成可能作為人生最大的樂趣,他們利用僅有的一個後門通道 - Lattice的iCE40系列,熱烈地玩著,不問前途,雖然小眾,但也收穫了越來越多的喝彩。

他們是小腳丫FPGA的榜樣,也許我們沒有足夠的力量像他們一樣在技術上探索如此之深,但我們的使命是讓FPGA更加接地氣、親民,通過自己的努力構建儘可能完整的學習生態系統,讓每個學習數字邏輯的學生都能掌握FPGA的使用。

在FPGA領域,Lattice的iCE40系列是硬件開源領域最受歡迎的一款,在海外的駭客(Hacker,水平遠高於我們碰到的Maker)工程師中知名度極高,無論是基於這個系列的板卡還是開發工具都有眾多的玩家,尤其是Lattice最近新推出的iCE40UP5K - 非常低的價格(估計批量的單片售價低於10元RMB)、雖然有限的邏輯資源但能夠支持Sensor AI的功能,乃至支持現在如日中天的開源處理器Risc V軟核,無疑iCE40UP5K將成為開源FPGA屆的新星。

借Crowsupply上的一個眾籌產品來簡單看看FPGA在開源方面的一些探索,也讓一些學習fpga的朋友更直觀地體會一下究竟怎樣玩FPGA才能學到真的技能,對這個板子有興趣的朋友可以點擊左下角“閱讀原文”到達相應的頁面上去詳細閱讀:

iCEBreaker FPGA板專為FPGA的初學者量身定製的,它支持最新的開源FPGA 開發工具以及下一代的開源CPU架構。iCEBreaker很輕鬆地跟各種Pmod外設進行連接,可以有大量得第三方Pmod模塊可以選用,本板卡的設計者也專門製作了一系列的Pmod專用模塊。


開源FPGA怎麼玩?能不能支持Risc V!


iCEBreaker的照片

性能指標

核心器件使用Lattice iCE40UP5k FPGA

5280邏輯單元 (4-LUT + Carry + FF),跟我們Lattice版本的小腳丫FPGA資源相當,比Altera版本的邏輯資源少;

120 Kbit雙口RAM

1 Mbit (128 KByte)單口RAM,這個存儲量超過了我們小腳丫用的FPGA的內部存儲器容量,這是它能支持CNN的原因;

PLL, 2 x SPI, 2 x I2C硬化的IPs

兩個內部振盪器 (10 kHz and 48 MHz) 大大簡化設計

8個DSP乘法器塊用於信號處理,比如語音合成以及軟件定義無線電;

非常低的功耗,用於電池供電得場合

3個24 mA驅動和 3 x hard IP PWM (可以直接驅動RGB LED燈和小電流的馬達)

足夠多、足夠快的存儲器

128 Mbit (16 MB) quad SPI double data rate (QSPI-DDR) flash

例如: 可以向LED點陣傳送視頻流

很多的I/O(其實UP5K FPGA的管腳很少,但也夠用了)

3個管腳用於RGB LED

2個用於板上的LEDs

一個UART端口, RX管腳和TX管腳可以通過虛擬USB串口進行訪問

一個按鍵

兩個Pmod 連接器 (總計16x管腳)

有一個可以掰下來的Pmod (8 x pins)

5個星型排列的LED燈

3個按鍵

足夠的資源支持CPU軟核!

picorv32

pico soc

RISC-V以及其它軟核

板上FPGA編程器以及USB到串行適配器

兼容IceStorm iceprog工具

簡單, 同主機連接無需驅動

Pmod連接器和Pmod模塊

這個板子有3種標準的Pmod連接器,可以做非常豐富的擴展 - 可以用市場上眾多的現成的Pmod模塊,也可以自己設計專用的Pmod模塊,比如他們自己開發得7段數碼管Pmod、DIP開關Pmod、LED屏驅動Pmod和一個HDMI輸出Pmod.


開源FPGA怎麼玩?能不能支持Risc V!


各種Pmod模塊


開源FPGA怎麼玩?能不能支持Risc V!


開源的工具鏈

iCEBreaker FPGA原型板支持一下的開源設計工具:

Yosys: 用於Verilog RTL綜合的框架;

Arachne-pnr: 針對iCE40 FPGA的佈局佈線工具

nextpnr: 時序驅動的FPGA佈局佈線工具;

IceStorm: 針對iCE40 FPGA進行分析和創建bitstreams的工具;

icestudio: 基於IceStorm的可視化編輯器

Migen: 基於Python的FPGA硬件設計工具包


開源FPGA怎麼玩?能不能支持Risc V!


ICEStudio的界面


開源FPGA怎麼玩?能不能支持Risc V!


Nextpnr的界面

iCEBreaker板子的框圖:


開源FPGA怎麼玩?能不能支持Risc V!



開源FPGA怎麼玩?能不能支持Risc V!



開源FPGA怎麼玩?能不能支持Risc V!


下面幾張圖是這個FPGA的製作者去年參加我們母公司SupplyFrame在Pasadena舉辦的Hackaday SuperCon的狀況;


開源FPGA怎麼玩?能不能支持Risc V!



開源FPGA怎麼玩?能不能支持Risc V!



開源FPGA怎麼玩?能不能支持Risc V!



開源FPGA怎麼玩?能不能支持Risc V!


數碼管顯示Pmod和8位開關Pmod


開源FPGA怎麼玩?能不能支持Risc V!


HDMI輸出Pmod


開源FPGA怎麼玩?能不能支持Risc V!


這個板子上用到的iCE40UP5k FPGA速度足夠快,能夠輸出720p的視頻!通過上圖中的HDMI Pmod模塊(支持12 bits/pixel)可以輸出800 x 600分辨率的測試圖案以及一個720p的圖案。

LED屏幕驅動Pmod


開源FPGA怎麼玩?能不能支持Risc V!


大的視頻廣告板,採用很多小型的RGB LED燈組成,可以驅動產生動畫效果和視頻。


開源FPGA怎麼玩?能不能支持Risc V!


驅動大的LED屏幕的Pmod


開源FPGA怎麼玩?能不能支持Risc V!



開源FPGA怎麼玩?能不能支持Risc V!


下面的表格是國外一些成型的開源FPGA平臺的簡單對比,從這個表格中可以看出,所有的FPGA器件都是來自Lattice的iCE40系列。


開源FPGA怎麼玩?能不能支持Risc V!


【如果你喜歡EDA365的文章,記得關注和點贊哦!】


分享到:


相關文章: