保捱科技网
您的当前位置:首页EDA十进制加法器,双色点阵

EDA十进制加法器,双色点阵

来源:保捱科技网


module jiafaqi(J,BJ,w1,w2,w3,w4,w5,w6,clk1,clk2,clk3,warn,RA,GA,ROW,SSS,JJ); input J,BJ,clk1,clk2,clk3,JJ; wire[6:0] J,BJ;

output w1,w2,w3,w4,w5,w6,warn,RA,GA,ROW,SSS; reg[7:0] we1,we2,we3,we4,we5,we6; reg[7:0] w1,w2,w3,w4,w5,w6; reg[2:0] SSS;

fengming m2(J,BJ,warn);

reg[0:7] ROW,RA,GA;

reg[7:0] COUT1,COUT2,COUT3,COUT4;

always@(posedge clk2) begin if((J<49)&&(BJ<49)) begin

RA=8'b00000000; COUT1=COUT1+1; if(COUT1==8) begin COUT1=1;end case(COUT1) 1:begin ROW=8'b01111110; GA=8'b11111111;end 2:begin ROW=8'b10111111; GA=8'b00000010;end 3:begin ROW=8'b11011111; GA=8'b00000100;end 4:begin ROW=8'b11101111; GA=8'b00001000;end 5:begin ROW=8'b11110111; GA=8'b00010000;end 6:begin ROW=8'b11111011; GA=8'b00100000;end 7:begin ROW=8'b11111101; GA=8'b01000000;end default:; endcase end

else if((J==49)&&(BJ<49)) begin RA=8'b00000000; COUT3=COUT3+1; if(COUT3==8) begin COUT3=1;end case(COUT3) 1:begin ROW=8'b01111110; GA=8'b11111111;end 2:begin ROW=8'b10111111; GA=8'b00000010;end 3:begin ROW=8'b11011111; GA=8'b00000100;end 4:begin ROW=8'b11101111; GA=8'b00001000;end 5:begin ROW=8'b11110111; GA=8'b00010000;end 6:begin ROW=8'b11111011; GA=8'b00100000;end 7:begin ROW=8'b11111101; GA=8'b01000000;end

default:; endcase end

else if((J<49)&&(BJ==49)) begin RA=8'b00000000; COUT4=COUT4+1; if(COUT4==8) begin COUT4=1;end case(COUT4) 1:begin ROW=8'b01111110; GA=8'b11111111;end 2:begin ROW=8'b10111111; GA=8'b00000010;end 3:begin ROW=8'b11011111; GA=8'b00000100;end 4:begin ROW=8'b11101111; GA=8'b00001000;end 5:begin ROW=8'b11110111; GA=8'b00010000;end 6:begin ROW=8'b11111011; GA=8'b00100000;end 7:begin ROW=8'b11111101; GA=8'b01000000;end default:; endcase end else if((J>49)||(BJ>49)) begin GA=8'b00000000; COUT2=COUT2+1; if(COUT2==4) begin COUT2=1;end case(COUT2) 1:begin ROW=8'b01111111; RA=8'b11111111;end 2:begin RA=8'b10000000; ROW=8'b00000000;end 3:begin ROW=8'b11101111; RA=8'b11111000;end default:; endcase

end end

reg[6:0] sh; always@(J) begin if(J>49) begin we1=8'b00111111;we2=8'b00111111;end else if(J==49) begin we1=8'b01100110;we2=8'b01101111;end else if(J==48) begin we1=8'b01100110;we2=8'b01111111;end else if(J==47) begin we1=8'b01100110;we2=8'b00000111;end else if(J==46) begin we1=8'b01100110;we2=8'b01111101;end else if(J==45) begin we1=8'b01100110;we2=8'b01101101;end else if(J==44) begin we1=8'b01100110;we2=8'b01100110;end else if(J==43) begin we1=8'b01100110;we2=8'b01001111;end else if(J==42) begin we1=8'b01100110;we2=8'b01011011;end else if(J==41) begin we1=8'b01100110;we2=8'b00000110;end else if(J==40) begin we1=8'b01100110;we2=8'b00111111;end else if(J==39) begin we1=8'b01001111;we2=8'b01101111;end else if(J==38) begin we1=8'b01001111;we2=8'b01111111;end else if(J==37) begin we1=8'b01001111;we2=8'b00000111;end else if(J==36) begin we1=8'b01001111;we2=8'b01111101;end else if(J==35) begin we1=8'b01001111;we2=8'b01101101;end else if(J==34) begin we1=8'b01001111;we2=8'b01100110;end else if(J==33) begin we1=8'b01001111;we2=8'b01001111;end

