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

📄 m3s003bo.v

📁 another 8051 core porocesssor vhdl source code
💻 V
📖 第 1 页 / 共 2 页
字号:
    case (CMUX)      1'b0 :            begin              LDATAA <= ACLDAT[7:0] ;             end      1'b1 :            begin              LDATAA <= ALU_SUM ;             end      default :            begin              LDATAA <= 8'bXXXXXXXX ;             end    endcase   end   always @(ACCDAT or ACLDAT or NDIVAB)  begin : set_loca    case (NDIVAB)      1'b0 :            begin              LOCALA <= ACCDAT[7] ;             end      1'b1 :            begin              LOCALA <= ACLDAT[7] ;             end      default :            begin              LOCALA <= 1'bx ;             end    endcase   end   always @(CAM or ACLDAT or NMULAB)  begin : set_locb    case (NMULAB)      1'b0 :            begin              LOCALB <= CAM ;             end      1'b1 :            begin              LOCALB <= ACLDAT[9] ;             end      default :            begin              LOCALB <= 1'bx ;             end    endcase   end   always @(LOCALA or LDATAA or ACLDAT or LOCALB or ALUC)  begin : set_locc    case (ALUC[15])      1'b0 :            begin              LOCALC <= LOCALA ;               LOCALD <= LDATAA[0] ;             end      1'b1 :            begin              LOCALC <= ACLDAT[9] ;               LOCALD <= LOCALB ;             end      default :            begin              LOCALC <= 1'bx ;               LOCALD <= 1'bx ;             end    endcase   end   always @(CA or ACLDAT or ALUC)  begin : set_loce    case (ALUC[8])      1'b0 :            begin              LOCALE <= ACLDAT[8] ;             end      1'b1 :            begin              LOCALE <= CA ;             end      default :            begin              LOCALE <= 1'bx ;             end    endcase   end   always @(BC or ACLDAT or ALUC)  begin : set_locf    case (ALUC[16])      1'b0 :            begin              LOCALF <= BC ;             end      1'b1 :            begin              LOCALF <= ACLDAT[9] ;             end      default :            begin              LOCALF <= 1'bx ;             end    endcase   end   always @(LDATAA or LOCALC or LOCALD or ALUC)  begin : set_alup    case (ALUC[7:6])      2'b00 :            begin              ALUP <= LDATAA ;             end      2'b01 :            begin              ALUP[6:0] <= LDATAA[7:1] ;               ALUP[7] <= LOCALD ;             end      2'b10 :            begin              ALUP[0] <= LOCALC ;               ALUP[7:1] <= LDATAA[6:0] ;             end      2'b11 :            begin              ALUP[3:0] <= LDATAA[7:4] ;               ALUP[7:4] <= LDATAA[3:0] ;             end      default :            begin              ALUP <= 8'bXXXXXXXX ;             end    endcase   end   always @(ALUC or BD)  begin : setmuxvect    muxvect1[1:0] <= {ALUC[15], BD} ;   end   always @(LDATAA or CARI or EJ or muxvect1)  begin : set_coout    case (muxvect1[1:0])      2'b00 :            begin              CO <= EJ ;             end      2'b01 :            begin              CO <= CARI ;             end      2'b10 :            begin              CO <= LDATAA[0] ;             end      2'b11 :            begin              CO <= LDATAA[7] ;             end      default :            begin              CO <= 1'bx ;             end    endcase   end   always @(ACLDAT or BIT_POSN)  begin : set_bbit    case (BIT_POSN[2:0])      3'b000 :            begin              LBBIT <= ACLDAT[0] ;             end      3'b001 :            begin              LBBIT <= ACLDAT[1] ;             end      3'b010 :            begin              LBBIT <= ACLDAT[2] ;             end      3'b011 :            begin              LBBIT <= ACLDAT[3] ;             end      3'b100 :            begin              LBBIT <= ACLDAT[4] ;             end      3'b101 :            begin              LBBIT <= ACLDAT[5] ;             end      3'b110 :            begin              LBBIT <= ACLDAT[6] ;             end      3'b111 :            begin              LBBIT <= ACLDAT[7] ;             end      default :            begin              LBBIT <= 1'bx ;             end    endcase   end   always @(BC or BIT_POSN or ALUP or ALUC)  begin : set_aludat    if (ALUC[17])    begin      ALUDAT <= ALUP ;     end    else    begin      case (BIT_POSN[2:0])        3'b000 :              begin                ALUDAT[0] <= BC ;                 ALUDAT[7:1] <= ALUP[7:1] ;               end        3'b001 :              begin                ALUDAT[0] <= ALUP[0] ;                 ALUDAT[1] <= BC ;                 ALUDAT[7:2] <= ALUP[7:2] ;               end        3'b010 :              begin                ALUDAT[1:0] <= ALUP[1:0] ;                 ALUDAT[2] <= BC ;                 ALUDAT[7:3] <= ALUP[7:3] ;               end        3'b011 :              begin                ALUDAT[2:0] <= ALUP[2:0] ;                 ALUDAT[3] <= BC ;                 ALUDAT[7:4] <= ALUP[7:4] ;               end        3'b100 :              begin                ALUDAT[3:0] <= ALUP[3:0] ;                 ALUDAT[4] <= BC ;                 ALUDAT[7:5] <= ALUP[7:5] ;               end        3'b101 :              begin                ALUDAT[4:0] <= ALUP[4:0] ;                 ALUDAT[5] <= BC ;                 ALUDAT[7:6] <= ALUP[7:6] ;               end        3'b110 :              begin                ALUDAT[5:0] <= ALUP[5:0] ;                 ALUDAT[6] <= BC ;                 ALUDAT[7] <= ALUP[7] ;               end        3'b111 :              begin                ALUDAT[6:0] <= ALUP[6:0] ;                 ALUDAT[7] <= BC ;               end        default :              begin                ALUDAT <= 8'bXXXXXXXX ;               end      endcase     end   end   always @(CH or EK or LDATAA or LOCALE or ALUC or LBBIT or NMULAB or NDIVAB)  begin : genout    ACO <= LOCALE ^ ALUC[5] ;     CPRDDM <= LDATAA ;     OV <= (EK & NMULAB & NDIVAB) | CH ;     BBIT <= LBBIT ;   end   //*********************************************************************endmodule

⌨️ 快捷键说明

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