はじめに
FPGAよく分かってない人がとりあえずDE0-Nano-SoCを買って
よくわからないまま仕様書を読んで配線するだけの記事
VHDL?Verilog HDL?なにそれ美味しいの?
と言う感じのレベル感の人。
ボタンを押したら光るような感じにしたい。
-
このあたりのリンクとかを参考にプロジェクトとかを立ち上げる
https://service.macnica.co.jp/library/113049 -
このDE0-Nano-SoCのFPGAに繋がってるボタンとLEDの配線の仕様を事前に読んでおく(仕様書)
ボタンの配線
LEDの配線
仕様書によると、ボタン(KEY0またはKEY1)を押さない場合は3V電源がLEDに常につながってる状態。
つまりは、このまま下記の図のように直接配線するとLEDに繋げるとLED光りっぱなしになる。
押したら光らせたいので、この配線にNot回路を付け加えた感じの回路にしたい
と言うわけで、それでこんな感じの配線をさせるvhdlを書く。
library ieee;
use ieee.std_logic_1164.all;
entity LED_blink is
port (
Key0 : in std_logic;
Key1 : in std_logic;
-- LEDの配列、0-3までを今回は使う
LEDs : out std_logic_vector(3 downto 0)
);
end LED_blink;
architecture ledBtn of LED_blink is
begin
LEDs(0) <= not Key0;
LEDs(1) <= not Key1;
-- LEDの2番と3番はボタンが押されたら消えるようにする
LEDs(2) <= Key0;
LEDs(3) <= Key1;
end ledBtn;
PinPlannerでFPGA上に配線していく。
下記画像の1のボタンを押すとシンボル名とかがPinPlannerに反映されるっぽいので、それが終わったら2版のボタンを押してPinPlannerを起動する。
DE0-Nano-SoCのボタン及びLEDは次のピンに対応している(仕様書に書かれている通り)
ピン番号:名称
AH17:KEY0
AH16:KEY1
PIN_W15:LED0
PIN_AA24:LED1
PIN_V15:LED2
PIN_V16:LED3
PinPlannerを起動するとこんな感じになるので、配線していく。
Locationの部分をダブルクリックするとリストが出るのでそこから配線するべき端子を選ぶ。コピペ・文字での入力も可能
配線したら、PinPlannerを閉じてQuartusに戻ってコンパイル
コンパイルが終わったら、FPGAの下記図の赤丸の端子(USBブラスター端子)とPCを接続(他の端子は、電源以外繋がなくてOK)
おわり