Soumettre la recherche
Mettre en ligne
Microsemi FPGAで RISC-V を動かしてみた話 (Lチカ)
•
Télécharger en tant que PPTX, PDF
•
1 j'aime
•
3,379 vues
T
Takayasu Shibata
Suivre
RTLを語る会(14)での発表資料です。 RISC-Vの話と、MicrosemiのGitHubに上がっていたRISC-VでLチカしてみた事を発表しました。
Lire moins
Lire la suite
Périphériques & matériel
Signaler
Partager
Signaler
Partager
1 sur 18
Télécharger maintenant
Recommandé
RISC-Vの基礎、オバービュー(RISC-V basis-overview)
RISC-Vの基礎、オバービュー(RISC-V basis-overview)
Takayasu Shibata
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
Takayasu Shibata
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
直久 住川
Zynq mp勉強会資料
Zynq mp勉強会資料
一路 川染
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
Mr. Vengineer
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
一路 川染
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)
marsee101
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
VirtualTech Japan Inc.
Recommandé
RISC-Vの基礎、オバービュー(RISC-V basis-overview)
RISC-Vの基礎、オバービュー(RISC-V basis-overview)
Takayasu Shibata
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
Takayasu Shibata
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
直久 住川
Zynq mp勉強会資料
Zynq mp勉強会資料
一路 川染
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
Mr. Vengineer
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
一路 川染
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)
marsee101
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
VirtualTech Japan Inc.
Vivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリーム
marsee101
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
ryos36
はりぼて OS で ELF なアプリを起動してみた
はりぼて OS で ELF なアプリを起動してみた
uchan_nos
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
Takefumi MIYOSHI
Vivado hls勉強会2(レジスタの挿入とpipelineディレクティブ)
Vivado hls勉強会2(レジスタの挿入とpipelineディレクティブ)
marsee101
Vivado hls勉強会4(axi4 master)
Vivado hls勉強会4(axi4 master)
marsee101
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Takuya ASADA
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
Kentaro Ebisawa
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
Zynq VIPを利用したテストベンチ
Zynq VIPを利用したテストベンチ
Mr. Vengineer
高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応
marsee101
HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界
Fixstars Corporation
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
Insight Technology, Inc.
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係
Yoshio Hanawa
Vivado hls勉強会5(axi4 stream)
Vivado hls勉強会5(axi4 stream)
marsee101
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
Arm device tree and linux device drivers
Arm device tree and linux device drivers
Houcheng Lin
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
yaegashi
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
inaz2
Contenu connexe
Tendances
Vivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリーム
marsee101
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
ryos36
はりぼて OS で ELF なアプリを起動してみた
はりぼて OS で ELF なアプリを起動してみた
uchan_nos
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
Takefumi MIYOSHI
Vivado hls勉強会2(レジスタの挿入とpipelineディレクティブ)
Vivado hls勉強会2(レジスタの挿入とpipelineディレクティブ)
marsee101
Vivado hls勉強会4(axi4 master)
Vivado hls勉強会4(axi4 master)
marsee101
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
Takuya ASADA
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
Kentaro Ebisawa
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
Zynq VIPを利用したテストベンチ
Zynq VIPを利用したテストベンチ
Mr. Vengineer
高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応
marsee101
HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界
Fixstars Corporation
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
Insight Technology, Inc.
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係
Yoshio Hanawa
Vivado hls勉強会5(axi4 stream)
Vivado hls勉強会5(axi4 stream)
marsee101
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
Arm device tree and linux device drivers
Arm device tree and linux device drivers
Houcheng Lin
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
Tendances
(20)
Vivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリーム
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
はりぼて OS で ELF なアプリを起動してみた
はりぼて OS で ELF なアプリを起動してみた
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
Vivado hls勉強会2(レジスタの挿入とpipelineディレクティブ)
Vivado hls勉強会2(レジスタの挿入とpipelineディレクティブ)
Vivado hls勉強会4(axi4 master)
Vivado hls勉強会4(axi4 master)
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
Zynq VIPを利用したテストベンチ
Zynq VIPを利用したテストベンチ
高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応
HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係
Vivado hls勉強会5(axi4 stream)
Vivado hls勉強会5(axi4 stream)
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Arm device tree and linux device drivers
Arm device tree and linux device drivers
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
Similaire à Microsemi FPGAで RISC-V を動かしてみた話 (Lチカ)
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
yaegashi
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
inaz2
スタート低レイヤー #0
スタート低レイヤー #0
Kiwamu Okabe
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
Kazuyuki Sato
ceph acceleration and storage architecture
ceph acceleration and storage architecture
Yuki Kitajima
例会講座 今更fish shellの紹介
例会講座 今更fish shellの紹介
segre2
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
VirtualTech Japan Inc.
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
Takuya Matsunaga
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
MITSUNARI Shigeo
JIT のコードを読んでみた
JIT のコードを読んでみた
y-uti
ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料
直久 住川
Power shell で DSL
Power shell で DSL
urasandesu
DartVM on Android
DartVM on Android
nothingcosmos
Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介
Akira Hayakawa
FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器
I_HaL
Androidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃう
ksk sue
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Mr. Vengineer
Reconf 201506
Reconf 201506
Takefumi MIYOSHI
Using asimdhp (fp16) on Jetson Xavier CPU
Using asimdhp (fp16) on Jetson Xavier CPU
tomoaki0705
仮想記憶の構築法
仮想記憶の構築法
magoroku Yamamoto
Similaire à Microsemi FPGAで RISC-V を動かしてみた話 (Lチカ)
(20)
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
スタート低レイヤー #0
スタート低レイヤー #0
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
ceph acceleration and storage architecture
ceph acceleration and storage architecture
例会講座 今更fish shellの紹介
例会講座 今更fish shellの紹介
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
JIT のコードを読んでみた
JIT のコードを読んでみた
ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料
Power shell で DSL
Power shell で DSL
DartVM on Android
DartVM on Android
Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介
FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器
Androidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃう
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Reconf 201506
Reconf 201506
Using asimdhp (fp16) on Jetson Xavier CPU
Using asimdhp (fp16) on Jetson Xavier CPU
仮想記憶の構築法
仮想記憶の構築法
Microsemi FPGAで RISC-V を動かしてみた話 (Lチカ)
1.
Microsemi FPGAで RISC-Vを動かしてみた話(Lチカ) RTLを語る会(14) ~FPGAの現実~ 2017年09月24日(日) @shibatchii
2.
発表を聞くにあたっての注意点 あまり真剣に見ないでください。 ボロが丸わかりです。
あまり深く考えないでください。 え~それって〇〇じゃん、こじつけだーってとこ多いです。 笑って、和やかな心で見てください。 その方が幸せになれます。 勘のいい子は嫌いだよ @shibatchii
3.
自己紹介 @shibatchii 名前: @shibatchii 仕事:ASIC、FPGAの設計検証 某ゲーム機のDDR I/Fとか 現在常駐で東京に来ている 本拠地は山口県宇部市 趣味:オートバイでツーリング FPGA,マイコン
いじり ブログ:http://shibatchii.cocolog-nifty.com/blog/ ホームページ:http://shibatchii.cool.coocan.jp/ Twitter:@shibatchii フォロー歓迎
4.
Microsemi FPGAで RISC-Vを動かしてみた @shibatchii
5.
なぜMicrosemiでRISC-V? 2016年11月頃、 「米Microsemi社は、オープンソースの命令セット「RISC-V」を実装した CPUコア(RISC-Vコア)として「RV32IM」を開発し、同社のFPGA向けに 提供を始める。このCPUコアは、米SiFive社と共同開発したもの。」 というようなニュースが流れた。 しばらくするとGitHubにFPGAのプロジェクト ファイル等が提供された。
おもしろそうだ、ボードもあるしやってみる か! ちなみに、MicrosemiはRISC-VのGoldメンバー なのですぐに無くなることもないだろうと。 @shibatchii
6.
RISC-Vとは CPUの命令セット・アーキテクチャ (ISA)
グーグル、オラクル、ヒューレット・パッカード・エ ンタープライズ(HPE)などが開発に参加 完全にオープンで自由に使える命令セットアーキテク チャ アドレッシングは32/64/128bitサポート 上記、Wikipedia参照しました。https://ja.wikipedia.org/wiki/RISC-V 詳細は FPGAマガジンNo.18とかRISC-VのWebページを参考にしてください。 @shibatchii
7.
特徴 自由度が高い 必要なバス幅、命令セットを選んで構成できる
バスも自由:AMBA,Sonic,VME,オレオレバス,etc メモリマップも自由:スタートベクタが途中にあっ てもOK 命令セット構成例 RV32I MACFDQ ■ RV32I:基本命令 ■ M:乗算命令 ■ A:アトミック命令 ■ C:圧縮 ■ F:単精度小数点 ■ D:倍精度小数点 ■ Q:4倍精度小数点 ■他にも J,L,V,B,T,Pなど有 ここまで必要ないなら、例えばRV32IMACだけでもOK @shibatchii
8.
MicrosemiのRISC-Vコア仕様 低消費電力のASICマイクロコントローラおよびFPGAソフト コアのインプリメンテーション用に設計•統合された8Kバイト の命令キャッシュと8Kバイトのデータキャッシュ プラットフォームレベルの割り込みコントローラ(PLIC)は単 一優先度レベル
RISCV標準のRV32IM ISAをサポート•JTAGインタフェース を備えたオンチップデバッグユニット IOおよびメモリ用の2つの外部AXIインターフェイス @shibatchii
9.
Microsemiはどう実装したか @shibatchii JTAG 割り込 み入力 周辺デバイス用AXI4 キャッシュ無し メモリ用AXI4 キャッシュ有り CLK RESET Catalogから SmartDesignに持っ てくるとこんな感じ 中身はSiFive's E31 Coreplex Platform-Level Interrupt
Controller プラットフォームレベル割込制御 E31 Core TileLink To AXI Brdge タイルリンク-AXIブリッジ Integer Multiplier/Divider 整数 乗算/除算 RV32IM コア JTAG TAP Controller JTAGコントローラ Clock-Domain Crossing クロック載せ替え Debug Transport Module 8KB Instruction Cache 8KB命令キャッシュ 8KB IData Cache 8KBデータキャッシュ TileLink To AXI Brdge タイルリンク-AXIブリッジ Uncached TileLink Interconnect CoreRISCV_AXI4 JTAG I/f External Interrupts AXI4 MMIO I/F AXI4 Memory I/F Clock Reset
10.
Lチカ用全体構成 @shibatchii Microsemiのサンプル
11.
全体構成 ブロック図 @shibatchii CCC クロック制御 CoreRISCV_AXI4 RISC-Vコア CoreAHBLite AHBブリッジ CoreJTAGDebug JTAGデバッガ eNVM 不揮発メモリ CoreAPB# APB3ブリッジ CoreAHBtoAPB3 AHB<->APB3 CoreGPIO 汎用入出力 CoreSPI 3線IF CoreTimeer タイマー 割込 DDR
Contrller DDRコントローラ AXI Glue Logic AXI接続回路 CoreAXIToAHBL AXI4<->AHBL CoreAHBLite AHBブリッジ ResetSyncronizer リセット同期 Microsemi SoC FPGA Fabric CoreAXIToAHBL AXI4<->AHBL AXI Glue Logic AXI接続回路 LEDs Offchip SPI 周辺 Offchip DDRメモリ External OSC 外部クロック PushBottonReset 押しボタンリセット JTAG Header CoreUART シリアル 割り込み シリアルIF
12.
ソフトウェア構成1riscv-systick-blinky │ │ .cproject //
SoftConsole用プロジェクトファイル Cの環境に関するもの │ .project // SoftConsole用プロジェクトファイル Softconsole自身の環境に関するもの │ hw_platform.h // ベースアドレスや定数がdefineされている │ main.c // Cプログラムメイン。ここから動き始める。解析もここから。 │ README.txt // このプログラムの概要。結構重要なことが書いてある。 │ riscv-systick-blinky Debug.launch // デバッグ時の設定ファイル?よくわからない │ ├─drivers // 各ハードIP用のドライバファイル │ ├─CoreGPIO // GPIO 汎用入出力用 │ │ coregpio_regs.h // GPIOが持っているレジスタのオフセットアドレス │ │ core_gpio.c // GPIOへ出力したり、入力したりする関数 │ │ core_gpio.h // ヘッダファイル。ビットマスク等の設定値defineとprototype宣言 │ │ │ └─CoreUARTapb // UART シリアル用 │ coreuartapb_regs.h // UARTが持っているレジスタのオフセットアドレス │ core_uart_apb.c // UARTへ出力したり、入力したりする関数 │ core_uart_apb.h // ヘッダファイル。ビットマスク等の設定値defineとprototype宣 言 @shibatchii
13.
ソフトウェア構成2 │ ├─hal // Hardware
Abstraction Layer ハードウェア抽象化階層 │ cpu_types.h // typedef 数個 │ hal.h // レジスタアクセスとかをHW依存のから共通のアクセスに変換 │ hal_assert.h // HAL_ASSERT がdefineしてある │ hal_irq.c // 割り込みの抽象化 │ hw_macros.h // ハードウェアレジスタアクセス define │ hw_reg_access.c // レジスタアクセス関数 │ hw_reg_access.h // レジスタアクセス関数のプロトタイプ宣言 │ └─riscv_hal // RISC-V用 Hardware Abstraction Layer ハードウェア抽象化階層 encoding.h // ステータスや割り込みレジスタのビット位置define等 entry.S // csrアクセスアセンブラ init.c // 領域コピー関数 microsemi-riscv-ram.ld // SRAMのメモリスペース設定 riscv_CoreplexE31.h // 割り込み制御、設定 riscv_hal.c // 割り込みハンドラ riscv_hal.h // 割り込みハンドラのプロトタイプ宣言 riscv_hal_stubs.c // 該当関数が定義されていないときのスタブ関数 sample_hw_platform.h // ベースアドレスや定数設定 syscall.c // UART_APBアクセス関数 @shibatchii
14.
プログラム抜粋 (main.c) // riscvの抽象化階層、必要な定数等の定義、関数ヘッダ
呼び出し #include "riscv_hal.h" #include "hw_platform.h" #include "core_gpio.h" // GPIOでin,outの変数宣言。 // core_gpio.hで宣言 gpio_instance_t g_gpio_in; gpio_instance_t g_gpio_out; // ステートカウンタ宣言。初期値は1 uint32_t g_state = 1; // 割り込みハンドラ関数。 void SysTick_Handler(void) { uint32_t stable; uint32_t gpout; // GPIOのデータを読み出す stable = GPIO_get_inputs(&g_gpio_in); // 反転して、マスクをかけている。 gpout = ~stable & 0x000000F0; // g_tateを右1ビットシフト。つまり2倍にしている g_state = g_state << 1; // 4より大きくなったら1にする. if (g_state > 4) { g_state = 0x01; } // [7:4]がそのままもちこし、[3:0]がステートカウント値 gpout = gpout | g_state; // GPIOに出力 GPIO_set_outputs(&g_gpio_out, gpout); } @shibatchii // おなじみ、Cのメイン int main(int argc, char **argv) { // PLICって Platform Level Interrupt Controller の略 // この関数は riscv_CoreplexE31.hで定義してある PLIC_init(); // GPIOの初期化。ここで入力でつかうとかの設定。INとOUTでアドレスが違う // core_gpio.hで宣言 // COREGPIO_IN_BASE_ADDR とかは hw_platform.h で定義 GPIO_init(&g_gpio_in, COREGPIO_IN_BASE_ADDR, GPIO_APB_32_BITS_BUS); GPIO_init(&g_gpio_out, COREGPIO_OUT_BASE_ADDR, GPIO_APB_32_BITS_BUS); // タイマー設定 riscv_hal.h で定義されている。 // SYS_CLK_FREQ は hw_platform.h で定義。83000000UL なので 83MHz SysTick_Config(SYS_CLK_FREQ / 2); return 0; }
15.
動かしてみよう @shibatchii LiberoSoc,SoftConsole インストール、設定 GitHubからMicrosemi RISC-V Igloo2用を一式ダウンロード LiberoSocにパーツ取り込み Lチカのプロジェクト取り込み FPGAファブリックのコンパイル FPGAに書き込み SoftConsoleでファームコンパイル 実行! LED点滅!
16.
デモ まずはVideoでみてね。 https://www.youtube.com/watch?v=-mrOy9FMHzA
時間があれば実機でデモするよ。 @shibatchii
17.
まとめ Microsemiは何を考えているか。(@shibatchii主観) いままでは、IglooにCortex-M3載せたSmartfusionや Smartfusion2でCortex-M3、そこからCPU除けたIgloo2 などをリリースしてきた。
だが最新のPolaFireではCPU入りのはでてきなさそう。 XilinXのMicrobreeze,IntelのNIOSⅡのようなメインラインのCPUを 持ってない。 ハードCPUを載せるのはちょっと荷が重い。 そうだ!RISC-Vで自由に構成してもらおう! ベンダーもユーザーもWin&Win! 今後予定 とりあえずデモを動かしてみただけなので、RISC-Vを調査し オリジナルなもの(無駄に高機能な時計とか)作ってみる。 @shibatchii
18.
質問タイム なにか質問あればどうそ。 なんでも良いですよ。 @shibatchii
Télécharger maintenant