這也是一個系列文章,來源之前和粉絲們在評論區討論的國外對于FPGA的開發或者入門所做的努力。
基本一篇文章會介紹一個FPGA開發板,重點在于為開發板準備的開發方式(和國內大不相同)。
今天的主角-PulseRain M10:像 Arduino 一樣玩 FPGA。核心愿景-像開發Arduino一樣開發FPGA。
硬件介紹
在過去的十年里,FPGA 器件已逐漸成為主流。如今,創客們不再需要使用硬核 MCU,而是可以定制所有外設,將軟核 MCU 嵌入 FPGA 中。PulseRain M10 正是為此而生,它采用深入硅片層的開源設計!
M10 開發板采用獨特的技術方案,將開源軟 MCU 內核(96MHz) 嵌入英特爾 MAX10 FPGA,同時提供與 Arduino 兼容的軟件接口和豐富的尺寸規格。此外,它還配備了語音編解碼器、microSD 卡插槽、SRAM、片上 ADC 和雙 IO 電壓等板載資源。


M10 開發板的架構如下圖所示。選擇的 FPGA 是 Altera 10M08SAE144C8G,它具有 8K LE、378KB Block RAM、172KB 閃存以及一個帶溫度傳感二極管的 8 通道 A/D 轉換器。開箱即用,已將運行頻率為 96MHz 的FP51-1T MCU預裝到這款 FPGA 中(開源地址:https://www.pulserain.com/)。


軟件
人們常說硬件是肌肉,軟件是大腦。為此,我們提出了以下幾點:

選擇 Arduino IDE 作為基于 GUI 的開發環境。從 V1.5 開始,Arduino IDE 支持第三方硬件集成。只需在“文件/首選項/附加板管理器 URL”中將“附加板管理器 URL”指向M10 GitHub 倉庫即可。然后在“工具/板/板管理器”中安裝板級支持包。
https://github.com/PulseRain/Arduino_M10_IDE
由于SDCC(http://sdcc.sourceforge.net/)是一款開源編譯器,因此將它集成到了 BSP 中。此外,還提供了基于 SDCC 的增強功能以及核心庫。 BSP 將所有繁瑣的細節都一一對應,開發人員可以輕松使用Arduino 語言進行編碼。這種新方法簡化了開發流程,使開發人員免于面對傳統方法中可能遇到的那些難題。
與使用軟件引導程序進行設備編程的 Arduino 不同,我們在 MCU 核心中內置了 OCD(片上調試器)。這種方法不僅節省了寶貴的片上 RAM,還使設備編程更加可靠和穩定。
使用帶有軟 MCU 內核的 FPGA 的最大優勢在于靈活性。硬件可以根據特定應用進行定制。 FPGA 外設庫支持各種設備,例如串行 SRAM、語音編解碼器、MicroSD 卡等。與其他 Arduino 開發板一樣,我們也通過 GitHub 提供軟件庫,并提供易于使用的界面。
詳細使用教程可以看下面的視頻:
更多資源請查看:
https://www.pulserain.com/m10

總結
首先該開發板軟硬件全開源,思路來源應該是想復刻Arduino的成功。
國外的工程師在研究開發板方面思路一直很“狂野”,一直致力于對開發方式的創新,但是本文的創新只在于頂層的創新,還沒觸到底層,所以今天只是開胃菜,后續還有更加底層的開發方式,盡情期待~
關于今天介紹的開發方式大家有什么想法或者意見,可以在評論區留言討論。