Pavel Pisa [Tue, 30 Dec 2014 14:02:20 +0000 (15:02 +0100)]
Separate wait for external bus data and state when external bus is taken by other master.
Original design reuses external bus clock enable/ready indication
for external master wait. This solution is broken because
external master leaves other data on the bus when clocks
are re-enabled than Tumbl expects. When external master
requests bus at/after end of the Tumbl external memory cycle
there is no need to do anything special in such case.
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>