マルチプレクサ版のKITE-1マイクロプロセッサの実験ボードへの適用


KITEの実験ではKITE Microprocessor PLUS+ボードを使用していますが、FPGAの 実装規模が小さいこと、周辺装置用のインタフェースを別途開発する必要がある ことから、今回は実装ボードとして Xilinx社製 Spartan3e Starter Kit を用い ます。

Spartan3e Starter Kit を用いるにあたり、KITEプロセッサから出ている観測用 信号はすべて排除する必要があります。kite.v 階層の入出力信号は以下の信号 のみにします。
  module kite ( DATAI,			// in  DATA Bus
                DATAO,			// out DATA Bus
                ADDR,			// Address Bus
                MREQ,  IORQ,  ACK, RW,	// Memory/IO Interface
                CLOCK, RST		// System Interface
               );



作成しようとしているシステムは、KITE-1プロセッサをコアプロセッサとして、 メモリもジュールとVGAモジュールを含む、簡易なマイクロプロセッサシステム です。

以下の、システムブロック図を参考にして、各モジュールの接続関係を作成しま す。



例えば、メモリモジュールおよびVGAモジュールの入出力変数は以下のようにな ります。
module memory (CLK,      ADDR, DATAI, DATAO, MREQ, RW, ACK );
module vga    (CLK, RST, ADDR, DATAI, DATAO, MREQ, RW, ACK, R, G, B, HS_L, VS_L );
全体を統合する kite_top.v 階層は、以下のようにしておきます。
module kite_top(
      CLOCK,	// Clock
      RESET,	// Reset
      R,	// Red
      G,	// Green
      B,	// Blue
      HS_L,	// Horizontal Sync. (Negative)
      VS_L	// Virtical Sync.   (Negative)
      );



実装ボードは、Xilinx社製Spartan3E Starter Kit を使用しますが、 その際のピン割り当てについては以下のように設定します。

kite_top.ucf の内容。
NET "CLOCK" LOC = "C9"  | IOSTANDARD = LVCMOS33 ;
NET "R"     LOC = "H14" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
NET "B"     LOC = "G15" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
NET "G"     LOC = "H15" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
NET "HS"    LOC = "F15" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
NET "VS"    LOC = "F14" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
Net "RESET" LOC = "K17" | IOSTANDARD = LVCMOS33 | PULLDOWN;
NET "CLOCK" TNM_NET = "CLOCK";
TIMESPEC "TS_CLOCK" = PERIOD "CLOCK" 20 ns HIGH 50 %;


| Back |