6 changed files with 367 additions and 174 deletions
@ -1,100 +1,100 @@
@@ -1,100 +1,100 @@
|
||||
|
||||
parameter ADDR_MODE_IMPLIED = 0; |
||||
parameter ADDR_MODE_IMMEDIATE = 1; |
||||
parameter ADDR_MODE_ABSOLUTE = 2; |
||||
parameter ADDR_MODE_ZP = 3; |
||||
parameter ADDR_MODE_INDEXED_ABSOLUTE = 4; |
||||
parameter ADDR_MODE_INDEXED_ZP = 5; |
||||
parameter ADDR_MODE_INDIRECT = 6; |
||||
parameter ADDR_MODE_PREINDEXED_INDIRECT = 7; |
||||
parameter ADDR_MODE_POSTINDEXED_INDIRECT = 8; |
||||
parameter ADDR_MODE_RELATIVE = 9; |
||||
localparam ADDR_MODE_IMPLIED = 0; |
||||
localparam ADDR_MODE_IMMEDIATE = 1; |
||||
localparam ADDR_MODE_ABSOLUTE = 2; |
||||
localparam ADDR_MODE_ZP = 3; |
||||
localparam ADDR_MODE_INDEXED_ABSOLUTE = 4; |
||||
localparam ADDR_MODE_INDEXED_ZP = 5; |
||||
localparam ADDR_MODE_INDIRECT = 6; |
||||
localparam ADDR_MODE_PREINDEXED_INDIRECT = 7; |
||||
localparam ADDR_MODE_POSTINDEXED_INDIRECT = 8; |
||||
localparam ADDR_MODE_RELATIVE = 9; |
||||
|
||||
parameter OP_OR = 0; |
||||
parameter OP_AND = 1; |
||||
parameter OP_EOR = 2; |
||||
parameter OP_ADC = 3; |
||||
parameter OP_SUB = 4; |
||||
parameter OP_ROT = 5; |
||||
parameter OP_SHF = 6; |
||||
localparam OP_OR = 0; |
||||
localparam OP_AND = 1; |
||||
localparam OP_EOR = 2; |
||||
localparam OP_ADC = 3; |
||||
localparam OP_SUB = 4; |
||||
localparam OP_ROT = 5; |
||||
localparam OP_SHF = 6; |
||||
|
||||
parameter SHIFT_LEFT = 0; |
||||
parameter SHIFT_RIGHT = 1; |
||||
localparam SHIFT_LEFT = 0; |
||||
localparam SHIFT_RIGHT = 1; |
||||
|
||||
parameter I_LDA = 0; |
||||
parameter I_LDX = 1; |
||||
parameter I_LDY = 2; |
||||
parameter I_STA = 3; |
||||
parameter I_STX = 4; |
||||
parameter I_STY = 5; |
||||
parameter I_TAX = 6; |
||||
parameter I_TAY = 7; |
||||
parameter I_TXA = 8; |
||||
parameter I_TYA = 9; |
||||
parameter I_TSX = 10; |
||||
parameter I_TXS = 11; |
||||
parameter I_PHA = 12; |
||||
parameter I_PHP = 13; |
||||
parameter I_PLA = 14; |
||||
parameter I_PLP = 15; |
||||
parameter I_AND = 16; |
||||
parameter I_EOR = 17; |
||||
parameter I_ORA = 18; |
||||
parameter I_BIT = 19; |
||||
parameter I_ADC = 20; |
||||
parameter I_SBC = 21; |
||||
parameter I_CMP = 22; |
||||
parameter I_CPX = 23; |
||||
parameter I_CPY = 24; |
||||
parameter I_INC = 25; |
||||
parameter I_INX = 26; |
||||
parameter I_INY = 27; |
||||
parameter I_DEC = 28; |
||||
parameter I_DEX = 29; |
||||
parameter I_DEY = 30; |
||||
parameter I_ASL = 31; |
||||
parameter I_LSR = 32; |
||||
parameter I_ROL = 33; |
||||
parameter I_ROR = 34; |
||||
parameter I_JMP = 35; |
||||
parameter I_JSR = 36; |
||||
parameter I_RTS = 37; |
||||
parameter I_BCC = 38; |
||||
parameter I_BCS = 39; |
||||
parameter I_BEQ = 40; |
||||
parameter I_BMI = 41; |
||||
parameter I_BNE = 42; |
||||
parameter I_BPL = 43; |
||||
parameter I_BVC = 44; |
||||
parameter I_BVS = 45; |
||||
parameter I_CLC = 46; |
||||
parameter I_CLD = 47; |
||||
parameter I_CLI = 48; |
||||
parameter I_CLV = 49; |
||||
parameter I_SEC = 50; |
||||
parameter I_SED = 51; |
||||
parameter I_SEI = 52; |
||||
parameter I_BRK = 53; |
||||
parameter I_NOP = 54; |
||||
parameter I_RTI = 55; |
||||
localparam I_LDA = 0; |
||||
localparam I_LDX = 1; |
||||
localparam I_LDY = 2; |
||||
localparam I_STA = 3; |
||||
localparam I_STX = 4; |
||||
localparam I_STY = 5; |
||||
localparam I_TAX = 6; |
||||
localparam I_TAY = 7; |
||||
localparam I_TXA = 8; |
||||
localparam I_TYA = 9; |
||||
localparam I_TSX = 10; |
||||
localparam I_TXS = 11; |
||||
localparam I_PHA = 12; |
||||
localparam I_PHP = 13; |
||||
localparam I_PLA = 14; |
||||
localparam I_PLP = 15; |
||||
localparam I_AND = 16; |
||||
localparam I_EOR = 17; |
||||
localparam I_ORA = 18; |
||||
localparam I_BIT = 19; |
||||
localparam I_ADC = 20; |
||||
localparam I_SBC = 21; |
||||
localparam I_CMP = 22; |
||||
localparam I_CPX = 23; |
||||
localparam I_CPY = 24; |
||||
localparam I_INC = 25; |
||||
localparam I_INX = 26; |
||||
localparam I_INY = 27; |
||||
localparam I_DEC = 28; |
||||
localparam I_DEX = 29; |
||||
localparam I_DEY = 30; |
||||
localparam I_ASL = 31; |
||||
localparam I_LSR = 32; |
||||
localparam I_ROL = 33; |
||||
localparam I_ROR = 34; |
||||
localparam I_JMP = 35; |
||||
localparam I_JSR = 36; |
||||
localparam I_RTS = 37; |
||||
localparam I_BCC = 38; |
||||
localparam I_BCS = 39; |
||||
localparam I_BEQ = 40; |
||||
localparam I_BMI = 41; |
||||
localparam I_BNE = 42; |
||||
localparam I_BPL = 43; |
||||
localparam I_BVC = 44; |
||||
localparam I_BVS = 45; |
||||
localparam I_CLC = 46; |
||||
localparam I_CLD = 47; |
||||
localparam I_CLI = 48; |
||||
localparam I_CLV = 49; |
||||
localparam I_SEC = 50; |
||||
localparam I_SED = 51; |
||||
localparam I_SEI = 52; |
||||
localparam I_BRK = 53; |
||||
localparam I_NOP = 54; |
||||
localparam I_RTI = 55; |
||||
|
||||
// Unofficial opcodes |
||||
parameter I_STP = 56; |
||||
parameter I_SHY = 57; |
||||
localparam I_STP = 56; |
||||
localparam I_SHY = 57; |
||||
|
||||
|
||||
parameter P_N = 8'h80; |
||||
parameter P_V = 8'h40; |
||||
parameter P_B = 8'h10; |
||||
parameter P_D = 8'h08; |
||||
parameter P_I = 8'h04; |
||||
parameter P_Z = 8'h02; |
||||
parameter P_C = 8'h01; |
||||
localparam P_N = 7; |
||||
localparam P_V = 6; |
||||
localparam P_B = 5; |
||||
localparam P_D = 3; |
||||
localparam P_I = 2; |
||||
localparam P_Z = 1; |
||||
localparam P_C = 0; |
||||
|
||||
|
||||
parameter DMUX_PC = 3'h0; |
||||
parameter DMUX_A = 3'h1; |
||||
parameter DMUX_X = 3'h2; |
||||
parameter DMUX_Y = 3'h3; |
||||
parameter DMUX_SP = 3'h4; |
||||
parameter DMUX_AUX = 3'h5; |
||||
localparam DMUX_PC = 3'h0; |
||||
localparam DMUX_A = 3'h1; |
||||
localparam DMUX_X = 3'h2; |
||||
localparam DMUX_Y = 3'h3; |
||||
localparam DMUX_SP = 3'h4; |
||||
localparam DMUX_AUX = 3'h5; |
||||
|
||||
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
[tasks] |
||||
prf |
||||
cvr |
||||
|
||||
[options] |
||||
prf: mode prove |
||||
prf: depth 20 |
||||
cvr: mode cover |
||||
cvr: depth 40 |
||||
|
||||
[engines] |
||||
smtbmc yices |
||||
|
||||
[script] |
||||
read -formal decoder.verilog |
||||
read -formal cpu.verilog |
||||
read -formal mio.verilog |
||||
read -formal alu.verilog |
||||
read -formal dmux.verilog |
||||
read -formal parameters.vh |
||||
hierarchy -top cpu |
||||
proc -norom |
||||
prep -top cpu |
||||
|
||||
|
||||
[files] |
||||
decoder.verilog |
||||
cpu.verilog |
||||
mio.verilog |
||||
alu.verilog |
||||
dmux.verilog |
||||
parameters.vh |
||||
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
[tasks] |
||||
prf |
||||
cvr |
||||
|
||||
[options] |
||||
prf: mode prove |
||||
prf: depth 40 |
||||
cvr: mode cover |
||||
cvr: depth 40 |
||||
|
||||
[engines] |
||||
smtbmc yices |
||||
|
||||
[script] |
||||
read -formal decoder.verilog |
||||
read -formal parameters.vh |
||||
hierarchy -top decoder |
||||
proc -norom |
||||
prep -top decoder |
||||
|
||||
|
||||
[files] |
||||
decoder.verilog |
||||
parameters.vh |
||||
Loading…
Reference in new issue