FPGA関連

今後ずっとFPGAをやっていくかはわかんないけど,今後の役に立ちそうなことはmemoしておこうかな.

そもそもFPGAらへんの歴史とか知識

開発環境

ボード: DE0-CV (altera(Intel)) 開発ソフトウェア: Quartus Prime Lite Edition ver17.0 (https://www.intel.co.jp/content/www/jp/ja/software/programmable/quartus-prime/download.html) OS: Windows10

環境構築

Quartus Prime install

気をつける点は一つだけ. 終了時に USB braster Ⅱのインストーラーを起動にチェックにチェックがしてあるのを確認すること. あとは適当にインストーラーぽちぽちしてろ.

USB-Blasterドライバ install

↑を忘れなきゃ普通にできるからインストーラーぽちぽちしてろ.

基本的な使い方

まずはじめに

Quartus Prime(以下QP)にもエディタ的な機能はついているが, 基本的にはファイルの編集はエディタで編集してそれをImportする形で利用する. ファイル構成?とかはとりあえず なんか色々メモっとくゾーン を見ればいいかも.

これ以降はあとでメモるぞ.

ロジックアナライザの使い方

設計時のデバグとかで使うらしいぞ.

あとでメモるぞ.

なんか色々メモっとくゾーン

命名規則

項目

内容

ファイル

小文字 拡張子は「.v」

モジュール

大文字

入出力信号

大文字

パラメータ

大文字

内部信号

小文字

ローアクティブ信号

先頭に「n」

HDLファイルの保存場所

プロジェクトファイルないの「HDL」ディレクトリ

プロジェクト名と最上位階層名

大文字で同一にする

ファイルの種類?

項目

内容

~~~~.v

verilogファイル?

~~~~.qsf

ピンアサインファイルや他各種設定ファイル?

~~~~.sdc

制約ファイル(クロックとか使うのにいる?)

~~~~.qpf

プロジェクトファイル

どうやら基本的にはverilogを書いて,設計によって制約ファイルを修正するみたいな感じでdevelopしていく感じぽい. ピンアサインはピンとかを名前づけするものみたいだから同じボードには使い回ししてもいいものっぽい.

FPGAについて誤解していたこととわかったこと

当初,FPGAは電気回路をプログラミングできるみたいなイメージかと思っていた. 一個一個素子とかを定義したりして,繋いでいくようなイメージ. (もちろん僕がまだ知らないだけでできるのかもしれないけど)

ただし基本的な使い方は,モジュールという小さな昨日の塊を作って, それをつなぎ合わせていくようなものだった. モジュールの定義はC的なプログラミングができる. また,つなげる先はモジュール同士はもちろん,物理的なスイッチやLEDなどと接続が簡単にできる. モジュールとは,CPUで言うなら,ALU・レジスタ群・PC...とかのイメージ.

GPIO

GPIO(General Purpoes Input/Outpu) はデジタル信号の汎用入出力のピンのこと. rasbberypayとかにもついてる.

Verilog HDL