Pavel Pisa [Mon, 15 Dec 2014 09:28:08 +0000 (10:28 +0100)]
Correct unfinished/broken CMPU and CMP instructions and IT(TE) conditions.
The result bit 31 has not been updated when signs of inputs
did not match and signBit_r_v used in IT(TE) has not been assigned
from result when signs matched.
The CMP(U) should compare inputs => it is equivalent to RSUB
but specification of ALU_IN_NOT_REGA and CIN_ONE has been
omitted.
Martin Meloun [Mon, 30 Sep 2013 12:25:21 +0000 (14:25 +0200)]
Reformat code and restructure decoder to save LUTs and fit critical path
Instruction set is also modified, ITxxx are separate from CMP,
do not store the result to a register and are in unsigned / immediate value
variants as well. Added also CMPUI (CMPU has slightly changed encoding).
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Tue, 24 Sep 2013 15:27:27 +0000 (17:27 +0200)]
Customized instruction set (with compatibility mode)
1) Removed done_o signal, replaced with HALT instruction
2) Nuked delay slot (muck) and removed related instructions
3) Added RTI, RTS, BRL, BRLI, BRALI instructions
4) Recoded CMP instruction, added CMPI
5) Added macro for compatibility mode (recognizes original instruction set,
i.e delay slot, original CMP instruction - and keeps HALT, and some new
instruction where blocking them would require additional logic (extra
no delay variants of existing instructions)
6) Simplified flushing
7) Given patched binutils, gcc and newlib, mb-dasm has been removed for redundancy
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>