⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 decode.v

📁 :首先介绍了DS--UWB系统的的发射与接收模型
💻 V
📖 第 1 页 / 共 5 页
字号:
            OC8051_CLR_A : begin aluctl = CLR_OPR;    first_opr = NON_VAL;   second_opr = ACC_VAL;  end            OC8051_MOV_AR: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; end            OC8051_MOV_AI: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; end            OC8051_MOVX_AI:begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; end            OC8051_MOV_DA: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; end            OC8051_MOVX_AP:begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; end            OC8051_CPL_A : begin aluctl = CLR_OPR;    first_opr = NON_VAL;   second_opr = ACC_VAL;  end            OC8051_AJMP  : begin aluctl = CLR_OPR;    first_opr = NON_VAL;   second_opr = ACC_VAL;  end            OC8051_ACALL : begin aluctl = CLR_OPR;    first_opr = NON_VAL;   second_opr = ACC_VAL;  end            default      : begin aluctl = NON_OPR;    first_opr = NON_VAL;   second_opr = NON_VAL;  end        endcase     always @(decode_inst)    begin        casex (decode_inst)            OC8051_INC_R : begin dest_int_mem_addr = ; dest_ext_mem_addr = ; dest_reg_grp_addr = ; end            OC8051_INC_I : begin aluctl = ADD_OPR;    first_opr = INT_MEM;   second_opr = IMMD_VAL; dest_opr = REG_GROUP; end            OC8051_INC_A : begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = IMMD_VAL; dest_opr = REG_GROUP; end            OC8051_INC_D : begin aluctl = ADD_OPR;    first_opr = INT_MEM;   second_opr = IMMD_VAL; dest_opr = REG_GROUP; end            OC8051_RR    : begin aluctl = SHF_RR_OPR; first_opr = ACC_MEM;   second_opr = NONE_VAL; dest_opr = ACC_MEM;   end            OC8051_LJMP  :             OC8051_NOP   :            OC8051_DEC_R : begin aluctl = ADD_OPR;    first_opr = REG_GROUP; second_opr = IMMD_VAL; dest_opr = REG_GROUP; end            OC8051_DEC_I : begin aluctl = ADD_OPR;    first_opr = INT_MEM;   second_opr = IMMD_VAL; dest_opr = REG_GROUP; end            OC8051_DEC_A : begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = IMMD_VAL; dest_opr = REG_GROUP; end            OC8051_DEC_D : begin aluctl = ADD_OPR;    first_opr = INT_MEM;   second_opr = IMMD_VAL; dest_opr = REG_GROUP; end            OC8051_RRC   : begin aluctl = SHF_RRC_OPR;first_opr = ACC_MEM;   second_opr = NONE_VAL; dest_opr = ACC_MEM;   end            OC8051_LCALL :             OC8051_JBC   :            OC8051_ADD_R : begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = REG_GROUP;dest_opr = ACC_MEM;   end             OC8051_ADD_I : begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end             OC8051_ADD_D : begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end             OC8051_ADD_C : begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end             OC8051_RL    : begin aluctl = SHF_RL_OPR; first_opr = ACC_MEM;   second_opr = NONE_VAL; dest_opr = ACC_MEM;   end            OC8051_RET   :            OC8051_JB    :            OC8051_ADDC_R: begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = REG_GROUP;dest_opr = ACC_MEM;   end             OC8051_ADDC_I: begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end             OC8051_ADDC_D: begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end             OC8051_ADDC_C: begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end             OC8051_RLC   : begin aluctl = SHF_RL_OPR; first_opr = ACC_MEM;   second_opr = NONE_VAL; dest_opr = ACC_MEM;   end            OC8051_RET1  :            OC8051_JNB   :            OC8051_ORL_R : begin aluctl = ORL_OPR;    first_opr = ACC_MEM;   second_opr = REG_GROUP;dest_opr = ACC_MEM;   end            OC8051_ORL_I : begin aluctl = ORL_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end            OC8051_ORL_D : begin aluctl = ORL_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end            OC8051_ORL_C : begin aluctl = ORL_OPR;    first_opr = ACC_MEM;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_ORL_AD: begin aluctl = ORL_OPR;    first_opr = INT_MEM;   second_opr = ACC_MEM;  dest_opr = INT_MEM;   end            OC8051_ORL_CD: begin aluctl = ORL_OPR;    first_opr = INT_MEM;   second_opr = IMMD_VAL; dest_opr = INT_MEM;   end            OC8051_JC    :            OC8051_ANL_R : begin aluctl = ANL_OPR;    first_opr = ACC_MEM;   second_opr = REG_GROUP;dest_opr = ACC_MEM;   end            OC8051_ANL_I : begin aluctl = ANL_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end            OC8051_ANL_D : begin aluctl = ANL_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end            OC8051_ANL_C : begin aluctl = ANL_OPR;    first_opr = ACC_MEM;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_ANL_AD: begin aluctl = ANL_OPR;    first_opr = INT_MEM;   second_opr = ACC_MEM;  dest_opr = INT_MEM;   end            OC8051_ANL_CD: begin aluctl = ANL_OPR;    first_opr = INT_MEM;   second_opr = IMMD_VAL; dest_opr = INT_MEM;   end            OC8051_JNC    :            OC8051_XRL_R : begin aluctl = XRL_OPR;    first_opr = ACC_MEM;   second_opr = REG_GROUP;dest_opr = ACC_MEM;   end            OC8051_XRL_I : begin aluctl = XRL_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end            OC8051_XRL_D : begin aluctl = XRL_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end            OC8051_XRL_C : begin aluctl = XRL_OPR;    first_opr = ACC_MEM;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_XRL_AD: begin aluctl = XRL_OPR;    first_opr = INT_MEM;   second_opr = ACC_MEM;  dest_opr = INT_MEM;   end            OC8051_XRL_CD: begin aluctl = XRL_OPR;    first_opr = INT_MEM;   second_opr = IMMD_VAL; dest_opr = INT_MEM;   end            OC8051_JZ    :            OC8051_MOV_CR: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = REG_GRP;   end            OC8051_MOV_CI: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = INT_MEM;   end            OC8051_MOV_C : begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_MOV_CD: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = INT_MEM;   end            OC8051_ORL_B :             OC8051_JMP_D :            OC8051_JNZ   :            OC8051_MOV_RD: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = REG_GRP;   end            OC8051_MOV_ID: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = INT_MEM;   end            OC8051_MOVC_PC:begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_MOV_DD: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = INT_MEM;   end            OC8051_DIV   :            OC8051_ANL_B :            OC8051_SJMP  :            OC8051_SUBB_R: begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = REG_GROUP;dest_opr = ACC_MEM;   end            OC8051_SUBB_I: begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end            OC8051_SUBB_D: begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = ACC_MEM;   end            OC8051_SUBB_C: begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_MOV_CB: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = REG_GRP;   end            OC8051_MOV_DP: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = INT_MEM;   end            OC8051_MOVC_DP:begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_MOV_DR: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = REG_GRP;   end            OC8051_MOV_DI: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = INT_MEM;   end            OC8051_MOV_BC: begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_MUL   : begin aluctl = MUL_OPR;    first_opr = ACC_VAL;   second_opr = BCC_VAL;  dest_opr = ACC_MEM;   end            OC8051_ORL_NB: begin             OC8051_INC_DP: begin aluctl = ADD_OPR;    first_opr = DPTR;      second_opr = IMMD_VAL; dest_opr = DPTR;      end            OC8051_CJNE_R: begin aluctl = ADD_OPR;    first_opr = REG_GRP;   second_opr = IMMD_VAL; dest_opr = NON_MEM;   end            OC8051_CJNE_I: begin aluctl = ADD_OPR;    first_opr = INT_MEM;   second_opr = IMMD_VAL; dest_opr = NON_MEM;   end            OC8051_CJNE_D: begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM ; dest_opr = NON_MEM;   end            OC8051_CJNE_C: begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = IMMD_VAL; dest_opr = NON_MEM;   end            OC8051_ANL_NB:             OC8051_CPL_C :             OC8051_CPL_B :             OC8051_XCH_R:  begin aluctl = XCH_OPR;    first_opr = ACC_MEM;   second_opr = REG_GRP;  dest_opr = REG_GRP;   end            OC8051_XCH_I:  begin aluctl = XCH_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = REG_GRP;   end            OC8051_XCH_D:  begin aluctl = XCH_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = REG_GRP;   end            OC8051_CLR_C:             OC8051_CLR_B:             OC8051_PUSH:             OC8051_SWAP:   begin aluctl = SWAP_OPR;   first_opr = ACC_MEM;   second_opr = NON_MEM;  dest_opr = NON_MEM;   end            OC8051_DJNZ_R: begin aluctl = ADD_OPR;    first_opr = REG_GRP;   second_opr = IMMD_VAL; dest_opr = REG_GRP;   end            OC8051_XCHD:   begin aluctl = XCHD_OPR;   first_opr = ACC_MEM;   second_opr = REG_GRP;  dest_opr = REG_GRP;   end            OC8051_DJNZ_D: begin aluctl = XCH_OPR;    first_opr = ACC_MEM;   second_opr = INT_MEM;  dest_opr = REG_GRP;   end            OC8051_POP:             OC8051_SETB_C:             OC8051_SETB_B:             OC8051_DA:     begin aluctl = DA_OPR;     first_opr = ACC_MEM;   second_opr = NON_MEM;  dest_opr = NON_MEM;   end            OC8051_MOV_R:  begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = REG_GRP;   end            OC8051_MOV_I:  begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = INT_MEM;   end            OC8051_MOVX_IA:begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_MOV_D  :begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_MOVX_PA:begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_CLR_A  :            OC8051_MOV_AR:  begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = REG_GRP;   end            OC8051_MOV_AI:  begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = INT_MEM;   end            OC8051_MOVX_AI:begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_MOV_DA :begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_MOVX_AP:begin aluctl = MOV_OPR;    first_opr = NON_VAL;   second_opr = IMMD_VAL; dest_opr = ACC_MEM;   end            OC8051_CPL_A:            OC8051_AJMP:            OC8051_ACALL:            default      : begin aluctl = NON_OPR;    first_opr = NON_VAL;   second_opr = NON_VAL;  dest_opr = NON_VAL;  end        endcase     end    always @(posedge clock or posedge reset)    begin        if (reset) begin            psw_reg <= 0;        end else begin            psw_reg <= (~dest_psw_ctl & psw_reg) | (dest_psw_ctl & psw_data_in);        end    end    always @(decode_inst)    begin        casex (decode_inst)            OC8051_INC_R : begin dest_psw_ctl = 8'b00011100;end            OC8051_INC_I : begin aluctl = ADD_OPR;    first_opr = INT_MEM;   second_opr = IMMD_VAL; dest_opr = REG_GROUP; end            OC8051_INC_A : begin aluctl = ADD_OPR;    first_opr = ACC_MEM;   second_opr = IMMD_VAL; dest_opr = REG_GROUP; end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -