Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
TI
Uploaded by
Taichi Ishitani
PPTX, PDF
126 views
RgGen ご紹介
Design Solution Forum 2021 SP13
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 13
2
/ 13
3
/ 13
4
/ 13
5
/ 13
6
/ 13
7
/ 13
8
/ 13
9
/ 13
10
/ 13
11
/ 13
12
/ 13
13
/ 13
More Related Content
PDF
CSRを自動生成する!
by
Taichi Ishitani
PDF
GoでEPC作って本番運用している話
by
雄也 日下部
PDF
Raspberry Pi + Go で IoT した話
by
yaegashi
PDF
Linuxのユーザーランドをinitから全てまるごとgolangで書く
by
Tetsuyuki Kobayashi
PPTX
Polyphony 新機能ツアー
by
ryos36
PDF
Gitoriousをubuntu 10.04 LTSへインストール
by
Kiyoshi SATOH
PPTX
Tfug kansai vol3
by
Natsutani Minoru
PDF
Pd Kai#3 Startup Process
by
nagachika t
CSRを自動生成する!
by
Taichi Ishitani
GoでEPC作って本番運用している話
by
雄也 日下部
Raspberry Pi + Go で IoT した話
by
yaegashi
Linuxのユーザーランドをinitから全てまるごとgolangで書く
by
Tetsuyuki Kobayashi
Polyphony 新機能ツアー
by
ryos36
Gitoriousをubuntu 10.04 LTSへインストール
by
Kiyoshi SATOH
Tfug kansai vol3
by
Natsutani Minoru
Pd Kai#3 Startup Process
by
nagachika t
What's hot
PDF
Markup Template Engine introduced Groovy 2.3
by
Uehara Junji
PDF
30days Album の裏側 + 表側
by
Kensuke Nagae
PDF
サイボウズ・ラボユース成果報告会
by
slankdev
PDF
組み込みLinuxでのGolangのススメ
by
Tetsuyuki Kobayashi
PDF
久しぶりのPythonでgoogleのアレを制御してみた
by
Shohei Tai
PDF
Pynq祭り資料
by
一路 川染
PPTX
Fpgax20170924
by
Natsutani Minoru
PDF
ニコニコ生放送のタイムシフトを無料で保存する方法
by
tani-page
PDF
git-svnつかってみる?
by
riskrisk
PPTX
MicroPython + ESP32
by
Takuya Nishimoto
PDF
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07
by
Jun Omae
PPTX
Seurity Camp Award 2016
by
slankdev
PDF
分散バージョン管理システムって何なん 20101218
by
Takashi Okamoto
PDF
"Continuous Publication" with Python: Another Approach
by
Daisuke Miyakawa
PDF
Read Groovy Compile process(Groovy Benkyoukai 2013)
by
Uehara Junji
PDF
Cloud Foundryのコンポーネントloggregatorについて
by
Takeshi Morikawa
PDF
enterprise grails challenge, 2013 Summer
by
Uehara Junji
PDF
OSC2016 Tokyo/Spring セミナー資料
by
slankdev
PDF
ニコニコ生放送のタイムシフトを無料で保存する方法
by
tani-page
PPTX
Pyladies tokyo 2nd anniversary LT
by
drillan
Markup Template Engine introduced Groovy 2.3
by
Uehara Junji
30days Album の裏側 + 表側
by
Kensuke Nagae
サイボウズ・ラボユース成果報告会
by
slankdev
組み込みLinuxでのGolangのススメ
by
Tetsuyuki Kobayashi
久しぶりのPythonでgoogleのアレを制御してみた
by
Shohei Tai
Pynq祭り資料
by
一路 川染
Fpgax20170924
by
Natsutani Minoru
ニコニコ生放送のタイムシフトを無料で保存する方法
by
tani-page
git-svnつかってみる?
by
riskrisk
MicroPython + ESP32
by
Takuya Nishimoto
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07
by
Jun Omae
Seurity Camp Award 2016
by
slankdev
分散バージョン管理システムって何なん 20101218
by
Takashi Okamoto
"Continuous Publication" with Python: Another Approach
by
Daisuke Miyakawa
Read Groovy Compile process(Groovy Benkyoukai 2013)
by
Uehara Junji
Cloud Foundryのコンポーネントloggregatorについて
by
Takeshi Morikawa
enterprise grails challenge, 2013 Summer
by
Uehara Junji
OSC2016 Tokyo/Spring セミナー資料
by
slankdev
ニコニコ生放送のタイムシフトを無料で保存する方法
by
tani-page
Pyladies tokyo 2nd anniversary LT
by
drillan
RgGen ご紹介
1.
SP13 RgGen ご紹介
石谷太一 RgGen ご紹介 石谷太一 (PEZY Computing K.K.) 1
2.
SP13 RgGen ご紹介
石谷太一 注意 ● RgGen および GitHub 上で公開している成果物は、石谷個人が開発している ものです ● PEZY の社員としての登壇ですが、問い合わせなどは石谷までお願いします 2
3.
SP13 RgGen ご紹介
石谷太一 本日の内容 1. 自己紹介 2. RgGen ご紹介 3. 使ってみる (デモ) 4. 使用例紹介 3
4.
SP13 RgGen ご紹介
石谷太一 自己紹介 ● 石谷太一(いしたにたいち) ○ GitHub https://github.com/taichi-ishitani ■ RgGen: 本日紹介します ■ TNoC: SystemVerilog で実装した合成可能な NoC router ■ tvip-axi: UVM ベースの AMBA AXI VIP ■ tue: UVM の拡張パッケージ ○ Twitter @taichi600730 ● SystemVerilog/Ruby 歴 13 年ちょっと ○ SV で RTL 書いたり、UVM ベースの検証環境のおもりをしたり ● 所属 ○ PEZY Computing K.K. ■ PEZY-SC3 がローンチしました ■ 新規チップを開発中です ○ 求人あります ■ https://www.pezy.co.jp/career/ 4
5.
SP13 RgGen ご紹介
石谷太一 RgGen ご紹介 ● レジスタマップから、コンフィグレジスタ (CSR) 関連のファイルを自動生成 するツールです ○ https://github.com/rggen/rggen ● レジスタマップは人間様が読めるフォーマットです ○ Ruby ■ レジスタマップ記述用の DSL を使用 ○ 各種構造化テキスト (YAML/JSON/TOML) ○ 各種スプレッドシート (xlsx/xls/ods/csv/tsv) ○ SiFive DUH ○ SystemRDL はいずれ・・・ ● 生成物 ○ SystemVerilog/Verilog/VHDL RTL ○ UVM RAL model ○ Markdown 5
6.
SP13 RgGen ご紹介
石谷太一 RgGen ご紹介 ● 対応する型は(たぶん)多いです ○ 配列状/外部アクセス/間接参照レジスタ ○ ビットフィールド 33 種類 ■ UVM RAL model で定義されている型は網羅しています ○ レジスタファイルも対応 ● 標準的なホストプロトコルに対応 ○ AMBA AXI4 Lite/APB ● プラグインによる機能拡張にも対応 ○ 特殊なビットフィールド型の追加 ○ 独自ホストプロトコルの対応 ● EDA ツールの対応 ○ シミュレータ: VCS/Xcelium/Verilator/Icarus Verilog ○ 論理合成: Design Compiler/Vivado/Quartus ● RTL/UVM RAL model はバックドアアクセスに対応 ○ バスアクセスなしで、CSR の読み書きができます ○ シミュレーションの時間短縮などに使えます 6
7.
SP13 RgGen ご紹介
石谷太一 使ってみる ● 紹介する入力/生成物のサンプルは、以下のリポジトリから取得できます ○ https://github.com/rggen/rggen-sample ● 生成物を組み込んだサンプルのテストベンチもあります ○ https://github.com/rggen/rggen-sample-testbench ○ 生成 RTL と RAL model を組み込んで、UVM で実装されている CSR のサニティチェック用 テストシーケンスを実行します 7
8.
SP13 RgGen ご紹介
石谷太一 使ってみる - RgGen のインストール ● 前準備 ○ Ruby (2.5 以上) と開発用パッケージをインストールしておきます ○ apt-get install ruby/apt-get install ruby-dev とか ● インストール ○ Ruby のパッケージ管理ツール (gem) を使ってインストールします ■ $ gem install rggen ■ 依存する他のライブラリも一緒にインストールされます ○ 追加のプラグインもインストールします ■ $ gem install rggen-verilog $ gem install rggen-vhdl $ gem install rggen-duh 8
9.
SP13 RgGen ご紹介
石谷太一 使ってみる - 入力ファイル準備 ● コンフィグレーションファイル ○ アドレス幅、データ幅、プロトコル等を指定します ○ YAML/JSON/TOML で記述します ○ https://github.com/rggen/rggen-sample/blob/master/config.yml ● レジスタマップ ○ CSR の仕様を記述します ○ register block/register file/register/bit field の4階層 ■ 詳しくは Wiki を参照ください https://github.com/rggen/rggen/wiki/Register-Map-Specifications ○ https://github.com/rggen/rggen-sample/blob/master/block_0.yml https://github.com/rggen/rggen-sample/blob/master/block_1.yml 9
10.
SP13 RgGen ご紹介
石谷太一 使ってみる - 実行! ● 実行コマンド rggen に、コンフィグレーションファイルとレジスタマップを 食わせるだけです ● $ rggen --plugin rggen-verilog --plugin rggen-vhdl -o out -c config.yml block_0.yml block_1.yml ○ --plugin rggen-verilog/--plugin rggen-vhdl ■ Verilog/VHDL 出力プラグインを有効にします ○ -o out ■ 出力ディレクトリを指定します ○ -c config.yml ■ コンフィグレーションファイルのパスをしています ○ 生成物は “out” ディレクトリに書き出されます ● 実行時に、レジスタマップ上のエラーチェックが行われます ○ 識別子の唯一性、アドレスやビットフィールドの重複など 10
11.
SP13 RgGen ご紹介
石谷太一 使ってみる - 生成物の組み込み ● RTL/UVM RAL model は、共通モジュール/クラス を使って構成されています ○ 以下のリポジトリから取得しておきます ■ https://github.com/rggen/rggen-sv-rtl.git ■ https://github.com/rggen/rggen-verilog-rtl.git ■ https://github.com/rggen/rggen-vhdl-rtl.git ■ https://github.com/rggen/rggen-sv-ral.git ○ 生成物と一緒に共通モジュール/クラスもEDAツールに入力します 11
12.
SP13 RgGen ご紹介
石谷太一 使用例紹介 (PEZY での使用例) ● 採用前 ○ 各モジュール担当者が CSR モジュールを各々で実装していた ■ アドレスのデコード方法などが統一されていなかった ■ あるレジスタがどのような動作をするかは、RTL を見なければならなかった ○ RTL とドキュメントが差分があった ● 現在 ○ 全 CSR モジュールを RgGen で生成 ■ レジスタマップをは YAML で記述 ● Git で管理していて、変更履歴を追いやすくて良いです ■ レジスタ仕様、実装を標準化できた ○ 社内用プラグインを作成 ■ 社内用バスプロトコル、特殊ビットフィールドに対応 ○ ドキュメントを自動生成 ■ Markdown の生成とドキュメント用サーバーへのアップロードを、更新毎に自動実行 ● 仕様、RTL、ドキュメントの乖離を防止 12
13.
SP13 RgGen ご紹介
石谷太一 おわり 13
Download