開(kāi)源硬件領(lǐng)域MCU板卡很火,著名的Arduino、樹(shù)莓派(Raspberry Pi)、Micro:bit,開(kāi)源的MCU也是個(gè)熱門(mén)的話題,除了老牌的8051、OpenRisc等,這兩年的明星就是Risc V了,在中國(guó)集成電路大躍進(jìn)的加持下,它幾乎成了中國(guó)處理器追趕世界的一劑春藥。
兩天前窮途末路的MIPS也宣布要開(kāi)源了。
開(kāi)源要成功,最重要的是要形成一個(gè)良性的生態(tài),這個(gè)生態(tài)中缺少一個(gè)環(huán)節(jié),無(wú)論吵吵的多熱鬧,最后還是會(huì)散場(chǎng)。
很多人在問(wèn),FPGA領(lǐng)域有沒(méi)有開(kāi)源的平臺(tái)呢?在以前還真的難找見(jiàn),本來(lái)FPGA的器件廠商就鳳毛麟角了(本身也說(shuō)明了一定的問(wèn)題),支持FPGA開(kāi)發(fā)的工具更是難以靠民間的力量搞定了,從商業(yè)角度貌似沒(méi)有足夠的吸引力讓一些大的玩家去投入足夠的資源來(lái)構(gòu)建這么一個(gè)生態(tài)。
但在民間,仍不乏一些癡迷的技術(shù)高手,他們以玩轉(zhuǎn)技術(shù)、讓不可能變成可能作為人生最大的樂(lè)趣,他們利用僅有的一個(gè)后門(mén)通道 - Lattice的iCE40系列,熱烈地玩著,不問(wèn)前途,雖然小眾,但也收獲了越來(lái)越多的喝彩。
他們是小腳丫FPGA的榜樣,也許我們沒(méi)有足夠的力量像他們一樣在技術(shù)上探索如此之深,但我們的使命是讓FPGA更加接地氣、親民,通過(guò)自己的努力構(gòu)建盡可能完整的學(xué)習(xí)生態(tài)系統(tǒng),讓每個(gè)學(xué)習(xí)數(shù)字邏輯的學(xué)生都能掌握FPGA的使用。
在FPGA領(lǐng)域,Lattice的iCE40系列是硬件開(kāi)源領(lǐng)域最受歡迎的一款,在海外的駭客(Hacker,水平遠(yuǎn)高于我們碰到的Maker)工程師中知名度極高,無(wú)論是基于這個(gè)系列的板卡還是開(kāi)發(fā)工具都有眾多的玩家,尤其是Lattice最近新推出的iCE40UP5K - 非常低的價(jià)格(估計(jì)批量的單片售價(jià)低于10元RMB)、雖然有限的邏輯資源但能夠支持Sensor AI的功能,乃至支持現(xiàn)在如日中天的開(kāi)源處理器Risc V軟核,無(wú)疑iCE40UP5K將成為開(kāi)源FPGA屆的新星。
借Crowsupply上的一個(gè)眾籌產(chǎn)品來(lái)簡(jiǎn)單看看FPGA在開(kāi)源方面的一些探索,也讓一些學(xué)習(xí)fpga的朋友更直觀地體會(huì)一下究竟怎樣玩FPGA才能學(xué)到真的技能,對(duì)這個(gè)板子有興趣的朋友可以點(diǎn)擊左下角“閱讀原文”到達(dá)相應(yīng)的頁(yè)面上去詳細(xì)閱讀:
iCEBreaker FPGA板專(zhuān)為FPGA的初學(xué)者量身定制的,它支持最新的開(kāi)源FPGA 開(kāi)發(fā)工具以及下一代的開(kāi)源CPU架構(gòu)。iCEBreaker很輕松地跟各種Pmod外設(shè)進(jìn)行連接,可以有大量得第三方Pmod模塊可以選用,本板卡的設(shè)計(jì)者也專(zhuān)門(mén)制作了一系列的Pmod專(zhuān)用模塊。
性能指標(biāo)
核心器件使用Lattice iCE40UP5k FPGA
5280邏輯單元 (4-LUT + Carry + FF),跟我們Lattice版本的小腳丫FPGA資源相當(dāng),比Altera版本的邏輯資源少;
120 Kbit雙口RAM
1 Mbit (128 KByte)單口RAM,這個(gè)存儲(chǔ)量超過(guò)了我們小腳丫用的FPGA的內(nèi)部存儲(chǔ)器容量,這是它能支持CNN的原因;
PLL, 2 x SPI, 2 x I2C硬化的IPs
兩個(gè)內(nèi)部振蕩器 (10 kHz and 48 MHz) 大大簡(jiǎn)化設(shè)計(jì)
8個(gè)DSP乘法器塊用于信號(hào)處理,比如語(yǔ)音合成以及軟件定義無(wú)線電;
非常低的功耗,用于電池供電得場(chǎng)合
3個(gè)24 mA驅(qū)動(dòng)和 3 x hard IP PWM (可以直接驅(qū)動(dòng)RGB LED燈和小電流的馬達(dá))
足夠多、足夠快的存儲(chǔ)器
128 Mbit (16 MB) quad SPI double data rate (QSPI-DDR) flash
例如: 可以向LED點(diǎn)陣傳送視頻流
很多的I/O(其實(shí)UP5K FPGA的管腳很少,但也夠用了)
3個(gè)管腳用于RGB LED
2個(gè)用于板上的LEDs
一個(gè)UART端口, RX管腳和TX管腳可以通過(guò)虛擬USB串口進(jìn)行訪問(wèn)
一個(gè)按鍵
兩個(gè)Pmod連接器(總計(jì)16x管腳)
有一個(gè)可以掰下來(lái)的Pmod (8 x pins)
5個(gè)星型排列的LED燈
3個(gè)按鍵
足夠的資源支持CPU軟核!
picorv32
pico soc
RISC-V以及其它軟核
板上FPGA編程器以及USB到串行適配器
兼容IceStorm iceprog工具
簡(jiǎn)單, 同主機(jī)連接無(wú)需驅(qū)動(dòng)
Pmod連接器和Pmod模塊
這個(gè)板子有3種標(biāo)準(zhǔn)的Pmod連接器,可以做非常豐富的擴(kuò)展 - 可以用市場(chǎng)上眾多的現(xiàn)成的Pmod模塊,也可以自己設(shè)計(jì)專(zhuān)用的Pmod模塊,比如他們自己開(kāi)發(fā)得7段數(shù)碼管Pmod、DIP開(kāi)關(guān)Pmod、LED屏驅(qū)動(dòng)Pmod和一個(gè)HDMI輸出Pmod.
開(kāi)源的工具鏈
iCEBreaker FPGA原型板支持一下的開(kāi)源設(shè)計(jì)工具:
Yosys: 用于Verilog RTL綜合的框架;
Arachne-pnr: 針對(duì)iCE40 FPGA的布局布線工具
nextpnr: 時(shí)序驅(qū)動(dòng)的FPGA布局布線工具;
IceStorm: 針對(duì)iCE40 FPGA進(jìn)行分析和創(chuàng)建bitstreams的工具;
icestudio: 基于IceStorm的可視化編輯器
Migen: 基于Python的FPGA硬件設(shè)計(jì)工具包
iCEBreaker板子的框圖:
數(shù)碼管顯示Pmod和8位開(kāi)關(guān)Pmod
HDMI輸出Pmod
這個(gè)板子上用到的iCE40UP5k FPGA速度足夠快,能夠輸出720p的視頻!通過(guò)上圖中的HDMI Pmod模塊(支持12 bits/pixel)可以輸出800 x 600分辨率的測(cè)試圖案以及一個(gè)720p的圖案。
LED屏幕驅(qū)動(dòng)Pmod
大的視頻廣告板,采用很多小型的RGB LED燈組成,可以驅(qū)動(dòng)產(chǎn)生動(dòng)畫(huà)效果和視頻。
驅(qū)動(dòng)大的LED屏幕的Pmod
下面的表格是國(guó)外一些成型的開(kāi)源FPGA平臺(tái)的簡(jiǎn)單對(duì)比,從這個(gè)表格中可以看出,所有的FPGA器件都是來(lái)自Lattice的iCE40系列。
評(píng)論