FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

「スターウォーズ エピソード8 最後のジェダイ」を見てきた

スターウォーズ大好きなんです。。。 starwars.disney.co.jp 本当は公開当日に行きたかったけど、忙しかったので一週間遅れ。レイトショーで見てきた。2時間30分って長いよ! ストーリーはエピソード7ほど大きくは動かなかったような気がする。いろんな人が…

7th RISC-V Workshop の Vector Extension Proposal 概要

RISC-V 7th Workshopでは、Vector Extensionの説明がなされている。 The RISC-V Vector ISA https://content.riscv.org/wp-content/uploads/2017/12/Wed-1330-RISCVRogerEspasaVEXT-v4.pdf 資料を読みながらまとめてみる。追記の可能性あり。 RISC-V Vector …

RISC-VのCompression命令仕様について

RISC-Vのハードウェア仕様の中で、RV64GCとか、RV32IMACとか出てくるが、その中で"C"というのは"Compressed"命令ということで、命令長が16bitの短縮命令のことを指す。 サポートしているアーキテクチャの中で"C"が入っていれば、このCompressed 命令を動かす…

RISC-Vオープンソースコア Rocket-Chip, BOOMv1, BOOMv2 のサイクル性能比較

RISC-V Day Tokyo 2017お疲れさまでした。 私は午前中から適当なことを喋って、特にお金をもらっているわけでもないのにRISC-V Foundationとか、SiFiveのIPについてべた褒めをしてしまったのだった。 あとで何人かには聞かれたのだが、講演で使った資料には…

Computer Architecture 6th Editionの7章"Domain-Specific Architecture" を読む (7.3章の用語集)

