Springboard Development Kit ――開発ツール・レビュー
●ハードウェア ── VHDL記述
まず,VHDLによる回路の作成です.基本的なIN/OUTの定義は,先ほど動かしたサンプルのBlinker.vhdに含まれているので,そのままコピーして使用することができます.動作する部分にのみ手をいれて,後はそのまま使用します(リスト1).サンプル回路を活用できるので,HDL初心者であっても利用できそうです.
メカニカル・スイッチではないので「前」と「後」,「右」と「左」のスイッチが同時にONになる可能性があります.実際にその状態を起こしてしまうと問題があるのですが,それは,Visor側のソフトウェアで対応できるため,Complex
PLDではそのまま接続するだけとしておきました.
:
:
LOAD_LED_CNTL_REG: process(sp_a, sp_d, sp_wen, sp_cs1n)
begin
if(sp_cs1n = '0') then -- If CS1=0 and the LED0 address is
if(sp_wen'event and sp_wen='1') then -- valid, then register the D(0) value
if (sp_a = LED0_ADDR) then -- on the rising edge of WR
led0_en <= sp_d(0);
led1_en <= sp_d(1);
led2_en <= sp_d(2);
led3_en <= sp_d(3);
end if;
end if;
end if;
end process LOAD_LED_CNTL_REG;
led_0 <= led0_en; -- Output the LED0 control signal
led_1 <= led1_en; -- Output the LED0 control signal
led_2 <= led2_en; -- Output the LED0 control signal
led_3 <= led3_en; -- Output the LED0 control signal
:
:
〔リスト1〕BitG.vhd(今回記述した部分)