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
620
ArkEdge LT #1 dalance
dalance
June 08, 2023
Tweet
Share
More Decks by dalance
See All by dalance
OSS Silicon EDA #1
dalance
0
210
Make CPU #3 dalance
dalance
1
700
RTL talk #17 dalance
dalance
0
690
Shinjuku.rs #8 dalance
dalance
2
760
RTL talk #16 dalance
dalance
1
1k
Rust LT #3 dalance
dalance
1
940
Other Decks in Programming
See All in Programming
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
19
3.4k
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
100
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
850
Is Xcode slowly dying out in 2025?
uetyo
1
190
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
180
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
450
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
260
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
140
技術同人誌をMCP Serverにしてみた
74th
0
290
Benchmark
sysong
0
260
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
140
Featured
See All Featured
Balancing Empowerment & Direction
lara
1
360
Thoughts on Productivity
jonyablonski
69
4.7k
The Invisible Side of Design
smashingmag
299
51k
BBQ
matthewcrist
89
9.7k
A Tale of Four Properties
chriscoyier
160
23k
The Language of Interfaces
destraynor
158
25k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Site-Speed That Sticks
csswizardry
10
660
Faster Mobile Websites
deanohume
307
31k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.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に移行