Max II CPLDでQsysをつかってみた
QsysのProject SettingsメニューにCPLDもある
前回(JTAG to Avalon Master Bridgeを使ったバスコントロール - Lynx-EyEDの電音鍵盤 新館)でやってみた内容とほぼ同じ事を、CPLDでやってみました。
使用ボードはMax II Micro Kit (Terasic MMK)です。
具体的にはQsysで
- JTAG to Avalon-MM bridge
- PIO
のモジュールをMax II CPLD(EPM2210)向けにGenerateして、トップモジュールからインスタンスするだけです。
トップモジュールはmaxII_avalon_trialという名前にして、生成されたモジュールをインスタンシエート。
module maxII_avalon_trial( output reg [7:0] LED = 8'h0, input [3:0] button, input clk ); avalon_module u0 ( .clk_clk (clk), // clk.clk .pio_0_external_connection_export (LED) // pio_0_external_connection.export ); endmodule
論理合成結果は
1600LE近くを消費するという事態に
JTAG to Avalon MM Bridgeが64byteのFIFOを持つため、CPLDはLEを消費してしまうのが原因。(長船氏)
ちなみに、SPI slave to Avalon MM Bridgeに入れ替えると、消費ロジックは約330LEまで減ります。
動作確認
PIOの出力はLEDに接続されるようにしました。PIOのアドレスは今回は0x00000000にしてあります。
前回のDE0 nanoと変わらないので詳細は書きません。
0xAAをライトした時
0x55をライトした時
※ 出力をLレベルにするとLEDが点灯します