else if(J==32)

begin we1=8'b01001111;we2=8'b01011011;end else if(J==31)

begin we1=8'b01001111;we2=8'b00000110;end else if(J==30)

begin we1=8'b01001111;we2=8'b00111111;end

else if(J==29)

begin we1=8'b01011011;we2=8'b01101111;end else if(J==28)

begin we1=8'b01011011;we2=8'b01111111;end else if(J==27)

begin we1=8'b01011011;we2=8'b00000111;end else if(J==26)

begin we1=8'b01011011;we2=8'b01111101;end else if(J==25)

begin we1=8'b01011011;we2=8'b01101101;end else if(J==24)

begin we1=8'b01011011;we2=8'b01100110;end else if(J==23)

begin we1=8'b01011011;we2=8'b01001111;end else if(J==22)

begin we1=8'b010110111;we2=8'b01011011;end else if(J==21)

begin we1=8'b01011011;we2=8'b00000110;end else if(J==20)

begin we1=8'b01011011;we2=8'b00111111;end else if(J==19)

begin we1=8'b00000110;we2=8'b01101111;end else if(J==18)

begin we1=8'b00000110;we2=8'b01111111;end else if(J==17)

begin we1=8'b00000110;we2=8'b00000111;end else if(J==16)

begin we1=8'b00000110;we2=8'b01111101;end else if(J==15)

begin we1=8'b00000110;we2=8'b01101101;end else if(J==14)

begin we1=8'b00000110;we2=8'b01100110;end else if(J==13)

begin we1=8'b00000110;we2=8'b01001111;end else if(J==12)

begin we1=8'b00000110;we2=8'b01011011;end

else if(J==11) begin we1=8'b00000110;we2=8'b00000110;end else if(J==10) begin we1=8'b00000110;we2=8'b00111111;end else if(J==09) begin we1=8'b00111111;we2=8'b01101111;end else if(J==08) begin we1=8'b00111111;we2=8'b01111111;end else if(J==07) begin we1=8'b00111111;we2=8'b00000111;end else if(J==06) begin we1=8'b00111111;we2=8'b01111101;end else if(J==05) begin we1=8'b00111111;we2=8'b01101101;end else if(J==04) begin we1=8'b00111111;we2=8'b01100110;end else if(J==03) begin we1=8'b00111111;we2=8'b01001111;end else if(J==02) begin we1=8'b00111111;we2=8'b01011011;end else if(J==01) begin we1=8'b00111111;we2=8'b00000110;end else if(J==00) begin we1=8'b00111111;we2=8'b00111111;end end

always@(J) begin if(BJ>49) begin we3=8'b00111111;we4=8'b00111111;end else if(BJ==49) begin we3=8'b01100110;we4=8'b01101111;end else if(BJ==48) begin we3=8'b01100110;we4=8'b01111111;end else if(BJ==47) begin we3=8'b01100110;we4=8'b00000111;end else if(BJ==46) begin we3=8'b01100110;we4=8'b01111101;end else if(BJ==45) begin we3=8'b01100110;we4=8'b01101101;end else if(BJ==44)

begin we3=8'b01100110;we4=8'b01100110;end else if(BJ==43)

begin we3=8'b01100110;we4=8'b01001111;end else if(BJ==42)

begin we3=8'b01100110;we4=8'b01011011;end else if(BJ==41)

begin we3=8'b01100110;we4=8'b00000110;end else if(BJ==40)

begin we3=8'b01100110;we4=8'b00111111;end else if(BJ==39)

begin we3=8'b01001111;we4=8'b01101111;end else if(BJ==38)

begin we3=8'b01001111;we4=8'b01111111;end else if(BJ==37)

begin we3=8'b01001111;we4=8'b00000111;end else if(BJ==36)

