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
Rust LT #3 dalance
Search
dalance
March 25, 2019
Programming
1k
1
Share
Rust LT #3 dalance
dalance
March 25, 2019
More Decks by dalance
See All by dalance
RTL talk #18 dalance
dalance
0
390
OSS Silicon EDA #1
dalance
0
260
Make CPU #3 dalance
dalance
1
850
RTL talk #17 dalance
dalance
0
830
ArkEdge LT #1 dalance
dalance
3
680
Shinjuku.rs #8 dalance
dalance
2
840
RTL talk #16 dalance
dalance
1
1.1k
Other Decks in Programming
See All in Programming
Firefoxにコントリビューションして得られた学び
ken7253
2
150
Programming with a DJ Controller — not vibe coding
m_seki
3
700
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
24
16k
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
470
🦞OpenClaw works with AWS
licux
1
310
Spec-driven Development: How AI Changes Everything (And Nothing)
simas
PRO
0
520
The Less-Told Story of Socket Timeouts
coe401_
3
860
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
2
370
From Formal Specification to Property Based Test
ohbarye
0
590
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
4
980
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
2
350
実用!Hono RPC2026
yodaka
2
280
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
280
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
230
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.7k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
270
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
120
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.9k
Into the Great Unknown - MozCon
thekraken
41
2.4k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
450
Optimising Largest Contentful Paint
csswizardry
37
3.7k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
110
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
760
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Transcript
RustとLSI開発 dalance
LSIの設計とは • ソフトウェアの場合 ◦ ソースコードを書く ◦ コンパイル ◦ 実行 •
LSI の場合 ◦ ソースコードを書く(例えば SystemVerilog などで) ◦ コンパイル(的な何か) ◦ 製造
LSIの設計とは • ソフトウェアの場合 ◦ ソースコードを書く ◦ コンパイル ◦ 実行 •
LSI の場合 ◦ ソースコードを書く(例えば SystemVerilog などで) ◦ コンパイル(的な何か) ◦ 製造 よく似ているので、同じような開発 手法やツールが使える。 CI とか git とか。
ソフトと違うところ • ソフトウェアの場合 ◦ ソースコードを書く ◦ コンパイル ◦ 実行 •
LSI の場合 ◦ ソースコードを書く(例えば SystemVerilog などで) ◦ コンパイル(的な何か) ◦ 製造 ここの規模感はだいぶ違う。 コンパイル 1 回に数日~数週間 中間ファイルが数 GB ~数百 GB
ソフトと違うところ • ソフトウェアの場合 ◦ ソースコードを書く ◦ コンパイル ◦ 実行 •
LSI の場合 ◦ ソースコードを書く(例えば SystemVerilog などで) ◦ コンパイル(的な何か) ◦ 製造 ここの規模感はだいぶ違う。 コンパイル 1 回に数日~数週間 中間ファイルが数 GB ~数百 GB 大きなファイルを素早く扱うための サポートツールをRustで書いてます
作ったもの(1) • amber ◦ いわゆる grep alternative ◦ 大きなファイルを分割してマルチスレッドで検索する ▪
ここだけなら ripgrep にも勝っている(普通の検索は ripgrep ものすごく速いです) • ptags ◦ ctags ( vim 用の tag 生成プログラム)のラッパー ▪ LSI 開発時のリポジトリは 1TB 近くになるので、 ctags を普通に実行すると終わらない ◦ .gitignore と git-lfs を除外して、マルチスレッドで並列実行できる
作ったもの(2) • pipecolor ◦ 標準出力をパイプで受け取って色付けするツール ▪ 正規表現でマッチさせて好きな色を付けられる ◦ LSI 系のツールは
cargo/rustc のように色がつかなくて分かりにくいので • procs ◦ プロセス情報表示ツール( ps alternative ) ▪ 標準でカラー表示できて、簡単に絞り込める ◦ LSI 系のツールは貴重な!ライセンスをつかんだまま死んでしまうことがある
まとめ • LSI 開発で(無理やり?) Rust 使ってます • Rust の良いところ ◦
開発速度が速い: cargo/crates.io のおかげで ◦ 実行速度が速い:データが大きくても困らない ◦ エラーハンドリング:予想外の例外で落ちたりしない