大家好,我是來自印度卡納塔克邦國立技術(shù)學(xué)院的高級EE本科生Shivam Potdar。大約一年前,我通過CS61C和UC Berkeley的課程內(nèi)容接觸到了RISC-V 。然后,我有機會作為自由和開源硅基金會(FOSSi)的Google Summer of Code(GSoC)學(xué)生,探索幾種新穎的技術(shù),這些技術(shù)與RISC-V一起將塑造我們的未來行業(yè)。現(xiàn)在,它已成為知識和探索的永無止境的旅程。
我是Shivam Potdar,來自印度卡納塔克國立理工學(xué)院的EE大四學(xué)生。大約一年前,通過加州大學(xué)伯克利分校CS61C的課程內(nèi)容,我接觸到了RISC-V。
然后,我得到了一個機會,作為自由和開源硅基金會(FOSSi)的Google Summer of Code (GSoC)學(xué)生,探索了幾項新技術(shù),這些技術(shù)加上RISC-V,將塑造我們行業(yè)的未來。現(xiàn)在,它已經(jīng)變成了一個永無止境的知識和探索之旅。
GSoC是谷歌資助的一個項目,鼓勵學(xué)生為開源項目做貢獻。由于RISC-V的成立以及FOSSi、lowRISC、Symbiflow、BeagleBoard.org等組織,開源硬件項目的參與度越來越高。
RISC-V最令人興奮的一個方面是它為多個領(lǐng)域的新想法提供了一個開放的場所。它已經(jīng)成為OpenTitan等架構(gòu)創(chuàng)新的首選,也成為展示諸如Chisel(Rocket芯片、SiFive內(nèi)核)、SpinalHDL(VexRiscv)、BlueSpec(Shakti處理器)等新HDL的首選。
以下是我在這個暑假期間所作的一些探索:
用TL-Verilog進行事務(wù)級建模
使用Makerchip輕松進行設(shè)計和調(diào)試
開源硬件和免費提供的設(shè)計工具
開源形式驗證
異構(gòu)的ISA多核平臺
我致力于增強一個名為WARP-V的RISC-V內(nèi)核,采用TL-Verilog的前瞻性設(shè)計方法,并與OpenPiton(一個用SystemVerilog編寫的開源多核框架)集成。
TL-Verilog是對SystemVerilog的革命性擴展,由我的GSoC導(dǎo)師Steve Hoover領(lǐng)導(dǎo)。它在事務(wù)層面對系統(tǒng)進行建模,具有時序抽象、高度可參數(shù)化、靈活、易學(xué)習(xí)/調(diào)試/文檔的特點,并顯著減少了代碼大小。它既不是HLS,也不是應(yīng)用于硬件的編程語言,而是一個具有現(xiàn)代特征的抽象,使建模非常接近硬件。
Makerchip.com是一個免費的基于Web的TL-Verilog集成開發(fā)環(huán)境,它支持設(shè)計、調(diào)試、仿真和Verilog轉(zhuǎn)譯都在瀏覽器標簽中完成!WARP-V主要是在這個平臺上開發(fā)的。SandPiper是TL-Verilog的編譯器,將其翻譯成可綜合的(System)Verilog,與開放源代碼和經(jīng)過行業(yè)驗證的設(shè)計流程兼容。
在學(xué)校里,我花了幾個星期的時間進行設(shè)計和調(diào)試,才用Verilog / VHDL完成了一個基本的MIPS實現(xiàn)。另一方面,我是由Steve和Kunal Ghosh組織的“RISC-V 30小時內(nèi)為你服務(wù)(MYTH)”研討會的中的助教。大約有200名參與者,其中許多人沒有數(shù)字設(shè)計的背景,他們學(xué)習(xí)了RISC-V,并在短短五天內(nèi)為社區(qū)貢獻了35個TL-Verilog核。我將在10月8日的VSDOpen 2020上再次幫助舉辦類似的研討會,該研討會將在1.5小時內(nèi)來介紹TL-Verilog!
WARP-V在TL-Verilog中提供了一個高度可配置的CPU,支持各種流水線深度,WARP-V在TL-Verilog中呈現(xiàn)了一個高度可配置的CPU,支持各種流水線深度、長延遲指令、分支預(yù)測、時鐘門控、內(nèi)聯(lián)匯編器,甚至是多個ISA! 對于RISC-V,內(nèi)核支持RV32I[M][F],也通過了riscv-formal的正式驗證。它還使用Steve的定制邏輯即服務(wù)項目--1st CLaaS在AWS FPGA上進行了表征和測試。對于RISC-V,內(nèi)核支持RV32I [M] [F],該產(chǎn)品也已通過riscv-formal進行了正式驗證。還使用Steve的定制邏輯即服務(wù)項目1st CLaaS在AWS FPGA上對它進行了仿真和測試。
OpenPiton是一個多核研究平臺,通過向內(nèi)核提供內(nèi)存子系統(tǒng)、IO接口、緩存和共享資源來支持異構(gòu)ISA。它兼容SPARC、RISC-V和x86,以及已有的幾種外設(shè)。
暑假期間,我致力于在WARP-V中添加RISC-V M型擴展,對其進行正式驗證,并通過支持長等待時間指令并提供外部存儲器接口來為OpenPiton集成做準備。
在過去的幾個月里,我可以觀察到RISC-V的巨大增長速度。這個生態(tài)系統(tǒng)是如此的開放和包容,以至于我今天成為了RISC-V國際的社區(qū)成員,并參與各種在線聚會、網(wǎng)絡(luò)研討會和全球論壇等活動。
今天,我們可以通過Symbiflow、Openlane、Yosys、Verilator和Skywater PDK等FOSS工具來執(zhí)行整個RTL到GDS的流程,包括FPGA仿真、模擬和制造。這些工具和技術(shù)(如TL-Verilog與RISC-V搭配)所支持的現(xiàn)代方法論確實將改變半導(dǎo)體產(chǎn)業(yè)。
有人恰當?shù)貙ISC-V表示為硬件的Linux。令人振奮的是,看到硬件的民主化和行業(yè)變化的動態(tài),如今,即使是無晶圓廠的初創(chuàng)企業(yè)也可以與老牌巨頭競爭。作為一名即將進入該領(lǐng)域的學(xué)生,RISC-V的前景一片光明。
看了以上內(nèi)容,總感覺和前一段時間刷屏的國科大本科生RISC-V流片的不太一樣,感覺到我們更加偏重于應(yīng)用實現(xiàn),而這個印度學(xué)生所作的更像是在做更多的研究與探索。雖然沒有流片,但是總體來說這個印度本科生所做的并不比我們差。