SlideShare a Scribd company logo
Microsemi FPGAで
RISC-Vを動かしてみた話(Lチカ)
RTLを語る会(14) ~FPGAの現実~
2017年09月24日(日)
@shibatchii
発表を聞くにあたっての注意点
 あまり真剣に見ないでください。
 ボロが丸わかりです。
 あまり深く考えないでください。
 え~それって〇〇じゃん、こじつけだーってとこ多いです。
 笑って、和やかな心で見てください。
 その方が幸せになれます。
 勘のいい子は嫌いだよ
@shibatchii
自己紹介
@shibatchii
名前: @shibatchii
仕事:ASIC、FPGAの設計検証
某ゲーム機のDDR I/Fとか
現在常駐で東京に来ている
本拠地は山口県宇部市
趣味:オートバイでツーリング
FPGA,マイコン いじり
ブログ:http://shibatchii.cocolog-nifty.com/blog/
ホームページ:http://shibatchii.cool.coocan.jp/
Twitter:@shibatchii フォロー歓迎
Microsemi FPGAで
RISC-Vを動かしてみた
@shibatchii
なぜMicrosemiでRISC-V?
 2016年11月頃、
「米Microsemi社は、オープンソースの命令セット「RISC-V」を実装した
CPUコア(RISC-Vコア)として「RV32IM」を開発し、同社のFPGA向けに
提供を始める。このCPUコアは、米SiFive社と共同開発したもの。」
というようなニュースが流れた。
 しばらくするとGitHubにFPGAのプロジェクト
ファイル等が提供された。
 おもしろそうだ、ボードもあるしやってみる
か!
 ちなみに、MicrosemiはRISC-VのGoldメンバー なのですぐに無くなることもないだろうと。
@shibatchii
RISC-Vとは
 CPUの命令セット・アーキテクチャ (ISA)
 グーグル、オラクル、ヒューレット・パッカード・エ
ンタープライズ(HPE)などが開発に参加
 完全にオープンで自由に使える命令セットアーキテク
チャ
 アドレッシングは32/64/128bitサポート
 上記、Wikipedia参照しました。https://ja.wikipedia.org/wiki/RISC-V
 詳細は FPGAマガジンNo.18とかRISC-VのWebページを参考にしてください。
@shibatchii
特徴
 自由度が高い
 必要なバス幅、命令セットを選んで構成できる
 バスも自由:AMBA,Sonic,VME,オレオレバス,etc
 メモリマップも自由:スタートベクタが途中にあっ
てもOK
 命令セット構成例
 RV32I MACFDQ
■ RV32I:基本命令 ■ M:乗算命令 ■ A:アトミック命令 ■ C:圧縮
■ F:単精度小数点 ■ D:倍精度小数点 ■ Q:4倍精度小数点 ■他にも J,L,V,B,T,Pなど有
ここまで必要ないなら、例えばRV32IMACだけでもOK
@shibatchii
MicrosemiのRISC-Vコア仕様
 低消費電力のASICマイクロコントローラおよびFPGAソフト
コアのインプリメンテーション用に設計•統合された8Kバイト
の命令キャッシュと8Kバイトのデータキャッシュ
 プラットフォームレベルの割り込みコントローラ(PLIC)は単
一優先度レベル
 RISCV標準のRV32IM ISAをサポート•JTAGインタフェース
を備えたオンチップデバッグユニット
 IOおよびメモリ用の2つの外部AXIインターフェイス
@shibatchii
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
Lチカ用全体構成
@shibatchii
Microsemiのサンプル
全体構成 ブロック図
@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
ソフトウェア構成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
ソフトウェア構成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
プログラム抜粋 (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;
}
動かしてみよう
@shibatchii
LiberoSoc,SoftConsole
インストール、設定
GitHubからMicrosemi RISC-V
Igloo2用を一式ダウンロード
LiberoSocにパーツ取り込み
Lチカのプロジェクト取り込み
FPGAファブリックのコンパイル
FPGAに書き込み
SoftConsoleでファームコンパイル
実行! LED点滅!
デモ
 まずはVideoでみてね。
 https://www.youtube.com/watch?v=-mrOy9FMHzA
 時間があれば実機でデモするよ。
@shibatchii
まとめ
 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
質問タイム
なにか質問あればどうそ。
なんでも良いですよ。
@shibatchii

More Related Content

What's hot

自作LSIコミュニティの可能性
自作LSIコミュニティの可能性自作LSIコミュニティの可能性
自作LSIコミュニティの可能性
Junichi Akita
 
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentQoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
Hideki Takase
 
Raspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すRaspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試す
Kenichiro MATOHARA
 
低レイヤー入門
低レイヤー入門低レイヤー入門
低レイヤー入門demuyan
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニックGenya Murakami
 
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Kiyotaka Doumae
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
増田 亨
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
 
WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。 WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。
tnoho
 
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
Yuji Otani
 
マルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化について
マルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化についてマルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化について
マルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化について
Fixstars Corporation
 
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
Yoshio Hanawa
 
中国と深センでの半導体とRISC-V業界事情
中国と深センでの半導体とRISC-V業界事情中国と深センでの半導体とRISC-V業界事情
中国と深センでの半導体とRISC-V業界事情
Junichi Akita
 
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
Hiroshi Tokumaru
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
 
Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用
Takuya Ueda
 
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdevApache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Yahoo!デベロッパーネットワーク
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
Takaya Saeki
 

What's hot (20)

自作LSIコミュニティの可能性
自作LSIコミュニティの可能性自作LSIコミュニティの可能性
自作LSIコミュニティの可能性
 
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentQoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
 
Raspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すRaspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試す
 
低レイヤー入門
低レイヤー入門低レイヤー入門
低レイヤー入門
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニック
 
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。 WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。
 
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
 
マルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化について
マルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化についてマルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化について
マルチレイヤコンパイラ基盤による、エッジ向けディープラーニングの実装と最適化について
 
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
 
中国と深センでの半導体とRISC-V業界事情
中国と深センでの半導体とRISC-V業界事情中国と深センでの半導体とRISC-V業界事情
中国と深センでの半導体とRISC-V業界事情
 
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用
 
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdevApache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
 

Similar to Microsemi FPGAで RISC-V を動かしてみた話 (Lチカ)

RISC-Vの基礎、オバービュー(RISC-V basis-overview)
RISC-Vの基礎、オバービュー(RISC-V basis-overview)RISC-Vの基礎、オバービュー(RISC-V basis-overview)
RISC-Vの基礎、オバービュー(RISC-V basis-overview)
Takayasu Shibata
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築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)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
inaz2
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0Kiwamu Okabe
 
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)Kazuyuki Sato
 
ceph acceleration and storage architecture
ceph acceleration and storage architectureceph acceleration and storage architecture
ceph acceleration and storage architecture
Yuki Kitajima
 
例会講座 今更fish shellの紹介
例会講座 今更fish shellの紹介 例会講座 今更fish shellの紹介
例会講座 今更fish shellの紹介
segre2
 
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
VirtualTech Japan Inc.
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Takuya Matsunaga
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
MITSUNARI Shigeo
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみた
y-uti
 
ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料
直久 住川
 
Power shell で DSL
Power shell で DSLPower shell で DSL
Power shell で DSLurasandesu
 
DartVM on Android
DartVM on AndroidDartVM on Android
DartVM on Android
nothingcosmos
 
Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介
Akira Hayakawa
 
FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器
I_HaL
 
高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応
marsee101
 
Androidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃうAndroidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃう
ksk sue
 
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Mr. Vengineer
 
Reconf 201506
Reconf 201506Reconf 201506
Reconf 201506
Takefumi MIYOSHI
 

Similar to Microsemi FPGAで RISC-V を動かしてみた話 (Lチカ) (20)

RISC-Vの基礎、オバービュー(RISC-V basis-overview)
RISC-Vの基礎、オバービュー(RISC-V basis-overview)RISC-Vの基礎、オバービュー(RISC-V basis-overview)
RISC-Vの基礎、オバービュー(RISC-V basis-overview)
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築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)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0
 
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
 
ceph acceleration and storage architecture
ceph acceleration and storage architectureceph acceleration and storage architecture
ceph acceleration and storage architecture
 
例会講座 今更fish shellの紹介
例会講座 今更fish shellの紹介 例会講座 今更fish shellの紹介
例会講座 今更fish shellの紹介
 
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみた
 
ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料
 
Power shell で DSL
Power shell で DSLPower shell で DSL
Power shell で DSL
 
DartVM on Android
DartVM on AndroidDartVM on Android
DartVM on Android
 
Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介
 
FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器
 
高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応
 
Androidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃうAndroidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃう
 
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
 
Reconf 201506
Reconf 201506Reconf 201506
Reconf 201506
 

Microsemi FPGAで RISC-V を動かしてみた話 (Lチカ)