FPGA 實驗 <
ISE + IDS >
Lab2 : Riscpu
▋ Design Codes
riscpu.v
module prom
(
addr,
dq
);
input[7:0] addr;
output[15:0] dq;
reg[15:0] dq;
always @(addr)
begin
case(addr)
'h00 : dq='hFBF0; // OR B,#F0
'h01 : dq='hF201; // OR 2,#01
'h02 : dq='hEE00; // AND E,#00
'h03 : dq='hEF00; // AND F,#00
'h04 : dq='h3003; // CALL 0009
'h05 : dq='h8EDE; // ADD E,D,E
'h06 : dq='h7FFC; // JNC 4
'h07 : dq='hCF01; // ADD F,#01
'h08 : dq='h2FFA; // JMP 4
'h09 : dq='hBDD4; // OR D,D,4
'h0A : dq='hBCC5; // OR C,C,5
'h0B : dq='hC600; // AND 6,#00
'h0C : dq='h0000; // NOP
'h0D : dq='h0000; // NOP
'h0E : dq='hD601; // SUB 6,#01
'h0F : dq='h5FFD; // JNZ E
'h10 : dq='hD501; // SUB 5,#01
'h11 : dq='h5FFB; // JNZ E
'h12 : dq='hD401; // SUB 4,#01
'h13 : dq='h5FF5; // JNZ A
'h14 : dq='h1000; // RET
default : dq='h0000; // NOP
endcase
end
endmodule
