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
650
ArkEdge LT #1 dalance
dalance
June 08, 2023
Tweet
Share
More Decks by dalance
See All by dalance
OSS Silicon EDA #1
dalance
0
220
Make CPU #3 dalance
dalance
1
770
RTL talk #17 dalance
dalance
0
760
Shinjuku.rs #8 dalance
dalance
2
790
RTL talk #16 dalance
dalance
1
1k
Rust LT #3 dalance
dalance
1
960
Other Decks in Programming
See All in Programming
Introduce Hono CLI
yusukebe
6
3.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
420
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.1k
Developer Joy - The New Paradigm
hollycummins
1
350
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
320
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
120
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
150
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
360
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
240
CSC305 Lecture 08
javiergs
PRO
0
270
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
250
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
630
The Pragmatic Product Professional
lauravandoore
36
7k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Mobile First: as difficult as doing things right
swwweet
225
10k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
A Tale of Four Properties
chriscoyier
161
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
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に移行