ちなみにMAX 10 NEEKに搭載されている10M50DAF484C6GはLE(Logic Elements)が50K、Block Memoryも1638Kbit(204.75KB)と最大規模のものなので、ついNios II/fを選択したくなるのだが、こちらは有償扱い(一応無償で利用できるOpenCore Plusベースのものが利用できるが、時間制限付き)なので、諦めてNios II/eを選択する(Photo05)。
設定画面に戻るとエラーが出ているが(Photo06)、それは気にせずに次は"Interface Protocols" → "Serial" → "JTAG UART"を追加する(Photo07)。その次は、"Basic Functions" → "On Chip Memory" → "On-Chip Memory (RAM or ROM)"でRAMを登録する(Photo08)。
ここで容量は64KBを選んだが、これはまぁこの位あれば取りあえずいいだろうという事であって、デフォルトの4KBのままでも今回の用途には十分である。むしろ注意点は、"Memory Initialization"の所にある"Initialize memory context"のチェックを外しておく事だ(Photo09)。
最後に、10個のLEDの点滅用のParallel I/Oポートの指定である(Photo10)。"Processors and Peripherals" → "Peripherals" → PIO( Parallel I/O )"を指定する形だ。今回はLEDが10個なので、Widthには10を指定する(Photo11)。あと、デバイスの名前を"pio_0"に変更しておく。
次に、それぞれのIPの結合を行う。Photo12で赤丸をつけてある箇所をクリックして、黒丸(結合状態)にする形だ。例えば一番左側の線はクロックドライバから出力されるクロック信号なので、これをNIOS II、JTAG_UART、On Chip Memory、PIOの各デバイスに供給するための設定がこれである。同様にReset出力、JTAGからNIOS IIへのIRQ、データの送受信など必要な配線をつなぐ形だ。
Copyright © ITmedia, Inc. All Rights Reserved.