CNRV

为推广RISC-V尽些薄力

View the Project on GitHub

RISC-V 雙周簡報 (2017-11-23)

要點新聞:

RV新聞

RISC-V port merge 進Linux 4.15

自從2017年5月開始,Palmer Dabbelt 經過了6個月的努力終於在第9個回合,將RISC-V 的linux port merge 到了mainline。換句話說,從Linux v4.15開始,mainline 正式開始部分的支持RISC-V。這個是自GCC和binutils upstream 後,RISC-V在基礎架構上另一個突破。Palmer表示,他們公司下一步會往 glibc 推進。

2017年”EE Times Silicon 60: Startups to Watch”中包含3家RISC-V相關的公司

每年EE Times都會推選出60家“Startups to Watch” 的ic 公司。今年的watchlist剛剛出爐,這其中有3家跟RISC-V有關的ic 公司。

分別是:SiFive、Esperanto Technologies Inc.、Minima Processor Oy。

SiFive Inc. (San Mateo, Calif.) was founded in 2015 by creators of the free and open RISC-V processor architecture as a reaction to the end of conventional transistor scaling and escalating chip design costs. SiFive’s mission is to bring the power of open-source and agile hardware design to the semiconductor industry. www.sifive.com

Esperanto Technologies Inc. (Los Altos, Calif.) was founded in 2014 by CEO Dave Ditzel, a chip industry veteran well-known as a chip designer previously with Intel and Sun Microsystems and as founder of code-morphing startup Transmeta. Esperanto is developing a multithreaded RISC-V processor and includes former employees of Eltechs, a Russian developer of binary translators for running x86 programs on ARM processors. www.esperantotech.com

Minima Processor Oy (Oulu, Finland) founded in April 2016 to develop sub-threshold voltage processors based on technology developed by VTT Technical Research Centre of Finland Ltd. and the universities of Aalto and Turku. Minima was a founding partner in the RISC-V open hardware foundation. Minima’s techniques can be used to optimize processor voltage and frequency operating points dynamically although the company also advocates the use of sub-threshold voltage operation. Minima’s clocking is adaptive synchronous rather than asynchronous. Minima provides a middleware stack with its hardware that provides compatibility with dynamic voltage and frequency scaling (DVFS) regimes. www.minimaprocessor.com

Link: http://t.cn/RYUbXyL

技術討論

多核如何啟動

如果一個SMP系統中有多個處理器核(hart),這些核如何啟動,啟動的順序是什麼呢? 這其實是一個比較複雜的問題。多核系統的啟動往往伴隨著調整PLL、timer、供電電壓等因素。 同時有些系統也希望多核能互相替代使用。 這便導致多核的啟動順序和 priority 是一個 platform-defined 的問題。 一個系統可以多核同時啟動,每個核根據自己的hart-id決定將運行的代碼。 也可以讓一個核先啟動,然後由先啟動的核來啟動其他核。 對於低功耗的系統來說,也許由一個核先啟動比較好,因為多核同時啟動會造成 power comsumption burst。 假設系統已經處於低電狀態,這樣的 burst 有可能導致系統進入低電重啟的 deadlock 直至電池耗盡。 而多核同時啟動投票決定初始核有利於支持多核互相替代。 唯一可確定的是,系統中的總核數將來自於系統自動生成的device tree。

相關討論:https://goo.gl/qQyrgs

RV32E的Compiler flag

經討論,準備為RV32設定專有的compiler flag and ABI :-march=rv32i -mabi=ilp32e

相關討論:https://git.io/vFQ47

控制Rocket處理器中定點除法器的delay

Rocket處理器中的定點除法器被刻意地 config 為最慢模式,即64 bit division 需要64周期完成。 這個conifugration 的背後原因有兩個,一個是並行除法器會影響處理器的delay,導致處理器的最高頻率下降。 另外一個是除法器基本在所有的處理器中都執行較慢,所以會被編譯器和程序開發者主動避免。優化除法器的性能提升不大。 如果需要配置並行除法器,減少除法器的delay,可改變除法器的divUnroll參數。

GitHub上的討論:https://git.io/vFQCF

代碼更新

Spike支持最新版的 Interrupt priority

Spike (riscv-isa-sim) ISS 是RISC-V的 golden implementation。 Priv Spec 1.11 裡最新定義的關於不同 interrupt source 在同一 mode 下的default priority 最近被加入到Spike 的 implementation裡。 現在定義的 priority 如下:

非標準外部中斷(IRQ) > 外部中斷(EIP) > 軟件中斷(SIP) > 時鐘中斷(TIP)