ヘネパタ第6版こと、"Computer Architecture 6th Edition" では、第7章でドメイン固有アーキテクチャの章が新設された。 これを機会に、しっかり読んでいこう。 Computer Architecture, Sixth Edition: A Quantitative Approach (The Morgan Kaufmann Series…

Computer Architecture 6th Editionの7章"Domain-Specific Architecture" を読む (7.1, 7.2章)

ヘネパタ第6版こと、"Computer Architecture 6th Edition" では、第7章でドメイン固有アーキテクチャの章が新設された。 これを機会に、しっかり読んでいこう。 Computer Architecture, Sixth Edition: A Quantitative Approach (The Morgan Kaufmann Series…

PowerPointで複雑な図形を作成するときに使える「図形の結合」

最近知ったPowerPointの技。 PowerPointの図形はデフォルトで用意された四角形や三角形などを使うことが出来るが、ではそれ以外の複雑な形を作るためにはどのようにすればよいのか? 例えば、我々コンピュータアーキテクチャの世界では"ALU"(通称パンツ)をPo…

NVDLA Virtual Platformの試行 (2. ビルド成功 → ログイン)

この記事は 半導体・ハードウェア開発 Advent Calendar 2017 - Qiita の16日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 私一人では、クオリティのある記事を続けられそうにありません。。。(弱音) 目…

NVDLA Virtual Platformの試行 (1. ビルド試行 → 失敗)

この記事は 半導体・ハードウェア開発 Advent Calendar 2017 - Qiita の15日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 私一人では、クオリティのある記事を続けられそうにありません。。。(弱音) 目…

NVIDIAのオープンソース ディープラーニングアクセラレータを試す(3. NVDLAの内部ブロック)

この記事は 半導体・ハードウェア開発 Advent Calendar 2017 - Qiita の13日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 私一人では、クオリティのある記事を続けられそうにありません。。。(弱音) 目…

NVIDIAのオープンソース ディープラーニングアクセラレータを試す(2. Vivado Simulatorでの波形ダンプと階層解析)

NVDLAをVivado Simulatorで実行するときは、Vivadoの波形ダンプ機能を使ってシミュレーション結果を保存することが出来る。 cd nvdla_hw/verif/sim_vivado/ make build DUMP=1 make run TEST=sanity0 sanity0/work.top.wdb に、 Vivado Simulatorの実行結果…

RISC-V Day Tokyo 2017にて発表します

今年の発表は2回目です。 2017/12/18(月)に開催されるRISC-V Day Tokyo 2017にて、発表させていただくことになりました。 10:00-10:20で、タイトルは「RISC-V オープンソースハードウェア概説」としています。 前回のDesign Solution Forumでは非常にザック…

NVIDIAのオープンソース ディープラーニングアクセラレータを試す(1. NVDLAのビルドとシミュレーション環境構築)

NVIDIAのオープンソース・ディープラーニングアクセラレータ「NVDLA」について調査したことをまとめる。 ハードウェア・ソフトウェアのイントロダクションについて NVDLA Primer NVDLA Primer — NVDLA Documentation msyksphinz.hatenablog.com msyksphinz.h…

7th RISC-V workshopのアジェンダ公開 & 8th RISC-V workshopについて

11月28日から11月30日までミルピタス州のWestern Digital社で開催されていた7th RISC-V Workshopのアジェンダおよび発表資料が、riscv.orgに公開されています。 riscv.org 今回は発表量が非常に多く、分刻みのスケジュールとなっており内容も盛りだくさん。 …

RISC-VのPLIC(Platform-Level Interrupt Controller)について

RISC-VのPLIC(Platform-Level Interrupt Controller)について調査している。 以下はRISC-V Privileged Architecture Manualからの抜粋。 Draft Privileged ISA Specification v1.10 - RISC-V Foundation プラットフォームレベル割り込みコントローラ (PLIC) …

RISC-V向けRust-Toolchain の仕組み(HiFiveクレート)

RISC-V向け Rustのリポジトリは結構な量のライブラリとツール群が入っているが、HiFive1のサポートパッケージはどのように構成されているのか調査してみた。 riscv-rust-quickstartのCargo.tomlにはhttps://github.com/dvc94ch/hifiveを指定する記述があり、…

RISC-V向けRust-Toolchain試行(4. リポジトリの修正試行 → ビルド成功 → HiFive1動作)

前回のRust on RISC-Vのツールチェインのビルドの続き。 msyksphinz.hatenablog.com riscv-rust-toolchainをビルドするためのソースコード修正 結局なんでうまくいかないのか、GitHubで聞きました。 compile error on ubuntu 17.10 https://github.com/dvc94…

Computer Architecture: A Quantitative Approach 第6版を入手しました

この記事は 半導体・ハードウェア開発 Advent Calendar 2017 - Qiita の7日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 私一人では、クオリティのある記事を続けられそうにありません。。。(弱音) 前…

ハードウェア開発・オープンソースの検証プラットフォームを調べてみた

この記事は 半導体・ハードウェア開発 Advent Calendar 2017 - Qiita の6日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 私一人では、クオリティのある記事を続けられそうにありません。。。(弱音) ソ…

オープンソースGPGPU "NyuziProcessor" について調査

この記事は 半導体・ハードウェア開発 Advent Calendar 2017 - Qiita の5日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 私一人では、クオリティのある記事を続けられそうにありません。。。(弱音) (こ…

2017年のRISC-V界隈振り返り

この記事は 半導体・ハードウェア開発 Advent Calendar 2017 - Qiita の2日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 私一人では、クオリティのある記事を続けられそうにありません。。。(弱音) 201…

NVDLA 1.0 がVerilatorに対応している(が、ビルドできるのは潤沢な資源を持つ金持ちだけ)

NVDLAを調べていく中で、NVLDA Ver.1.0に上がってさらに、Verilatorの対応が追加されているのを発見した。 よく見たらIntegrator's Manualもアップデートされており、Verilatorでのシミュレーション方法が実行されている。 前回Verilatorでコンパイルするこ…

RISC-V向けRust-Toolchain試行(3. Repositoryと環境の修正試行)

前回のRust on RISC-Vのツールチェインのビルドの続き。 msyksphinz.hatenablog.com 前回のRust on RISC-Vのツールチェインのビルドは、おそらくパッケージとライブラリの指定が足りないせいだ。 Ubuntu 17.10にパッケージを追加するのと、LD_LIBRARY_PATHを…

RISC-V向けRust-Toolchain試行(2. Repositoryの修正試行)

前回、RISC-V Rust Toolchainが公開されていたので早速ビルドしようとしていたのだが上手く行かなかった。 msyksphinz.hatenablog.com $ make build xargo build --target riscv32-unknown-none error: failed to run `rustc` to learn about target-specifi…

2017年の半導体業界振り返り~AIに踊らされ続ける半導体業界~

この記事は 半導体・ハードウェア開発 Advent Calendar 2017 - Qiita の1日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 私一人では、クオリティのある記事を続けられそうにありません。。。(弱音) 201…

Rocket-ChipとBOOMの環境の違いは何なのか?(1)

UCB(University of California Berkeley)の実装したRISC-Vコアとしては代表的なものが2つあり、1つのリポジトリでブランチが切られている。 github.com Rocket-Chip : masterブランチ BOOM-v1 : boom2ブランチ BOOM-v1 : boom-v1ブランチ しかしどうもRocket…

RISC-V向けRust-Toolchain試行(1)

RISC-V Workshopが開催されているが、このタイミングでプログラミング言語RustのRISC-V移植版が公開されているのを発見した。 やっぱり来ると思ったよ! abopen.com Rustのコンパイル環境はLLVMをベースにしているようだ。 ターゲットボードはHiFive1となっ…

ハードウェア記述言語"Chisel"のテスト環境の一例"Hardfloat"(1)

RISC-Vの実装であるRocket-Chipには、標準的な5ステージパイプラインであるRocket-Core、さらにアウトオブオーダ実行が可能なBOOM(Berkeley Out-of-Order Machine)-V1, BOOM-V2などが存在する。 これらのCPUコアはいずれもハードウェア浮動小数点演算器を持…

「リーダブルコード」を読む (第15章「「分/時間カウンタ」を設計・実装する」)

「リーダブルコード」読書会。名著と呼ばれており、私も一度さっくりと読んだ。 ただし忘れていることもあるし、体系的に学びたいので読み直す。 例によってJupyter Notebookに書いてまとめをブログに張っていくことにする。 今回は最後の章「第15章「分・時…

「リーダブルコード」を読む (第13章「短いコードを書く」第14章「テストと読みやすさ」)

「リーダブルコード」読書会。名著と呼ばれており、私も一度さっくりと読んだ。 ただし忘れていることもあるし、体系的に学びたいので読み直す。 例によってJupyter Notebookに書いてまとめをブログに張っていくことにする。 今回は「第13章 短いコードを書…