begin we3=8'b01001111;we4=8'b01111101;end else if(BJ==35)

begin we3=8'b01001111;we4=8'b01101101;end else if(BJ==34)

begin we3=8'b01001111;we4=8'b01100110;end else if(BJ==33)

begin we3=8'b01001111;we4=8'b01001111;end else if(BJ==32)

begin we3=8'b01001111;we4=8'b01011011;end else if(BJ==31)

begin we3=8'b01001111;we4=8'b00000110;end else if(BJ==30)

begin we3=8'b01001111;we4=8'b00111111;end

else if(BJ==29)

begin we3=8'b01011011;we4=8'b01101111;end else if(BJ==28)

begin we3=8'b01011011;we4=8'b01111111;end else if(BJ==27)

begin we3=8'b01011011;we4=8'b00000111;end else if(BJ==26)

begin we3=8'b01011011;we4=8'b01111101;end else if(BJ==25)

begin we3=8'b01011011;we4=8'b01101101;end else if(BJ==24)

begin we3=8'b01011011;we4=8'b01100110;end else if(BJ==23)

begin we3=8'b01011011;we4=8'b01001111;end else if(BJ==22)

begin we3=8'b010110111;we4=8'b01011011;end else if(BJ==21)

begin we3=8'b01011011;we4=8'b00000110;end else if(BJ==20)

begin we3=8'b01011011;we4=8'b00111111;end else if(BJ==19)

begin we3=8'b00000110;we4=8'b01101111;end else if(BJ==18)

begin we3=8'b00000110;we4=8'b01111111;end else if(BJ==17)

begin we3=8'b00000110;we4=8'b00000111;end else if(BJ==16)

begin we3=8'b00000110;we4=8'b01111101;end else if(BJ==15)

begin we3=8'b00000110;we4=8'b01101101;end else if(BJ==14)

begin we3=8'b00000110;we4=8'b01100110;end else if(BJ==13)

begin we3=8'b00000110;we4=8'b01001111;end else if(BJ==12)

begin we3=8'b00000110;we4=8'b01011011;end else if(BJ==11)

begin we3=8'b00000110;we4=8'b00000110;end else if(BJ==10)

begin we3=8'b00000110;we4=8'b00111111;end

else if(BJ==09)

begin we3=8'b00111111;we4=8'b01101111;end else if(BJ==08)

begin we3=8'b00111111;we4=8'b01111111;end else if(BJ==07)

begin we3=8'b00111111;we4=8'b00000111;end else if(BJ==06)

begin we3=8'b00111111;we4=8'b01111101;end else if(BJ==05)

begin we3=8'b00111111;we4=8'b01101101;end else if(BJ==04)

begin we3=8'b00111111;we4=8'b01100110;end else if(BJ==03)

begin we3=8'b00111111;we4=8'b01001111;end

else if(BJ==02) begin we3=8'b00111111;we4=8'b01011011;end else if(BJ==01) begin we3=8'b00111111;we4=8'b00000110;end else if(BJ==00) begin we3=8'b00111111;we4=8'b00111111;end end

always@(J or BJ) begin if(JJ==1) begin if((J>49)&&(BJ>49)) beginsh=0;end else if((J<50)&&(BJ>49)) beginsh=J;end else if((J>49)&&(BJ<50)) beginsh=BJ;end else if((J<50)&&(BJ<50)) beginsh=J+BJ;end end else if(JJ==0) begin if((J>49)||(BJ>49)) beginsh=0;end else if((J<50)&&(BJ<50)) begin if(J>BJ)begin sh=J-BJ;end else if(J<=BJ) beginsh=0;end end end

always@(posedge clk3) begin if(BJ==98) begin we5=8'b01101111;we6=8'b01111111;end else if(sh==97) begin we5=8'b01101111;we6=8'b00000111;end else if(sh==96) begin we5=8'b01101111;we6=8'b01111101;end else if(sh==95) begin we5=8'b01101111;we6=8'b01101101;end

else if(sh==94)

begin we5=8'b01101111;we6=8'b01100110;end else if(sh==93)

begin we5=8'b01101111;we6=8'b01001111;end else if(sh==92)

begin we5=8'b01101111;we6=8'b01011011;end else if(sh==91)

