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