開源硬件領域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專用模塊。
性能指標
核心器件使用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.
開源的工具鏈
iCEBreaker FPGA原型板支持一下的開源設計工具:
Yosys: 用于Verilog RTL綜合的框架;
Arachne-pnr: 針對iCE40 FPGA的布局布線工具
nextpnr: 時序驅動的FPGA布局布線工具;
IceStorm: 針對iCE40 FPGA進行分析和創建bitstreams的工具;
icestudio: 基于IceStorm的可視化編輯器
Migen: 基于Python的FPGA硬件設計工具包
iCEBreaker板子的框圖:
數碼管顯示Pmod和8位開關Pmod
HDMI輸出Pmod
這個板子上用到的iCE40UP5k FPGA速度足夠快,能夠輸出720p的視頻!通過上圖中的HDMI Pmod模塊(支持12 bits/pixel)可以輸出800 x 600分辨率的測試圖案以及一個720p的圖案。
LED屏幕驅動Pmod
大的視頻廣告板,采用很多小型的RGB LED燈組成,可以驅動產生動畫效果和視頻。
驅動大的LED屏幕的Pmod
下面的表格是國外一些成型的開源FPGA平臺的簡單對比,從這個表格中可以看出,所有的FPGA器件都是來自Lattice的iCE40系列。
評論
查看更多