Decode attn in the major opcode decode table
authorPaul Mackerras <paulus@ozlabs.org>
Mon, 6 Apr 2020 04:07:45 +0000 (14:07 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 7 Apr 2020 10:09:08 +0000 (20:09 +1000)
commit56577827d49e41a5f5da4e026e7cafbc0b514412
treee3ed7d432848e8dbd307268da8f5d681ab97c69d
parent6f7ef8b1b91d2d5e0ed52f0538a727c6f39aa899
Decode attn in the major opcode decode table

This decodes attn using entry 0 of the major_decode_rom_array table
instead of a special case in the decode1_1 process.  This means that
only the major opcode (the top 6 bits) is checked at decode time.
To make sure the instruction is attn not some random illegal pattern,
we now check bits 1-10 of the instruction at execute time and
generate an illegal instruction interrupt if those bits are not
0100000000.

This reduces LUT consumption by 42 LUTs on the Arty A7-100.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
decode1.vhdl
execute1.vhdl