IA08プロセッサ IA16マイクロプロセッサ 業界標準命令セットを実装した8ビットプロセッサIA08を開発 目的 業界標準アーキテクチャ16bit CPU IP コアの開発 プロセッサ、ビデオ回路、サウンド回路などゲームプラットフォームのシステム全てを設計 それら論理回路部全てをFPGAワンチップに実装し、アナログ回路を含めワンボードにシステム全てを実装 IA08プロセッサコア INTERNAL BUS VRAM プログラム, Color RAM メイン キャラクタ, RAM スプライト ROM MUX, DMUX OP1 OP2 B D H メモリコントローラ A’ DMUX アドレスデコード ALU C E L BC’ DE’ HL’ 15 アービトレーション I/Oバス クロック 分周 + Joypad I/Oコントローラ コリジョン検出 clock Divider white noize generator 4BIT FIR Band Pass Filter CL DS DX DH 00 DL SP 01 or 10 BP 0 t0 コリジョン write/read 4BIT BL CH DI 現状 ↓ 3. FPGAへ実装 QuartusII ver3.0で合成 最終的には周辺デバイスとの 接続, OSの動作までを実現し コンピュータシステム全体の 構築をする。 mod = 01,disp = disp low sign-extended to 16 bits. mod = 10,disp = disp high & disp low. mod = 00 & r/m = 110 -> EA = disp high & disp low. 汎用レジスタ ファイル スプライト制御 select data アドレス計算無し EA = BX + SI EA = BX + DI EA = BP + SI EA = BP + DI EA = SI EA = DI EA = BP EA = BX EA = BX + SI + disp EA = BX + DI + disp EA = BP + SI + disp EA = BP + DI + disp EA = SI + disp EA = DI + disp EA = BP + disp EA = BX + disp 000 001 010 011 100 101 110 111 000 001 010 011 100 101 110 111 オフセットアドレスの計算法 1.7MHz 4BIT BH CX 開発フロー 1. SFL記述(論理設計) 2. Verilogシミュレーション 計算法 11 SI memio 13.98KHz BX SS セグメント方式アドレッシング NTSC コンポジット 信号生成 r/m AL CS 3bit r/m mod 物理アドレス 14.318MHz スプライトXY軸 AH セグメントレジスタ ファイル 19 キャラクタ制御 3bit 0000 VRAM,Color RAMバス ビデオコントローラ AX ES 0 セグメントアドレス SYSTEM BUS 2bit mod 0 オフセットアドレス 15 メモリバス オペコードの2byte目 アーキテクチャ ・1MBメモリ空間 ・セグメント方式アドレッシング ・64KB I/O空間 F’ A SP PC IX IY CONTROL UNIT OP0 F INC DEC t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 memory access memory access memory access memory access read read write write t12 t13 ブロック図 固定優先順位方式 sound_mix 映像出力 decay BHE address enable OUT data 音声出力 4BIT 音声出力 high high even odds data data low INT high high even even odds even data high data data low data high メモリアクセスのタイミングチャート 割り込み 信号線 オンチップ 割り込み コントローラ 割り込みベクタ アドレス INTA プロセッサ コア 割り込み処理 動作予定OS Free DOS MINIX ELKS ターゲットコンパイラ bcc sound generator サウンド生成回路 信号合成アナログ回路 サウンド生成回路ではホワイトノイズ生成回路、 フィルタやディケイ回路を通して爆発音等が 作られ、射撃音などとミキサで合成して出力する. クロマ信号 カラーバースト信号 水平同期信号 画面は8×8ドットのキャラクタを背景として描画し、32×32 ドットのスプライトイメージを指定したXY軸から合成して 作られる.コリジョン検出はキャラクタとスプライトイメージ の衝突を検出し、I/Oポートを通してCPUから認識される. 論理回路部で同期信号、 カラーバースト、クロマ 信号を生成し、製作した アナログ回路で合成 している。 32キャラクタ スプライト ビデオ回路はキャラクタ・スプライト ROMを使うモードとVRAMのみを使う ビットマップモードと切替えることが 可能. コンパイラ Dhrystone/S 9MHz bcc 1348 7.5MHz cc 1254 DeSmet 625 設計したプロセッサ IBM PC/AT 80286 Macintosh512 68000 7.7MHz IBM PC/XT 8086 Dhrystone Benchmark実行時の様子 8MHz Intel C-86V2.0 304 Dhrystone Benchmarkの実行結果による性能比較 MY80プロセッサコア NTSCコンポジット信号を オシロスコープで出力した様子 製作したボード を用いたスペース インベーダー ゲームのデモ. 映像出力とともに 音声出力も行って いる.CPUはMY80 を実装. スペースインベーダーを動作させた様子 動作周波数 映像信号、音声 信号波形の合成・ 出力とともに ROM、RAM、 源発振器とJoypad 入力端子を実装. 製作したボード プログラムROMはタイトー社より御提供 C TAITO CORP. 1978-2003 論理規模 880 LE 最大動作周波数 58.56 MHz 実装FPGA EP1C3T100C6 bccでコンパイルしたDhrystone BenchmarkをVerilog 上 で実行し性能の評価をした。 結果、他の16bitプロセッサと遜色無い性能であった。 合成結果 IA08プロセッサコア 論理規模 1465 LE 最大動作周波数 35.79 MHz 実装FPGA EP1S10F780C7ES Stratix EP1S10F780C7ES 実行したアセンブリコードの一部 Cyclone EP1C6Q240C8 論理規模 3884LE 3909LE 動作周波数 9.16MHz 7.31MHz
© Copyright 2024 Paperzz