riscv-isa-sim的PR #161: https://git.io/vFAc4

rocket-chip 實現了獨立的AXI Crossbar

長久以來,rocket-chip只能透過用 TileLink-AXI-bridge 來實現一個AXI接口的Crossbar,而沒有一個獨立的AXI Crossbar。 近期的一個rocket-chip PR終於提供了AXI Crossbar,從而讓一切變得更簡單了。

Rocket-Chip的PR #1105: https://git.io/vFQBz

設備描述(DTS)從處理器組移到 SoC level

Rocket-Chip中的 DTS 由 HDL 在compile 時自動生成。 過去的DTS root node 是 Rocekt-Chip的Coreplex,即一個含有RISC-V SMP處理器的系統。 現在將DTS升級為global data structure,允許一個SoC上存在多個RISC-V處理器子系統,為 Heteregeneous multiprocessor systme 打下基礎。

Rocket-Chip的PR #1123: https://git.io/vF56v

GNU MCU Eclipse 版本更新

GNU MCU Eclipse 的 RISC-V 相關軟體 和 plug-in 版本更新:

Spike (riscv-isa-sim) 支持非連續的hartid

Gleb Gagarin 為Spike 增加了非連續的hartid support。不過該support 還未完全被test。 在Rocket-Chip等硬件平臺上的支持會更晚才出現。

具體的參數使用方式: --hartids=<a,b,...> Explicitly specify hartids, default is 0,1,...

riscv-isa-sim的PR #156 https://git.io/vFQWl

實用資料

Booting RISC-V Linux Kernel 的過程 (Palmer All aboard Part6的整理)

Palmer 在 Part6 中開始介紹 risc-v 的 Linux kernel,介紹了booting sequence 以及 RISC-V 針對linux kernel的一些設計。

更多跟boot有關的細節,像是boot on SMP,請參考Palmer的 All aboard Part6

市場相關

Andes 公開了它們的 N25 和 NX25

Andes 推出了它們的 N25核 (32bit) 和 NX25核 (64bit)。同時,這次的推出,為了支援完整的SoC 開發環境,也包含了和 Mentor Graphics, Imperas, Latuerbach, UltraSoC 等公司的合作。

Link1: Andes Announces Advanced SoC Development Environments for V5 AndesCore N25 and NX25 Processors with Tool Partners

Link2: Andes and Imperas Partner to Deliver Models and Virtual Platforms for Andes RISC-V Cores

Analog Bits 的 PLL 和 SERDES IP 加入 SiFive 的 DesignShare program

SiFive 這次加入了跟 Analog Bits 的合作。

Link: Analog Bits to Provide Precision PLL and SERDES IP to DesignShare for SiFive Freedom Platform

Inside Secure 加入基金會,並推出第一個基於RISC-V 的 Root-of-Trust Solution

看起來越來越多hw security的公司加入RISC-V foundation,並推出相關的產品。先前的Dover microsystem也是一個hw security公司。

Link1: Inside Secure Unveils Industry’s First Root-of-Trust Solution based on RISC-V Processor

Link2: Inside Secure Joins RISC-V Foundation

Rambus Selects Codasip Studio for SDK Development of RISC-V Processor

Rambus Security 採用了Codasip 的 SDK 和 Codasip Studio。Codasip有一種叫CodAL的modeling language,可用作High-level design。不知道Rambus Security會用RISC-V來做什麽樣的產品。看來RISC-V 和 security相關的產品會越來越多。

Link:Rambus Selects Codasip Studio for SDK Development of RISC-V Processor

Microsemi 在其 Mi-V 中採用了 UltraSoc 的產品

Ultrasoc 最近發佈了他們的產品被 Microsemi 的 RISC-V Solution Mi-V 所採用的消息。

Link:UltraSoC selected by Microsemi for growing RISC-V product range

嵌入式工具公司Ashling加入RISC-V基金會

Ashling是一家提供嵌入式軟件解決方案和調試工具的公司,這家公司最近加入了基金會。Ashling會在最近的Workshop上 demo 他們的一個RISC-V IDE。

Link: Embedded Toolsprovider Ashling joins RISC-V Foundation http://t.cn/RYULVPb

暴走事件

十一月

十二月

二月

招聘簡訊

CNRV提供為行業公司提供公益性質的一句話的招聘信息發布,若有任何體系結構、IC設計、軟件開發的招聘信息,歡迎聯系我們!


整理編集: 宋威、黃柏瑋、郭雄飛

貢獻者:Shawn C


歡迎關註微信公眾號CNRV,接收最新最時尚的RISC-V訊息!

CNRV微信公眾號


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款授權.