📄 m3s003bo.v
字号:
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 + -