Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ArkEdge LT #1 dalance
Search
dalance
June 08, 2023
Programming
3
600
ArkEdge LT #1 dalance
dalance
June 08, 2023
Tweet
Share
More Decks by dalance
See All by dalance
OSS Silicon EDA #1
dalance
0
200
Make CPU #3 dalance
dalance
1
680
RTL talk #17 dalance
dalance
0
670
Shinjuku.rs #8 dalance
dalance
2
750
RTL talk #16 dalance
dalance
1
970
Rust LT #3 dalance
dalance
1
930
Other Decks in Programming
See All in Programming
バイラテラルアップサンプリング
fadis
3
520
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
130
Cursor/Devin全社導入の理想と現実
saitoryc
29
22k
オープンソースコントリビュート入門
_katsuma
0
130
音声プラットフォームのアーキテクチャ変遷から学ぶ、クラウドネイティブなバッチ処理 (20250422_CNDS2025_Batch_Architecture)
thousanda
0
420
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
260
M5UnitUnified 最新動向 2025/05
gob
0
140
ASP.NETアプリケーションのモダナイゼーションについて
tomokusaba
0
260
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
3
12k
On-the-fly Suggestions of Rewriting Method Deprecations
ohbarye
3
5.4k
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
3
1.5k
Embracing Ruby magic
vinistock
2
230
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
How to Ace a Technical Interview
jacobian
276
23k
Making Projects Easy
brettharned
116
6.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
Transcript
RustでLSI開発 PEZY Computing 初田 直也
自己紹介 名前:初田 直也 dalance @ GitHub 所属:PEZY
Computing スーパーコンピュータ向けのプロセッサLSIの設計 LSI設計のサポートにRustを使っている
Rustの使いどころ SystemVerilog周りのツール SystemVerilog:ハードウェア記述言語の1つ ツールサポートが弱い → 自作するしかない
プロセッサの命令セット周りの自動化ツール 独自プロセッサなのでコンパイラからドキュメントまで自作する必要あり ハードウェアの検証サポート
SystemVerilog周りのツール sv-parser/svlint/svls RustでSystemVerilogのパーサを作成 作成したパーサを使ってlinterとlanguage serverを作成 社内リポジトリでのCIチェックなどで使用中
OSSとしてGitHubで公開 https://github.com/dalance/sv-parser https://github.com/dalance/svlint https://github.com/dalance/svls Veryl SystemVerilogを改善するために新しい言語を作る試み 次のプロジェクトで実戦投入したい https://github.com/dalance/veryl
命令セット周りのツール scx_isa TOMLで命令セットを定義して、いろいろなものを自動生成するツール 生成できるもの 命令をデコードするSystemVerilogのソースコード
命令をデコードするRustのソースコード RestructuredText形式のドキュメント scx_random ↑のTOMLを読み込んで、ランダム検証用のアセンブリを生成するツール 2021年に夏季インターン(2名 x 2か月)で作ってもらった
検証サポート 命令セットシミュレータ プロセッサの挙動をソフトで書いて、SystemVerilog記述との一致を確認する ハードウェア設計中にソフトウェアエンジニアがプロセッサの挙動を確認する scx_forest_rs
メニーコアプロセッサ(~4096コア)の挙動をマルチスレッドで高速に実行する 昔はC++実装だったがマルチスレッドがなかなか安定しなかったのでRustに移行