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