From: Luke Kenneth Casson Leighton Date: Sun, 1 Mar 2020 15:16:05 +0000 (+0000) Subject: nmigen Case supports "-" as dont care, so can make use of that X-Git-Tag: convert-csv-opcode-to-binary~3257 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f9383db7f8e8de5cd52609c5db58d475e6d4f8b6;p=libreriscv.git nmigen Case supports "-" as dont care, so can make use of that --- diff --git a/openpower/isatables.mdwn b/openpower/isatables.mdwn index 226e612f6..7affedc5f 100644 --- a/openpower/isatables.mdwn +++ b/openpower/isatables.mdwn @@ -6,29 +6,46 @@ Based on Anton Blanchard's microwatt decode1.vhdl # Major opcodes +decodes using f_in.insn(31 downto 26) + [[!table format=csv file="openpower/isatables/major.csv"]] # Minor opcode 19 +valid from table using f_in.insn(10 downto 1) + +decodes using f_in.insn(5) & f_in.insn(3) & f_in.insn(2) + [[!table format=csv file="openpower/isatables/minor_19.csv"]] # Minor opcode 30 +decodes using f_in.insn(4 downto 1) + [[!table format=csv file="openpower/isatables/minor_30.csv"]] # Minor opcode 31 +decodes using f_in.insn(10 downto 1) + [[!table format=csv file="openpower/isatables/minor_31.csv"]] # Minor opcode 58 +decodes using f_in.insn(1 downto 0) + [[!table format=csv file="openpower/isatables/minor_58.csv"]] # Minor opcode 62 +decodes using f_in.insn(1 downto 0) + [[!table format=csv file="openpower/isatables/minor_62.csv"]] # Extra opcodes +These can match against the (full) row[0] spec: nmigen Case supports "-" as +"don't care" + [[!table format=csv file="openpower/isatables/extra.csv"]] diff --git a/openpower/isatables/extra.csv b/openpower/isatables/extra.csv index a1f10f259..b645c0021 100644 --- a/openpower/isatables/extra.csv +++ b/openpower/isatables/extra.csv @@ -1,4 +1,4 @@ opcode,unit,internal op,in1,in2,in3,out,CR in,CR out,inv A,inv out,cry in,cry out,ldst len,BR,sgn ext,upd,rsrv,32b,sgn,rc,lk,sgl pipe, comment -attn,ALU,OP_ILLEGAL,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,1,attn -nop,ALU,OP_NOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,nop -sim_cfg,ALU,OP_SIM_CONFIG,NONE,NONE,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,sim_cfg +000000---------------0100000000-,ALU,OP_ILLEGAL,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC,0,1,attn +01100000000000000000000000000000,ALU,OP_NOP,NONE,NONE,NONE,NONE,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,0,nop +000001---------------0000000011-,ALU,OP_SIM_CONFIG,NONE,NONE,NONE,RT,0,0,0,0,ZERO,0,NONE,0,0,0,0,0,0,NONE,0,1,sim_cfg