📄 oc8051_decoder.v
字号:
`OC8051_DJNZ_D : begin ram_rd_sel = `OC8051_RRS_DC; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; end `OC8051_RET : begin ram_rd_sel = `OC8051_RRS_SP; pc_wr = `OC8051_PCW_Y; pc_sel = `OC8051_PIS_AH; end `OC8051_RETI : begin ram_rd_sel = `OC8051_RRS_SP; pc_wr = `OC8051_PCW_Y; pc_sel = `OC8051_PIS_AH; end `OC8051_DIV : begin ram_rd_sel = `OC8051_RRS_B; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; end `OC8051_MUL : begin ram_rd_sel = `OC8051_RRS_B; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; end default begin ram_rd_sel = `OC8051_RRS_DC; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; end endcase comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end 2'b00: begin casex (op_cur) /* synopsys parallel_case */ `OC8051_ACALL :begin ram_rd_sel = `OC8051_RRS_DC; pc_wr = `OC8051_PCW_Y; pc_sel = `OC8051_PIS_I11; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b0; bit_addr = 1'b0; end `OC8051_AJMP : begin ram_rd_sel = `OC8051_RRS_DC; pc_wr = `OC8051_PCW_Y; pc_sel = `OC8051_PIS_I11; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b0; bit_addr = 1'b0; end `OC8051_ADD_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_ADDC_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_ANL_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_CJNE_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b0; bit_addr = 1'b0; end `OC8051_DEC_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_DJNZ_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b0; bit_addr = 1'b0; end `OC8051_INC_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_MOV_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_MOV_DR : begin ram_rd_sel = `OC8051_RRS_D; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_MOV_RD : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_ORL_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_SUBB_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_XCH_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_XRL_R : begin ram_rd_sel = `OC8051_RRS_RN; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end //op_code [7:1] `OC8051_ADD_I : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_ADDC_I : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_ANL_I : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_CJNE_I : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b0; bit_addr = 1'b0; end `OC8051_DEC_I : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_INC_I : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_MOV_I : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_MOV_ID : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_MOV_DI : begin ram_rd_sel = `OC8051_RRS_D; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_MOVX_IA : begin ram_rd_sel = `OC8051_RRS_DC; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b0; bit_addr = 1'b0; end `OC8051_MOVX_AI :begin ram_rd_sel = `OC8051_RRS_DC; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b0; bit_addr = 1'b0; end `OC8051_ORL_I : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_SUBB_I : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_XCH_I : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_XCHD :begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_XRL_I : begin ram_rd_sel = `OC8051_RRS_I; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end //op_code [7:0] `OC8051_ADD_D : begin ram_rd_sel = `OC8051_RRS_D; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_ADDC_D : begin ram_rd_sel = `OC8051_RRS_D; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_N; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_ANL_D : begin ram_rd_sel = `OC8051_RRS_D; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_ANL_C : begin ram_rd_sel = `OC8051_RRS_DC; pc_wr = `OC8051_PCW_N; pc_sel = `OC8051_PIS_DC; comp_sel = `OC8051_CSS_DC; rmw = `OC8051_RMW_Y; stb_i = 1'b1; bit_addr = 1'b0; end `OC8051_ANL_DD : begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -