4001の入力回路

投稿者: 芦田和毅. Posted in 自作CPU

4001にどのようなポートをつければよいのか説明します.下図は4001モジュールをIntel4001としたときの例です.黄色のポートはオリジナルの4001には無いポートで,青色のポートはオリジナルにもあるポートです.各Intel4001にはBlockRAMが含まれています.BlockRAMの作成方法はこちらにありますが,今回のBlockRAMはビット幅(Write Width)16,アドレス(Write Depth)128となっています.作成するときに注意してください.生成されたBlockRAMのポートには下図のように接続します.Intel4001のポートであるADDRESSにはすべてCOLUMN_IDの下位7ビットを接続します.また,DATAにはSW1~16の信号を入れます.CLKにはSW17を入れ,SW17が立ち上がった瞬間のデータを取り込むようにします.以上3ポートはどのIntel4001についても共通です.しかし,WEについては個別となっています.WEは前段のSelect4001モジュールでどのIntel4001へ書き込むか決定します.例えばSELECTORが4'b0000だった時にはNO0のみが1,それ以外のNO1~15は0にします.これにより,#0以外のIntel4001にあるBlockRAMはリードとして動作しますので,dinaからデータを取り込みませんし,#0はライトとして動作しますのでdinからのデータを取り込みます.このようなSelect4001を作ることで,データを扱うことができるのです.

4001BlockDiagramForInputMode