2001年度卒業研究で6502をVerilog-HDLで作りました。
各資料とVerilogのソースをここに公開します。

構成図
sysblock.png

各命令のタイミングチャート(アドレッシングモード別)

Implied
NOP
INX INY DEX DEY
PHA PHP PLA PLP
TAX TAY TSX TXA TXS TYA
CLC CLD CLI CLV SEC SED SEI
BRK
RTS RTI

Accumulator
ASL LSR ROL ROR

Immediate
LDA LDX LDY
ADC SBC AND ORA EOR CMP CPX CPY

Zeropage
LDA LDX LDY
ADC SBC AND ORA EOR CMP CPX CPY BIT
STA STX STY
INC DEC ASL LSR ROL ROR

Zeropage Index
LDA LDX LDY
ADC SBC AND ORA EOR CMP
STA STX STY
INC DEC ASL LSR ROL ROR

Absolute
LDA LDX LDY
ADC SBC AND ORA EOR CMP CPX CPY BIT
STA STX STY
INC DEC ASL LSR ROL ROR
JMP JSR

Absolute Index
LDA LDX LDY(no page crossing, page crossing)
ADC SBC AND ORA EOR CMP(no page crossing, page crossing)
STA STX STY
INC DEC ASL LSR ROL ROR

Indirect X
LDA
ADC SBC AND ORA EOR CMP
STA

Indirect Y
LDA(no page crossing, page crossing)
ADC SBC(no page crossing, page crossing) AND ORA EOR(no page crossing, page crossing) CMP(no page crossing, page crossing)
STA

Indirect
JMP

Relative
BCC BCS BEQ BMI BNE BPL BVC BVS(2, 3, 4)

Verilog-HDLで記述したソースコードです。
hpcl6502-1.0.0.tgz
フリーソフトウェアとして公開します。 コピーおよび使用はご自由にどうぞ。
ただし、本ソースの使用にあたっては使用者自身の責任の下で行ってください。 本ソースは一切無保証です。 本ソースを使用したことにより生じた損害などについて、 保証する義務を一切負いません。

リンク
The KIM-1 Enthusiasts Page
6502.org