FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

2016-10-01から1ヶ月間の記事一覧

森美術館「宇宙と芸術展」に行ってきた

森美術館は毎回おもしろい、もしくは分かりにくテーマで企画展示をしていることが多いが、今回は宇宙だ。 正直、公式サイトの正面にあるスペースシャトルに釣られたと言わざるをえない。 www.mori.art.museum これ見てみたい、それだけだ。 感想としては、半…

5th RISC-V workshop @ Google Mountain View のアジェンダが公開されました

5th RISC-V Workshop @ Google Mountain View のアジェンダが公開されました。 riscv.org 日時 : November 29-30, 2016 場所 : Google’s Quad campus (468 Ellis Street, Mountain View, CA 94043) Mountain Viewなんて行けないけど、イベント後には毎回資料…

Chef-soloによるRISC-VのRocket-Chip向け環境自動ビルド

いろいろとVagrantの環境を仕込んでいるが、今回はRISC-V向けのRocket-Chip向け環境をVagrantとChef-soloでビルドする。 github.com 参照しているのは単純に以下のRocket向けgithubに書いてあるビルド手順をChef-soloに落としただけだ。 github.com 問題は、…

Chef-SoloによるVivadoの自動インストールとADV7511向けデザインの自動ビルド

前回はVagrant上のUbuntuにVivadoをインストールする途中だった。 何度か試行を繰替えしているが、どうにかなりそうだ。 msyksphinz.hatenablog.com msyksphinz.hatenablog.com Vivadoのインストールと、ZedBoard向けLinuxの立ち上げに必要なデザインの構築…

ZedBoard向けデザインを構築するスクリプトを自動化する(途中)

msyksphinz.hatenablog.com 前回で、Linuxをブートするためのローダのビルドは完了したので、今度はVagrant上のCUIだけでZedBoard用デザインのビルドに挑戦する。 参考にしたのは以下のサイトだ。 qiita.com あとはVivadoをCUIでインストールするのには、自…

FSBLを構築するスクリプトを自動化

これまで、Zynq ZedBoard向けにLinuxを作成する環境はいくつか構築してきたが、ちゃんとした自動化スクリプトを構築していなかった。 msyksphinz.hatenablog.com msyksphinz.hatenablog.com このさい、VagrantとChef-soloを利用して、ZedBoard向けのLinux環…

スマホ向けVRメガネ VOX gear+ を購入してみた

世の中ではPlaystation VRが発売されたらしいが、そんなものを買うお金は持っていない。 PlayStation VR PlayStation Camera同梱版出版社/メーカー: ソニー・インタラクティブエンタテインメント発売日: 2016/10/13メディア: Video Gameこの商品を含むブログ…

CPUのパイプライントレースビューアGem5 (RISC-V BOOMプロセッサのパイプラインを分解)

CPU

RISC-V BOOMプロセッサの試行をしていると、パイプライントレースの出力方法としてgem5というものを利用していた。 github.com gem5というのは何なんだろう?調査してみる。 The gem5 Simulator: A modular platform for computer-system architecture resea…

RISC-Vで実機動作可能な実装まとめ

RISC-Vは、様々なグループ、団体がその実装を行っており、RISC-V Workshopではいくつかの実装の発表も行われている。 そこで、現時点で一般ユーザが入手可能なRISC-Vとしてはどのようなものがあるか、ここでまとめておきたい。 この記事は情報がアップデート…

FreeBSD 11.0でのRISC-V環境生成試行 (4. RISC-V QEMUのビルド)

(画像はriscv.org, freebsd.orgより拝借) RISC-V向けQEMUのビルドでハマったのでメモしておく。 基本的には以下のページを参照してビルドすれば良いのだが、いくつかハマる点がある。パッケージのインストールが必要なのと、環境変数の設定だ。 riscv - Free…

RISC-V BOOMについて (2. ビルド試行とVagrant環境構築)

