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
480
ArkEdge LT #1 dalance
dalance
June 08, 2023
Tweet
Share
More Decks by dalance
See All by dalance
RTL talk #17 dalance
dalance
0
510
Shinjuku.rs #8 dalance
dalance
2
630
RTL talk #16 dalance
dalance
1
810
Rust LT #3 dalance
dalance
1
790
Other Decks in Programming
See All in Programming
Let's learn code review
riofujimon
1
270
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
130
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
2
180
PostmanでAPIの動作確認が楽になった話
h455h1
0
170
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
370
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.3k
What We Can Learn From OSS
inouehi
0
420
Goのエラースタックトレースの歴史と今後
sonatard
8
1.3k
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
650
今、知っておきたい! 生成AIエージェントの世界
elith
3
360
エンターテイメント業界で利用されるAWS
demuyan
0
210
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
The Cult of Friendly URLs
andyhume
74
5.7k
Adopting Sorbet at Scale
ufuk
68
8.6k
Docker and Python
trallard
34
2.7k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Building Applications with DynamoDB
mza
88
5.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
Why Our Code Smells
bkeepers
PRO
331
56k
A designer walks into a library…
pauljervisheath
200
23k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Automating Front-end Workflow
addyosmani
1356
200k
Debugging Ruby Performance
tmm1
70
11k
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に移行