The BAQ/Data Acquisition/Pulse Shape Analysis/FPGA Diary/4日目:サンプル改造

Japanese English
Nuclear Physics Data Acquisition Orchestra Gallery Memo Diary Link Home
DAQ System DAQ Module Pulse Shape Analysis RTLinux Linux Device Driver Home
FPGA Diary XPort Diary Home

もどる

3日目で使ったサンプルを書き直してFPGA&VHDLについて学ぶ。

Xilinxのページに置いてあった「多重化された 7 セグメント表示使用のデジタル クロック」を元にスイッチの状態をLEDで表示させるように改造する。

プログラム自体は非常に簡単で、動作を記述する部分は

process (rst, sw)
begin
if rst = '1' then
        led <= "11111111" ;
else
        led <= sw ;
end if ;
end process ;

だけでよい。
これはリセットボタン = プッシュボタン(0) = BTN3を押したときにLEDにすべて"1"を代入し、
スイッチのどれかの状態が変わった時はスイッチから得られる値をLEDに代入している。
これでスイッチの状態をLEDに反映できる。非常に簡単。(プロジェクトファイル

動作の様子

見にくいですが、スイッチの状態をLEDで表示できてます。

今回学んだことは、プログラム中で使っていない変数は最適化で削除されるということ。
Clockは基本的に使っていないのでclk50はSynthesis時に削除されてしまうのだけれど、clock.ucfに「net clk50 period = 50 MHz」という記述があったせいでTranslate時にエラーになってしまった。(Synthesisは通るけど、Translateは通らない)

Last Update: 2005/3/18
Hidetada Baba
baba rarfaxp.riken.jp