(画像は riscv.org より拝借) RISC-V BOOMについて、環境構築を行っている。例によってVagrant上にRISC-V BOOMのビルドを行うことのできる環境を作っておきたい。 前回のFreeBSD on RISC-Vの環境と同様に、Vagrant上の環境を作成したのでメモしておく。 msyk…

FreeBSD 11.0でのRISC-V環境生成試行 (3. Vagrantでの環境構築完成)

(画像はriscv.org, freebsd.orgより拝借) 前回、FreeBSD 11.0のRISC-V環境構築を試行したのだが、うまく行かなくて止まってしまっていた。 msyksphinz.hatenablog.com 結局RISC-Vのメーリングリストに質問して、うまく行く方法が分かった。Vagrantの環境を構…

Imaginationのマルチクラスタに対応した最新MIPSコアI6500

ちょっと前の話になるが、MIPSプロセッサの開発を行っているImagination Technologiesが最新MIPSコアを発表した。 imgtec.com I6500というプロセッサで、"M","I","P","S"シリースでは中間にあたるコアになるのかな?特徴としては、以下のようなものが上げら…

RISC-V BOOMについて、とビルド試行 (1. チェックアウトとビルド、シミュレーションまで)

RISC-Vについては様々な団体からISAを実装したプロセッサコアが登場していうが、そもそもRISC-Vを提唱した Berkeley が開発したRISC-Vプロセッサコアは、以下の2種類であるという理解でいる。 RocketCore BOOM (Berkeley Out-of-Order Machine) RocketCoreに…

FreeBSD 11.0でのRISC-V環境生成試行 (2. ツールチェインがビルドできない問題点)

(画像はriscv.org, freebsd.orgより拝借) msyksphinz.hatenablog.com FreeBSD 11.0でRISC-Vアーキテクチャがサポートされたとのことで、休日にビルド試行を行っていたのだが、どうもまだうまく行かない。 FreeBSDの仮想マシン上でRISC-Vのツールチェインをビ…

FreeBSD 11.0ではRISC-Vをサポートしている (環境構築試行)

(画像はriscv.org, freebsd.orgより拝借) The FreeBSD Project FreeBSD 11.0-RELEASE Announcement FreeBSD 11.0がリリースされた。アーキテクチャのサポートとして、ARM64およびRISC-Vのサポートが追加されたらしい。 FreeBSDは、昔から積極的にRISC-Vをサ…

Vivado 2016.3がリリースされました

たまには「FPGA開発日記」らしくFPGA関連の話題を。 Vivado 2016.3がリリースされた。主な変更内容としては、 Vivado Design Suite User Guide Release Notes, Installation, and Licensing https://www.xilinx.com/support/documentation/sw_manuals/xilinx…

L1キャッシュを制御するためのステートマシン調査

CPU

L1キャッシュは、具体的にはどのようにして制御をしたらいいのだろう? まずはサンプル回路を使って、制御シーケンスを調査してみよう。 対象とするのは、パタヘネで解説してあるL1キャッシュのシーケンサだ。 コンピュータの構成と設計 第5版 上作者: ジョ…

VagrantでBashの入っていないOSをプロビジョニングする際の注意点

Vagrantには、仮想マシンを構築する際にプロビジョニングという、仮想マシン上のOSに対してさまざまな処理を実行することができる。 このプロビジョニングの機能を使って、例えば仮想マシン上のOSにソフトウェアをあらかじめインストールしたり、環境を構築…

シンプルなL1キャッシュをVerilog実装する(1. シンプルなモデルを調査)

CPU

CPUにシンプルなL1キャッシュを実装する。単純なダイレクトマッピングで、最初はレイテンシについてもあまり考えない。 ヒットミス判定が正しく行え、正しくデータをパイプラインに流すことができることを至上命題としよう。 まず、いろいろ調査していると、…