begin we5=8'b01101111;we6=8'b00000110;end else if(sh==90)

begin we5=8'b01101111;we6=8'b00111111;end

else if(sh==)

begin we5=8'b01111111;we6=8'b01101111;end else if(sh==88)

begin we5=8'b01111111;we6=8'b01111111;end else if(sh==87)

begin we5=8'b01111111;we6=8'b00000111;end else if(sh==86)

begin we5=8'b01111111;we6=8'b01111101;end else if(sh==85)

begin we5=8'b01111111;we6=8'b01101101;end else if(sh==84)

begin we5=8'b01111111;we6=8'b01100110;end else if(sh==83)

begin we5=8'b01111111;we6=8'b01001111;end else if(sh==82)

begin we5=8'b01111111;we6=8'b01011011;end else if(sh==81)

begin we5=8'b01111111;we6=8'b00000110;end else if(sh==80)

begin we5=8'b01111111;we6=8'b00111111;end else if(sh==79)

begin we5=8'b00000111;we6=8'b01101111;end else if(sh==78)

begin we5=8'b00000111;we6=8'b01111111;end else if(sh==77)

begin we5=8'b00000111;we6=8'b00000111;end else if(sh==76)

begin we5=8'b00000111;we6=8'b01111101;end else if(sh==75)

begin we5=8'b00000111;we6=8'b01101101;end else if(sh==74)

begin we5=8'b00000111;we6=8'b01100110;end else if(sh==73)

begin we5=8'b00000111;we6=8'b01001111;end else if(sh==72)

begin we5=8'b00000111;we6=8'b01011011;end else if(sh==71)

begin we5=8'b00000111;we6=8'b00000110;end else if(sh==70)

begin we5=8'b00000111;we6=8'b00111111;end else if(sh==69)

begin we5=8'b01111101;we6=8'b01101111;end else if(sh==68)

begin we5=8'b01111101;we6=8'b01111111;end else if(sh==77)

begin we5=8'b01111101;we6=8'b00000111;end else if(sh==66)

begin we5=8'b01111101;we6=8'b01111101;end else if(sh==65)

begin we5=8'b01111101;we6=8'b01101101;end else if(sh==)

begin we5=8'b01111101;we6=8'b01100110;end else if(sh==63)

begin we5=8'b01111101;we6=8'b01001111;end else if(sh==62)

begin we5=8'b01111101;we6=8'b01011011;end else if(sh==61)

begin we5=8'b01111101;we6=8'b00000110;end else if(sh==60)

begin we5=8'b01111101;we6=8'b00111111;end else if(sh==59)

begin we5=8'b01101101;we6=8'b01101111;end else if(sh==58)

begin we5=8'b01101101;we6=8'b01111111;end else if(sh==57)

begin we5=8'b01101101;we6=8'b00000111;end else if(sh==56)

begin we5=8'b01101101;we6=8'b01111101;end else if(sh==55)

begin we5=8'b01101101;we6=8'b01101101;end else if(sh==54)

begin we5=8'b01101101;we6=8'b01100110;end else if(sh==53)

begin we5=8'b01101101;we6=8'b01001111;end else if(sh==62)

begin we5=8'b01101101;we6=8'b01011011;end else if(sh==51)

begin we5=8'b01101101;we6=8'b00000110;end else if(sh==50)

begin we5=8'b01101101;we6=8'b00111111;end

else if(sh==49)

begin we5=8'b01100110;we6=8'b01101111;end else if(sh==48)

begin we5=8'b01100110;we6=8'b01111111;end else if(sh==47)

begin we5=8'b01100110;we6=8'b00000111;end else if(sh==46)

begin we5=8'b01100110;we6=8'b01111101;end else if(sh==45)

begin we5=8'b01100110;we6=8'b01101101;end else if(sh==44)

begin we5=8'b01100110;we6=8'b01100110;end else if(sh==43)

begin we5=8'b01100110;we6=8'b01001111;end else if(sh==42)

begin we5=8'b01100110;we6=8'b01011011;end else if(sh==41)

begin we5=8'b01100110;we6=8'b00000110;end else if(sh==40)

begin we5=8'b01100110;we6=8'b00111111;end else if(sh==39)

