RISC-V(跟我讀:“risk----------------five”)是一個(gè)基于精簡(jiǎn)指令集(RISC)原則的開源指令集架構(gòu)(ISA)。
這里要明確兩個(gè)概念:指令集規(guī)范(Specification)和處理器實(shí)現(xiàn)(Implementation)是兩個(gè)不同層次的概念,要區(qū)分開。指令集(ISA)是規(guī)范標(biāo)準(zhǔn),往往用一本書或幾張紙來記錄描述,而處理器實(shí)現(xiàn)是基于指令集規(guī)范完成的源代碼。RISC-V是一個(gè)指令集規(guī)范。
我們可以基于x86/ARM/ RISC-V指令集,進(jìn)行處理器微架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)形成源代碼,并通過流片最終形成芯片產(chǎn)品。其中指令集規(guī)范與處理器實(shí)現(xiàn)的知識(shí)產(chǎn)權(quán)是獨(dú)立的,不能混為一談。
"RISC-V是開源的"表示指令集規(guī)范是開源、開放和免費(fèi)的(open and free),這與x86與ARM指令集有本質(zhì)不同,但并不是指具體的處理器實(shí)現(xiàn)也都是開源免費(fèi)的。
基于RISC-V指令集規(guī)范,既可以由開源社區(qū)來開發(fā)開源免費(fèi)版的處理器實(shí)現(xiàn)(如Berkeley開發(fā)的Rocket核等),也可以有商業(yè)公司開發(fā)收費(fèi)授權(quán)版的處理器實(shí)現(xiàn)(如國內(nèi)平頭哥玄鐵910、芯來N200核與優(yōu)矽渭河WH-32核等)。
(以上來源:https://mp.weixin.qq.com/s/9PX5n_ZPjWM1OyqnijlIPw,版權(quán)歸文章作者所有)
國內(nèi)廠商在做的工作
RISC-V架構(gòu)目前國內(nèi)有不少院所和公司在做相關(guān)的工作,芯來,平頭哥在做IP,兆易創(chuàng)新已經(jīng)推出了基于芯來的N200定制的GD32VF103產(chǎn)品線,一些公司在基于平頭哥的IP做SoC,嘉楠科技在去年推出了音視頻AI專用的K210,中科藍(lán)訊推出了一系列基于RISC-V架構(gòu)的藍(lán)牙芯片,出貨量極大,其宣稱是全球首家RISC-V應(yīng)用量過億(顆)的公司,而且全部搭載國產(chǎn)開源RT-Thread物聯(lián)網(wǎng)操作系統(tǒng)。公眾號(hào):OpenFPGA
(以上來源 鏈接:https://www.zhihu.com/question/274106611/answer/975894883,版權(quán)歸作者所有)
更完整的總結(jié)查看《RISC-V指令集架構(gòu)介紹及國內(nèi)外廠商介紹》。
下面按照實(shí)現(xiàn)難度大致排序
新增1、tinyriscv
tinyriscv
完整的項(xiàng)目說明:
?https://liangkangnan.gitee.io/2020/04/29/%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E5%86%99RISC-V%E5%A4%84%E7%90%86%E5%99%A8/
?
實(shí)現(xiàn)的是一個(gè)單核32位的小型RISC-V處理器核(tinyriscv),采用verilog語言編寫。設(shè)計(jì)目標(biāo)是對(duì)標(biāo)ARM Cortex-M3系列處理器。tinyriscv有以下特點(diǎn):
- 支持RV32IM指令集,通過RISC-V指令兼容性測(cè)試;
- 采用三級(jí)流水線,即取指,譯碼,執(zhí)行;
- 可以運(yùn)行C語言程序;
- 支持JTAG,可以通過openocd讀寫內(nèi)存(在線更新程序);
- 支持中斷;
- 支持總線;
- 支持FreeRTOS;
- 支持通過串口更新程序;
- 容易移植到任何FPGA平臺(tái)(如果資源足夠的話);
整體架構(gòu)
?https://gitee.com/liangkangnan/tinyriscv
?
詳細(xì)的中文設(shè)計(jì)說明,非常適合入門!
新增2、ridecore
?
?https://github.com/ridecore/ridecore
RIDECORE (RISc-v Dynamic Execution CORE) 是一個(gè)用 Verilog HDL 編寫的亂序 RISC-V 處理器。
?
RIDECORE 的微架構(gòu)基于“現(xiàn)代處理器設(shè)計(jì):超標(biāo)量處理器的基礎(chǔ)”(https://www.waveland.com/browse.php?t=624&r=d|259)。因此,我們建議用戶在使用 RIDECORE 之前閱讀本書和我們的文檔 (doc/ridecore_document.pdf)。
到目前為止,我們的 FPGA 原型設(shè)計(jì)已經(jīng)在?Xilinx VC707 板進(jìn)行了原型驗(yàn)證。該原型可以在 50MHz 的時(shí)鐘頻率下運(yùn)行。
ridecode的架構(gòu)如下:
?
?
?
?
1、darkriscv
一晚從頭開始實(shí)現(xiàn)開源RISC-V!
盡管與其他 RISC-V 實(shí)現(xiàn)相比,代碼小而粗糙,但是作為初學(xué)或者初識(shí)RISC-V很友善(簡(jiǎn)易)。雖然很簡(jiǎn)易,但DarkRISCV具有許多令人印象深刻的功能:
- 實(shí)現(xiàn)大部分 RISC-V RV32E 指令集
- 實(shí)現(xiàn)大部分RISC-V RV32I指令集(缺少csr*、e和fence)
- 在超大規(guī)模 ku040 中工作頻率高達(dá) 250MHz(400MHz 帶超頻!)
- 便宜的 spartan-6 高達(dá) 100MHz,適合小型 spartan-3E,例如 XC3S100E!
- 大多數(shù)時(shí)間(通常是 71% 的時(shí)間)可以維持每條指令 1 個(gè)時(shí)鐘
- 靈活的哈佛架構(gòu)(易于集成緩存控制器、總線橋等)
- 在 xilinx(spartan-3、spartan-6、spartan-7、artix-7、kintex-7 和 kintex ultrascale)中運(yùn)行良好
- 與一些altera和lattice FPGA一起工作得很好
- 適用于 RISC-V 的 gcc 9.0.0(無需補(bǔ)丁?。?/li>
- 使用 850-1500LUT(核心僅使用 LUT6 技術(shù),取決于啟用的功能和優(yōu)化)
- 可選的 RV32E 支持(與 LUT4 FPGA 配合使用效果更好)
- 可選的 16x16 位 MAC 指令(用于數(shù)字信號(hào)處理)
- 可選的粗粒度多線程 (MT)
- 流水線階段之間沒有互鎖!
- BSD 許可證:可以在任何地方使用,沒有限制!
是不是迫不及待去試一試了!
?https://github.com/darklife/darkriscv
2、picoRiscV
這個(gè)其實(shí)不需要過多介紹了,小巧且完善的RISC-V。
PicoRV32 是實(shí)現(xiàn)RISC-V RV32IMC 指令集的 CPU 內(nèi)核。它可以配置為 RV32E、RV32I、RV32IC、RV32IM 或 RV32IMC 內(nèi)核,并可選擇包含內(nèi)置中斷控制器。
特點(diǎn):
- 小型(7 系列 Xilinx 架構(gòu)中的 750-2000 個(gè) LUT)
- 高 fmax(7 系列 Xilinx FPGA 上為 250-450 MHz)
- 可選擇的本機(jī)內(nèi)存接口或 AXI4-Lite 主控
- 可選的 IRQ 支持(使用簡(jiǎn)單的自定義 ISA)
- 可選的協(xié)處理器接口
- 該 CPU 旨在用作 FPGA 設(shè)計(jì)和 ASIC 中的輔助處理器。由于其高fmax,它可以集成到大多數(shù)現(xiàn)有設(shè)計(jì)中,而無需跨越時(shí)鐘域。當(dāng)在較低頻率下運(yùn)行時(shí),它會(huì)有很多時(shí)序裕量,因此可以添加到設(shè)計(jì)中而不會(huì)影響時(shí)序收斂。
?官方地址:https://bitbucket.org/casl/shakti_public
?https://github.com/cliffordwolf/picorv32
3、cva6
CVA6 是一個(gè) 6 級(jí)、有序 CPU,它實(shí)現(xiàn)了 64 位 RISC-V 指令集。它完全實(shí)現(xiàn)了 I、M、A 和 C 擴(kuò)展,如第 I 卷:用戶級(jí) ISA V 2.3 以及特權(quán)擴(kuò)展草案 1.10 中所述。它實(shí)現(xiàn)了三個(gè)權(quán)限級(jí)別 M、S、U 以完全支持類 Unix 操作系統(tǒng)。公眾號(hào):OpenFPGA
它具有可配置的大小、單獨(dú)的 TLB、硬件 PTW 和分支預(yù)測(cè)(分支目標(biāo)緩沖區(qū)和分支歷史表)。主要設(shè)計(jì)目標(biāo)是減少關(guān)鍵路徑長(zhǎng)度。
?https://github.com/openhwgroup/cva6
4、VexRiscv
用 SpinalHDL 編寫的 RISC-V 實(shí)現(xiàn)。以下是一些規(guī)格:
- RV32I[M][A][F[D]][C] 指令集
- 流水線從 2 到 5+ 個(gè)階段([Fetch*X]、Decode、Execute、[Memory]、[WriteBack])
- 1.44 DMIPS/Mhz --no-inline 當(dāng)幾乎所有功能都啟用時(shí)(1.57 DMIPS/Mhz 當(dāng)分頻器查找表啟用時(shí))
- 針對(duì) FPGA 進(jìn)行了優(yōu)化,不使用任何供應(yīng)商特定的 IP /原語
- AXI4、Avalon、wishbone
- 可選的 MUL/DIV 擴(kuò)展
- 可選 F32/F64 FPU(目前需要數(shù)據(jù)緩存)
- 可選的指令和數(shù)據(jù)緩存,
- 可選硬件重新填充 MMU
- 可選的調(diào)試擴(kuò)展允許通過 GDB >> openOCD >> JTAG 連接進(jìn)行 Eclipse 調(diào)試
- RISC-V 特權(quán) ISA 規(guī)范 v1.10 中定義的機(jī)器、[Supervisor] 和 [User] 模式的可選中斷和異常處理。
- 移位指令的兩種實(shí)現(xiàn):?jiǎn)沃芷冢ㄈ笆揭莆黄鳎┖蛃hiftNumber周期
- 每個(gè)階段可以有可選的旁路或互鎖危險(xiǎn)邏輯
- Linux 兼容(SoC:https : //github.com/enjoy-digital/linux-on-litex-vexriscv)
- Zephyr兼容
- FreeRTOS 端口
下面是運(yùn)行的最高主頻及消耗的資源:
VexRiscv?small?(RV32I,?0.52?DMIPS/Mhz,?no?datapath?bypass,?no?interrupt)?->
????Artix?7?????->?243?Mhz?504?LUT?505?FF?
????Cyclone?V???->?174?Mhz?352?ALMs
????Cyclone?IV??->?179?Mhz?731?LUT?494?FF?
????iCE40???????->?92?Mhz?1130?LC
VexRiscv?small?(RV32I,?0.52?DMIPS/Mhz,?no?datapath?bypass)?->
????Artix?7?????->?240?Mhz?556?LUT?566?FF?
????Cyclone?V???->?194?Mhz?394?ALMs
????Cyclone?IV??->?174?Mhz?831?LUT?555?FF?
????iCE40???????->?85?Mhz?1292?LC
VexRiscv?small?and?productive?(RV32I,?0.82?DMIPS/Mhz)??->
????Artix?7?????->?232?Mhz?816?LUT?534?FF?
????Cyclone?V???->?155?Mhz?492?ALMs
????Cyclone?IV??->?155?Mhz?1,111?LUT?530?FF?
????iCE40???????->?63?Mhz?1596?LC
VexRiscv?small?and?productive?with?I$?(RV32I,?0.70?DMIPS/Mhz,?4KB-I$)??->
????Artix?7?????->?220?Mhz?730?LUT?570?FF?
????Cyclone?V???->?142?Mhz?501?ALMs
????Cyclone?IV??->?150?Mhz?1,139?LUT?536?FF?
????iCE40???????->?66?Mhz?1680?LC
VexRiscv?full?no?cache?(RV32IM,?1.21?DMIPS/Mhz?2.30?Coremark/Mhz,?single?cycle?barrel?shifter,?debug?module,?catch?exceptions,?static?branch)?->
????Artix?7?????->?216?Mhz?1418?LUT?949?FF?
????Cyclone?V???->?133?Mhz?933?ALMs
????Cyclone?IV??->?143?Mhz?2,076?LUT?972?FF?
VexRiscv?full?(RV32IM,?1.21?DMIPS/Mhz?2.30?Coremark/Mhz?with?cache?trashing,?4KB-I$,4KB-D$,?single?cycle?barrel?shifter,?debug?module,?catch?exceptions,?static?branch)?->
????Artix?7?????->?199?Mhz?1840?LUT?1158?FF?
????Cyclone?V???->?141?Mhz?1,166?ALMs
????Cyclone?IV??->?131?Mhz?2,407?LUT?1,067?FF?
VexRiscv?full?max?perf?(HZ*IPC)?->?(RV32IM,?1.38?DMIPS/Mhz?2.57?Coremark/Mhz,?8KB-I$,8KB-D$,?single?cycle?barrel?shifter,?debug?module,?catch?exceptions,?dynamic?branch?prediction?in?the?fetch?stage,?branch?and?shift?operations?done?in?the?Execute?stage)?->
????Artix?7?????->?200?Mhz?1935?LUT?1216?FF?
????Cyclone?V???->?130?Mhz?1,166?ALMs
????Cyclone?IV??->?126?Mhz?2,484?LUT?1,120?FF?
VexRiscv?full?with?MMU?(RV32IM,?1.24?DMIPS/Mhz?2.35?Coremark/Mhz,?with?cache?trashing,?4KB-I$,?4KB-D$,?single?cycle?barrel?shifter,?debug?module,?catch?exceptions,?dynamic?branch,?MMU)?->
????Artix?7?????->?151?Mhz?2021?LUT?1541?FF?
????Cyclone?V???->?124?Mhz?1,368?ALMs
????Cyclone?IV?->?128?Mhz?2,826?LUT?1,474?FF?
VexRiscv?linux?balanced?(RV32IMA,?1.21?DMIPS/Mhz?2.27?Coremark/Mhz,?with?cache?trashing,?4KB-I$,?4KB-D$,?single?cycle?barrel?shifter,?catch?exceptions,?static?branch,?MMU,?Supervisor,?Compatible?with?mainstream?linux)?->
????Artix?7?????->?180?Mhz?2883?LUT?2130?FF?
????Cyclone?V???->?131?Mhz?1,764?ALMs
????Cyclone?IV??->?121?Mhz?3,608?LUT?2,082?FF?
VexRiscv有個(gè)官方的SoC:Briey,使用AXI接口。和Rocket Chip一樣,支持Verilator+OpenOCD+GDB仿真。和Rocketchip一樣都是使用scala解釋器sbt工具.
關(guān)于Spinal,可以查看《從Verilog到SpinalHDL》。
?https://github.com/SpinalHDL/VexRiscv
以上幾個(gè)小項(xiàng)目都適合了解和入門RISC-V,簡(jiǎn)易是最大的特點(diǎn),最主要的是都可以在FPGA開發(fā)板上運(yùn)行,而且對(duì)FPGA要求也不高。
接下來就是幾個(gè)成熟點(diǎn)的項(xiàng)目了。
5、平頭哥無劍100
平頭哥無劍100
?文檔目錄如下:
|--Project????????????????//open?source?project?work?directory??
??|--riscv_toolchain??????//tool?chain?install?directory?download?from?t-head.cn
??|--wujian100_open???????//wujian100_open?project?get?from?github
????|--case???????????????//test?case?example?for?simulation
????|--doc????????????????//wujian100_open?user?guide
????|--fpga???????????????//FPGA?script
????|--lib????????????????//compile?script?for?simulation
????|--regress????????????//regression?result
????|--sdk????????????????//software?design?kit
????|--soc????????????????//Soc?RTL?source?code
????|--tb?????????????????//test?bench
????|--tools??????????????//simulation?script?and?setup?file
????|--workdir????????????//simulation?directory
????|--LICENSE
????|--README.md
?https://github.com/T-head-Semi/wujian100_open
6、Hummingbirdv2 E203 Core and SoC
芯來科技研發(fā)的一款RISC-V core&SOC,是SI-RISCV/e200_opensource (https://github.com/SI-RISCV/e200_opensource)的進(jìn)階版。
該存儲(chǔ)庫托管開源 Hummingbirdv2 E203 RISC-V 處理器內(nèi)核和 SoC 的項(xiàng)目,它由基于中國大陸的領(lǐng)先 RISC-V IP 和解決方案公司Nuclei System Technology開發(fā)和開源。公眾號(hào):OpenFPGA
這是SI-RISCV/e200_opensource中維護(hù)的Hummingbird E203項(xiàng)目的升級(jí)版,所以我們稱之為Hummingbirdv2 E203.
在這個(gè)新版本中,我們有以下更新。
- 為 E203 內(nèi)核添加 NICE(Nuclei Instruction Co-unit Extension),因此用戶可以輕松創(chuàng)建帶有 E203 內(nèi)核的定制硬件協(xié)同單元。
- 將PULP Platform的APB接口外設(shè)(GPIO、I2C、UART、SPI、PWM)集成到Hummingbirdv2 SoC中,這些外設(shè)采用Verilog語言實(shí)現(xiàn),便于用戶理解。
- 為 Hummingbirdv2 SoC 添加新的開發(fā)板(Nuclei ddr200t 和 mcu200t)支持。
歡迎訪問https://github.com/riscv-mcu/hbird-sdk/使用蜂鳥 E203 軟件開發(fā)包。
歡迎訪問https://www.rvmcu.com/community.html參與蜂鳥E203的討論。
??https://github.com/SI-RISCV/e200_opensource
?https://github.com/riscv-mcu/e203_hbirdv2
7、香山開源高性能處理器
“香山”基于Chisel語言開發(fā),支持多核,采用亂序執(zhí)行、11級(jí)流水、6發(fā)射。采用28nm臺(tái)積電工藝預(yù)計(jì)達(dá)到1.3Ghz主頻,采用中芯國際14nm工藝預(yù)計(jì)達(dá)到2Ghz主頻。性能評(píng)估為7/Ghz(SEPC2006),換言之,第一版的雁棲湖架構(gòu)對(duì)標(biāo)的是ARM A72/A73。
“香山”第二代南湖架構(gòu)的目標(biāo)是10/G,在采用中芯國際14nm工藝的情況下主頻達(dá)到2Ghz。從參數(shù)上看,南湖架構(gòu)對(duì)標(biāo)的是A76,2G主頻下SPEC06達(dá)到20分。如果能夠?qū)崿F(xiàn)這一設(shè)計(jì)目標(biāo),裸CPU性能在RISC-V處理器中是首屈一指的。
?
更詳細(xì)介紹《不采用Verilog,RTL開源!國產(chǎn)香山RISC-V高性能處理器問世!亂序執(zhí)行、11級(jí)流水、6發(fā)射!性能堪比A76》。
架構(gòu)如下:
知乎首頁:https://www.zhihu.com/people/openxiangshan
關(guān)于Chisel和Spinal介紹《https://zhuanlan.zhihu.com/p/89249985》。
?https://github.com/OpenXiangShan/XiangShan
8、木心處理器
木心處理器是一系列易于學(xué)習(xí)的 RISC-V 處理器和相關(guān)的基于 VSCode 的 IDE 稱為 TreeCore,具有豐富、詳細(xì)和交互式的在線教程,對(duì)初學(xué)者很友好。基于 VSCode 的 IDE 集成了代碼分析、波形模擬功能,可以自動(dòng)從云服務(wù)器中查找和組裝特定的工具鏈、IP 核和庫依賴項(xiàng),以開發(fā)處理器或應(yīng)用程序。
特征:
- 對(duì)verilog、vhdl、chisel 和spinalHDL 的完整語言支持。
- 現(xiàn)代用戶界面
- 輕便、開箱即用的功能
- GPU 加速以實(shí)現(xiàn)快速實(shí)時(shí)渲染
?https://github.com/microdynamics-cpu/tree-core-ide
9、Rocket
(UCB)標(biāo)量處理器:64位、5級(jí)流水線、但發(fā)射順序執(zhí)行處理器,特征:
- 支持MMU,支持分頁虛擬內(nèi)存??梢砸浦驳絃inux操作系統(tǒng)
- 具有兼容的的IEEE 754-2008標(biāo)準(zhǔn)的FPU
- 具有分支預(yù)測(cè)功能,具有BPB(Branch Prediction Buff)、BHT(Branch History Table)、RAS(Return Address Stack)
Rocket同樣采用Chisel語言編寫;
?https://github.com/freechipsproject/rocket-chip
10、BOOM
(UCB)超標(biāo)量亂序執(zhí)行處理器;
?https://github.com/riscv-boom/riscv-boom
11、Sodor
(UCB)針對(duì)教學(xué)的32位開源處理器。Chisel編寫,支持5種處理器:?jiǎn)沃芷谔幚砥鳌?級(jí)流水線處理器、3級(jí)流水線處理器、5級(jí)流水線處理器、可執(zhí)行微碼的處理器。公眾號(hào):OpenFPGA
早期出于教學(xué)目的處理器,使用Chisel編寫,沒有什么實(shí)際商用價(jià)值。已經(jīng)很長(zhǎng)時(shí)間沒有更新了。
結(jié)構(gòu)相對(duì)清晰一些,如對(duì)不同深度PipeLine都有描述(分別有1階、2階、3階和5階);可以作為很好的示范代碼
?https://github.com/ucb-bar/riscv-sodor
12、YARVI
VARVI是RISC-V愛好者Tommy Thorn設(shè)計(jì)發(fā)布的簡(jiǎn)單的、32位開源處理器,實(shí)現(xiàn)了RV32I,使用Verilog,目標(biāo)是為了能夠清晰準(zhǔn)確的實(shí)現(xiàn)RV32I
?https://github.com/tommythorn/yarvi
13、Pulpino
由蘇黎世聯(lián)邦理工大學(xué)與意大利博洛尼亞大學(xué)聯(lián)合開發(fā)。32位,指令集:RV32I/RV32C/RV32M,擴(kuò)展了RISC-V指令;多核
??網(wǎng)址:https://www.pulp-platform.org/
?https://github.com/pulp-platform/pulpino
14、GRVI Phalanx
大規(guī)模并行RISC-V(最多到千核),2~3級(jí)流水線,32位,其中在Artix-7 35T開發(fā)板上已經(jīng)實(shí)現(xiàn)32 RISC-V處理器;在PYNQ-Z1上實(shí)現(xiàn)了80核;在UltraScale上實(shí)現(xiàn)了1680核的RISC-V;不開源
?15、Ibex
提到開源RISC-V就不能不提Riscy系列了,尤其是zero-riscy,使用很廣泛。Ibex是脫胎于zero-riscy的core,支持RV32IMC及一些Z系列指令,由LowRISC維護(hù)。Ibex小巧精悍,文檔詳實(shí),學(xué)習(xí)資料豐富,支持verilator, 可以使用verilator+openOCD+GDB 仿真時(shí)debug。對(duì)于我這樣的重度Verilator依賴者來說非常友好。
Ibex支持machine mode和user mode兩種privilege mode,可以實(shí)現(xiàn)比單machine mode更加豐富的功能。Ibex采用system verilog開發(fā),對(duì)于傳統(tǒng)的IC工程師是個(gè)好消息。Ibex現(xiàn)在也支持了指令cache了,提高了performance,但裝了cache會(huì)讓core變得臃腫很多,對(duì)于學(xué)習(xí)cache controller的設(shè)計(jì)是個(gè)好事情。
Ibex使用類TLUL的自定義接口,官方的SoC是PULP。Google的OpenTitan項(xiàng)目也是基于Ibex。相關(guān)的設(shè)計(jì)學(xué)習(xí)資料算是相當(dāng)多了。
?https://github.com/lowRISC/ibex
?文檔:https://ibex-core.readthedocs.io/en/latest/introduction.html
16、SweRV EH1
SweRV EH1是WD開發(fā)的其中一款RISC-V core,支持RV32IMC,雙發(fā)射,單線程,9級(jí)流水,性能應(yīng)該說是相當(dāng)不錯(cuò),28nm可以跑到1GHz。而且還有份詳細(xì)的文檔,不愧是大廠出品。
SweRV是使用Verilog/System Verilog開發(fā),使用AXI接口,對(duì)熟悉AMBA且不想去學(xué)Chisel及Scala的同學(xué)來說是相當(dāng)友好了。而且支持verilator,必須點(diǎn)贊。值得一提的是SweRV帶指令cache,且實(shí)現(xiàn)了豐富的cache maintenance自定義指令,非常值得學(xué)習(xí)。
?https://github.com/chipsalliance/Cores-SweRV
大廠出品,進(jìn)階學(xué)習(xí)佳作。
17、picorio
官方出品。
?2017年圖靈獎(jiǎng)得主大衛(wèi)·帕特森教授(David Patterson)領(lǐng)銜的RISC-V國際開源實(shí)驗(yàn)室(RIOS:RISC-V International Open Source Lab)發(fā)布了全球首個(gè)可運(yùn)行Linux的全開源RISC-V微型電腦系統(tǒng)PicoRio項(xiàng)目,用于構(gòu)建更透明、低功耗、定制能力強(qiáng)的高效能邊緣計(jì)算平臺(tái)。PicoRio最大的特點(diǎn)是從CPU設(shè)計(jì),到PCB電路板設(shè)計(jì),再到操作系統(tǒng)核心軟件全部開源,核心架構(gòu)使用最新的開源RISC-V指令集技術(shù)。除高質(zhì)量工業(yè)級(jí)的開源IP之外,PicoRio還將提供開源的參考SoC設(shè)計(jì),以及詳盡的集成文檔。PicoRio基于開源的處理器,擁有許多IP的支持。在軟件方面,PicoRio設(shè)計(jì)了一個(gè)整體軟件架構(gòu),具有豐富的操作系統(tǒng)環(huán)境以及其他程序的支持,因此擁有一個(gè)強(qiáng)大的軟件生態(tài)。PicoRio的發(fā)布,標(biāo)志著RIOS實(shí)驗(yàn)室進(jìn)入了實(shí)際產(chǎn)出的階段。之后,RIOS實(shí)驗(yàn)室將致力于在RISC-V生態(tài)下打造更開源、更低功耗和更安全的軟硬件生態(tài),并負(fù)責(zé)維護(hù)整個(gè)PicoRio的硬件系統(tǒng)和軟件架構(gòu)。
PicoRio項(xiàng)目涵擴(kuò)了對(duì)Chromium OS內(nèi)核以及V8 JavaScript 引擎的RISC-V平臺(tái)移植和支持。可運(yùn)行完整的Linux和FreeRTOS系統(tǒng)。PicoRio項(xiàng)目將于2021年完成ARM A75級(jí)別的芯片設(shè)計(jì)和驗(yàn)證,將用于 RISC-V 的平板電腦/筆記本電腦,其中所有應(yīng)用程序軟件和存儲(chǔ)都在云中運(yùn)行(類似 Chromebook)。
參考資料:
- PicoRio Specification:https://gitlab.com/picorio/picorio-doc
- RISC-V Specification: https://riscv.org/technical/specifications/
- RISC-V Tools https://github.com/riscv/riscv-tools
- RISC-V GNU Toolchain//github.com/riscv/riscv-gnu-toolchain
項(xiàng)目地址
?? 審核編輯 :李倩https://rioslab.org
評(píng)論
查看更多