兩年前在Twitter上看到一個網站ZIPCPU分享的信息,沒太在意,畢竟RISC-V處理器很火,而看ZIPCPU的處理器并沒有號稱是第五代這么炙手可熱的一個,且感覺CPU這個領域感覺離我們學習FPGA還是有點遠。
最近要用DDR的方式將ADC/DAC和FPGA數據連起來,就搜尋一些資料,又遇到ZIPCPU,碰巧看到這個網站上的一些技術文章非常有營養,入迷閱讀了一下,發現篇篇都是作者的精品奉獻,從原理到實際操作,由淺入深。比如關于PWM:https://zipcpu.com/dsp/2017/09/04/pwm-reinvention.html ?


給你截然不同的認識。
比如如何構建和調試FFT:



比如用多種方式構建正弦波表:


如何設計數字濾波器:

當然它的核心還是構建一個32位的CPU:

這個CPU內核全部開源,不依賴任何一家的FPGA,也就是說你用Xilinx、Intel、Lattice的FPGA都可以使用,并且所有的功能模塊 - UART、I2C、SD卡、DDR、Ethernet等都是用邏輯寫的,沒有調用這些廠商現成的IP。
如何調試CPU

這些功能模塊資源對我們就是非常好的參考。
這個網站除了這些非常詳盡、專業的技術文章外,還有一套適合FPGA初學者入門的教程,有PDF格式的PPT文件以及參考代碼。

無論你是FPGA的初學者,還是進階的工程師,在這個網站上你都可以找到非常有價值的參考資源,你所需要的就是用“英文”來閱讀。
我們“寒假一起練”的FPGA平臺之一:
用FPGA來做嵌入式系統的有趣功能 - “2022寒假在家一起練”參考(2)

采用的是Lattice的iCE40UP5K,一款非常適合于做軟核的FPGA芯片,在項目目標中設定了RISC-V的移植,當然同學們也可以試一下這個ZipCPU,按照這個網站的技術資料和教程,在我們的iCE40 FPGA平臺上把它跑起來。
同時,我已經把這個網站上的資源做了匯總,放在電子森林里:
你可以點擊左下角的“閱讀原文”跳轉,希望能夠對FPGA的入門者、嘗試實現CPU功能的同學有所幫助。
周末愉快!