O projeto foi desenvolvido utilizando VHDL (matéria quarto semestre de engenharia de computação).
Criar uma CPU multiciclo que realiza as seguintes instruções e seus opcodes:
- ADD: 00
- SUB: 01
- BEQ: 10
- JUMP: 11
- Tipo R:
- Tipo Condicional:
- Tipo J:
O estado initReg é utilizado para inicializar os registradores, pois não existe uma instrução que permite adicionar um valor ao registrador.
- Inicializar registrador:
- Tipo R:
- Tipo BEQ:
- Tipo JMP:
Os valores iniciais dos registradores podem ser encontrados nas linhas 152 a 155 no arquivo 'cpu.vhd':
- R0: 00000011 - decimal: 3
- R1: 00000011 - decimal: 3
- R2: 00110000 - decimal: 48
- R3: 11000000 - decimal: 192
Programa teste (arquivo: rom.vhd):
(00) BEQ R2, R3, 00 (Não realiza o Jump)
(01) POS 0001 0100 (20)
(02) ADD R3, R3, R2 (R3 = 1111 0000) (Realiza a soma)
(03) BEQ R0, R1, 00 (Realiza o Jump)
(04) POS 0001 0100 (20)
...
(20) SUB R2, R2, R1 (R2 = 0010 1101)
(21) JMP 01 1001 (25)
(22) ADD R3, R3, R2 (Não realiza o Add) (R3 = 0001 1101)
...
(25) SUB R3, R2, R1 (R3 = 0010 1010)
...