Vivado-HLSとAXI4-DMAの試行(4. Vivado-HLSのリファレンスデザインを試行する)

AXI4-DMAの試行をしているが、どうもうまくいかない。Vivado-HLSのリファレンスデザインを試行してみることにした。 試行するのは、xapp1170のリファレンスデザインだ。どうやらVivado 2015.2 での実装で確認されているらしい。そこでVivado 2015.2をインス…

Epiphany-V: A 1024プロセッサコアについて

CPU

Parallelaからリリースされた1024コアのプロセッサについて。 上記画像はAdaptevaのブログより引用。https://www.parallella.org/2016/10/05/epiphany-v-a-1024-core-64-bit-risc-processor/ Epiphany-V: A 1024-core 64-bit RISC processor | Parallella 10…

Vivado-HLSとAXI4-DMAの試行(3. Vivado-HLSのカスタムIPをSDKから制御する)

AXI4-DMAを試行している。Vivado-HLSでカスタムIPを作成し、Vivado-HLSのコアをAXI4-Streamで接続し、SDKから制御できるようになりたい。 前回、VivadoにカスタムIPをインプリメントし、デザインを生成した。次にSDKを使って制御してみる。 msyksphinz.haten…

Vivado-HLSとAXI4-DMAの試行(2. Vivado-HLSのカスタムIPをVivadoにインポートして接続する)

前回に、Vivado-HLSで作成した浮動小数点行列積回路をAXI4-Streamに対応させた。今度はVivado側で、作成したIPをDMAに接続して、デザインを作成してみよう。 msyksphinz.hatenablog.com msyksphinz.hatenablog.com msyksphinz.hatenablog.com 参考にしたのは…

Vivado-HLSとAXI4-DMAの試行(1. Vivado-HLSデザインをAXI-Streamインタフェースに対応させる)

前回行列乗算回路を最適化することで、ソフトウェアと比較して大幅に性能を向上させることに成功した。 msyksphinz.hatenablog.com msyksphinz.hatenablog.com その時に参照していたのが以下の資料だが、そこにはAXI4-DMAを使ったときの方法が書いてある。 h…

Vivado-HLSで書いた回路とプログラムで速度比較(2. directive挿入による性能改善)

Vivado-HLSで行列積演算回路を作成したが、この性能はあまり良いものでは無かった。 msyksphinz.hatenablog.com その後いろいろ調査を行った結果、以下の資料を発見した。 以下の資料は、その名の通り浮動小数点行列積をVivado-HLSで実装したときの最適化ガ…

Vivado-HLSで書いた回路とプログラムで速度比較(1)

Vivado-HLSで行列積の回路を設計した場合と、普通にARM Cortex-A9上で動作する行列積のプログラムでどれくらいの速度差になるのか調査してみることにした。 今回使用するのは48×48の行列データで、ころ2つのデータの行列積を計算するものとする。 for (j = 0…

FreeBSD on RISC-Vのビルド試行(1)

(画像はriscv.org, freebsd.orgより拝借) FreeBSD on RISC-Vの開発が進んでいるという話を以前紹介した。 msyksphinz.hatenablog.com これ、ちゃんとシミュレータや実機で動作させることができるらしい。そうと分かれば、自分でビルドして使ってみたい。 ris…

Bash on WindowsでChainerを動作させる

なんかツールのインストールだけで殆ど使いこなせていないのだが、TensorFlowの次にBash on WindowsにChainerをインストールしてみた。 といっても、インストール自体はpipで一発で実行可能だ。 masayuki@FIXEDESK:~$ pip install chainer Collecting chaine…

Bash on WindowsでTensorFlowを動作させる

以前、Bash on Windowsのβ版でTensorFlowを動作させるテストをした。 このときはうまく動作しなかったのだが、Bash on Windowsが実リリースされた今、インストールは出来るようになっているだろうか? msyksphinz.hatenablog.com Bash on Windowsのインスト…