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