FPGAに関する情報を中心にエレクトロニクス入門者向けの情報を収集、公開していきます。
2014/12/05 20:30
FPGAやエレクトロニクス周辺の基礎知識を学べるサイトへのリンクです。
2014/12/05 20:30
Icarus Verilogは、オープンソースのVerilogコンパイラ&シミュレータです。通常のPC上でVerilogソースコードのコンパイルとシミュレーションを行うことができます。
2014/12/13 17:20
Synthesijerは、オープンソースの高位合成ツールです。Javaで書かれたプログラムをHDLにコンバートして論理回路を簡単に設計することができます。
2015/02/14 22:00
SynthesijerにはHDLで書かれたモジュールをクラスライブラリ化してJava側から簡単に使えるようにする仕組みがあります。今回はVerilog HDLで書いたVGA出力モジュールをクラスライブラリ化してJavaで書いたライフゲームの画面出力に使用してみます。
2015/03/21 19:00
Quartus PrimeをUbuntu (64bit版)にインストールします。
2015/05/10 22:10
FPGA開発ボード「Terasic DE0-CV」のGPIO端子をブレッドボードに接続するためのケーブルを製作します。
2015/06/13 14:30
FPGA開発ボード「Terasic DE0-CV」で音声を出力できるようにするためにオーディオ・アダプタを製作します。
2015/06/13 14:30
高位合成ツール「Synthesijer」を使ってゲームを開発し、FPGAに実装して動作させます。
2015/06/13 14:30
「BeMicro CV A9」は30万ロジックエレメント相当の回路規模と684基の乗算器のFPGAを搭載しながらも$149(2015/10時点)という低価格で販売されているコストパフォーマンスの高いFPGA開発ボードです。今回はこのボードで開発を始めるのに必要な基本的なプロジェクトの雛形を作成してみました。
2015/07/11 19:00
FPGA開発ボード「BeMicro CV A9」「BeMicro Max 10」で映像・音声出力、コントローラー入力を行うためのインターフェース・ボードを製作します。
2015/08/08 20:10
「BeMicro Max 10」は$30(2015/10時点)で購入できる低価格なFPGA開発ボードです。今回はこのボードで開発を始めるためのプロジェクト・テンプレートの作成と、別途作成したAVインターフェースボードを接続してブロック崩しゲームの実行を行いました。
2015/08/15 20:30
SynthesijerのI2Cライブラリを使ってI2Cバス対応の有機ELキャラクタディスプレイモジュールを制御します。
2015/10/24 20:50
FPGA上に独自設計のCPUを実装してみます。
FPGAと高位合成(ここではSynthesijer)を使えば独自のCPUも簡単に作ることができます。
2015/10/26 21:40
FPGA上に独自設計のCPUを実装してみます。
アーキテクチャはこちらのものと同一で、それをVerilog HDLで実装したものです。
2015/11/01 10:00
メモリアクセスの方法に工夫をして性能を向上させるアーキテクチャを考えてみます。
2015/12/27 18:40
Raspberry PiとFPGAボードをUSBで接続し、Synthesijerで高位合成、IceStormで論理合成、配置配線、書き込みを行って、バッテリー駆動のRaspberry Pi単体のみで完全オープンソースのFPGAセルフ開発環境を構築します。
2016/04/08 20:00
x86 PCにUbuntu 20.04をインストールします。Ubuntu 20.04 (Focal Fossa)はUbuntuのLTS(Long Term Support:長期サポート)版で、通常のリリースよりも長期間セキュリティ・アップデートがサポートされます。
2020/04/14 22:35更新(初出2016/04/22 20:20)
「FPGA電子工作スーパーキット」の付録のMAX10-FB基板を使ってみます。
2016/05/22 20:00
スプライト/キャラクター表示ライブラリを作りました。Synthesijerからインスタンス化して簡単に使用することができます。
2016/09/29 20:00
SynthesijerでSynthesizerを作ってみました。
2017/10/26 20:10
ハードウェア的にライン描画を行う回路を作り、そのベンチマークを取ってみました。
2018/02/26 20:00
今回は、できる限り回路規模を小さく、できる限り高クロックで動作させることを主眼に置き、かつ、必要な命令を一通り備えた実用的なCPUを目指して設計しました。
2018/11/25 15:00
前回設計したMini16-CPUを使ってメニーコア構成のSoCを実装してみました。
2019/01/24 20:00
容量的にコスパの良いFPGAを選んで比較してみました。ベンダーごとに、価格あたりの容量が多い順に並べています。
2019/05/22 20:00
VivadoでFPGAのビットストリームを生成し、Vitisでプロジェクトを作成するためのXSAファイルを出力する方法です。
2023/11/19 15:00
Vivado / Vitis 2022以前の環境 (Vitis Classic IDE) でのStand aloneプロジェクトの作成方法です。
2023/11/19 15:00
AMD (Xilinx) Kria KV260, KR260で簡単に開発を始めるためのテンプレート・プロジェクト生成スクリプトです。VitisのStand alone (Bare metal) アプリケーション形式で構成しているのでホストPCからUSB経由で直接FPGAをコンフィグして実行することができます。
2023/11/19 15:00
AMD (Xilinx) Kria KV260, KR260のLive Audio機能を使ってFPGA側から映像、音声信号を生成してHDMI出力するサンプル・プロジェクトです。
2023/12/30 23:10
Kria KV260, KR260でファームウェアの書き換えに失敗してLinuxが起動しなくなってしまった場合、ボード内蔵のBoot Image Recovery Toolという機能を使えばPCからファームウェアを書き込んで復旧することが可能です。また、独自のアプリケーションのBoot Imageを作ってボード単体で即時起動させるような使い方もできます。
2024/06/15 22:30
Vitis Unified IDEでStand alone (Bare metal)アプリケーションを作成すると、IDEからUSB経由で直接KV260, KR260等のSoC FPGAをコンフィグ、実行できますが、Boot Image (BOOT.bin) を作成すればボードのフラッシュメモリにアプリケーションを書き込んでボード単体で即時実行することができます。
2024/06/15 22:30
今回は番外編としてFPGAではなく、オープンソースのEDAツール「Qflow」でスタンダード・セル方式の半導体設計を行ってみました。QflowはHDLソースコードを元にスタンダード・セル(NAND等の論理素子をブロック化したもの)を用いて論理合成、配置配線を行い、最終的に半導体チップのレイアウトデータ(GDSIIファイル)を生成するツールです。
2024/06/19 21:00
基本的にほとんどの命令を1クロックサイクルで完了させることによってディペンデンシー・ストールの発生を原理的になくし、どうしても1サイクルでは高速に実行できない命令のみパイプライン化することによって、実行効率と最大動作周波数のバランスを取ったプロセッサーを設計しました。
2024/07/06 14:00