begin we5=8'b01001111;we6=8'b01101111;end else if(sh==38)

begin we5=8'b01001111;we6=8'b01111111;end else if(sh==37)

begin we5=8'b01001111;we6=8'b00000111;end else if(sh==36)

begin we5=8'b01001111;we6=8'b01111101;end else if(sh==35)

begin we5=8'b01001111;we6=8'b01101101;end else if(sh==34)

begin we5=8'b01001111;we6=8'b01100110;end else if(sh==33)

begin we5=8'b01001111;we6=8'b01001111;end

else if(sh==32)

begin we5=8'b01001111;we6=8'b01011011;end else if(sh==31)

begin we5=8'b01001111;we6=8'b00000110;end else if(sh==30)

begin we5=8'b01001111;we6=8'b00111111;end else if(sh==29)

begin we5=8'b01011011;we6=8'b01101111;end else if(sh==28)

begin we5=8'b010110111;we6=8'b01111111;end else if(sh==27)

begin we5=8'b01011011;we6=8'b00000111;end else if(sh==26)

begin we5=8'b01011011;we6=8'b01111101;end else if(sh==25)

begin we5=8'b01011011;we6=8'b01101101;end else if(sh==24)

begin we5=8'b01011011;we6=8'b01100110;end else if(sh==23)

begin we5=8'b01011011;we6=8'b01001111;end else if(sh==22)

begin we5=8'b01011011;we6=8'b01011011;end else if(sh==21)

begin we5=8'b01011011;we6=8'b00000110;end else if(sh==20)

begin we5=8'b01011011;we6=8'b00111111;end else if(sh==19)

begin we5=8'b00000110;we6=8'b01101111;end else if(sh==18)

begin we5=8'b00000110;we6=8'b01111111;end else if(sh==17)

begin we5=8'b00000110;we6=8'b00000111;end else if(sh==16)

begin we5=8'b00000110;we6=8'b01111101;end else if(sh==15)

begin we5=8'b00000110;we6=8'b01101101;end else if(sh==14)

begin we5=8'b00000110;we6=8'b01100110;end else if(sh==13)

begin we5=8'b00000110;we6=8'b01001111;end else if(sh==12)

begin we5=8'b00000110;we6=8'b01011011;end

else if(sh==11) begin we5=8'b00000110;we6=8'b00000110;end else if(sh==10) begin we5=8'b00000110;we6=8'b00111111;end else if(sh==09) begin we5=8'b00111111;we6=8'b01101111;end else if(sh==08) begin we5=8'b00111111;we6=8'b01111111;end else if(sh==07) begin we5=8'b00111111;we6=8'b00000111;end else if(sh==06) begin we5=8'b00111111;we6=8'b01111101;end else if(sh==05) begin we5=8'b00111111;we6=8'b01101101;end else if(sh==04) begin we5=8'b00111111;we6=8'b01100110;end else if(sh==03) begin we5=8'b00111111;we6=8'b01001111;end else if(sh==02) begin we5=8'b00111111;we6=8'b01011011;end else if(sh==01) begin we5=8'b00111111;we6=8'b00000110;end else if(sh==00) begin we5=8'b00111111;we6=8'b00111111;end end

always@(posedge clk1) begin SSS=SSS+1; if(SSS=='b110) SSS='b000; case(SSS) 'b000: begin w1=we1; end 'b001: begin w2=we2; end 'b010: begin w3=we3; end 'b011: begin w4=we4; end 'b100: begin w5=we5; end 'b101: begin w6=we6; end default:; endcase end

endmodule

modulefengming(Jian,BJian,warn,JJ); input[6:0] Jian,BJian; output warn; reg warn; always@(Jian||BJian) begin if(JJ==1) begin if((Jian<49)&&(BJian<49)) begin warn=0;end if((Jian>49)||(BJian>49)) begin warn=1;end if((Jian==49)&&(BJian<49)) begin warn=0;end if((BJian==49)&&(Jian<49)) begin warn=0;end else if(JJ==0) begin if((Jian>49)||(BJian>49)) begin warn=1;end else if((Jian<49)&&(BJian<49)) begin if(JianBJian) begin warn=0;end end end

endmodule

因篇幅问题不能全部显示,请点此查看更多更全内容