LoginSignup
3
5

More than 5 years have passed since last update.

DE0-Nano-SoCでLチカするだけ

Last updated at Posted at 2017-06-11

はじめに

FPGAよく分かってない人がとりあえずDE0-Nano-SoCを買って
よくわからないまま仕様書を読んで配線するだけの記事
VHDL?Verilog HDL?なにそれ美味しいの?
と言う感じのレベル感の人。

ボタンを押したら光るような感じにしたい。

  1. このあたりのリンクとかを参考にプロジェクトとかを立ち上げる
    https://service.macnica.co.jp/library/113049

  2. このDE0-Nano-SoCのFPGAに繋がってるボタンとLEDの配線の仕様を事前に読んでおく(仕様書)
    ボタンの配線
    image.png
    LEDの配線
    image.png

仕様書によると、ボタン(KEY0またはKEY1)を押さない場合は3V電源がLEDに常につながってる状態。
つまりは、このまま下記の図のように直接配線するとLEDに繋げるとLED光りっぱなしになる。

image.png

押したら光らせたいので、この配線にNot回路を付け加えた感じの回路にしたい
image.png

と言うわけで、それでこんな感じの配線をさせる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を起動する。
image.png

DE0-Nano-SoCのボタン及びLEDは次のピンに対応している(仕様書に書かれている通り)
ピン番号:名称
AH17:KEY0
AH16:KEY1
PIN_W15:LED0
PIN_AA24:LED1
PIN_V15:LED2
PIN_V16:LED3

PinPlannerを起動するとこんな感じになるので、配線していく。
Locationの部分をダブルクリックするとリストが出るのでそこから配線するべき端子を選ぶ。コピペ・文字での入力も可能
a.gif

配線したら、PinPlannerを閉じてQuartusに戻ってコンパイル
image.png

コンパイルが終わったら、FPGAの下記図の赤丸の端子(USBブラスター端子)とPCを接続(他の端子は、電源以外繋がなくてOK)

image.png

次にプログラマを立ち上げてファイルを転送する。
image.png

何も押してない時
20170611_165947.jpg
両方おした時
20170611_165953.jpg
片方だけおした時
20170611_170000.jpg

おわり

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5