Új hozzászólás Aktív témák

  • CPT.Pirk

    Jómunkásember

    válasz Reggie0 #25931 üzenetére

    Hmm, kicseréltem mindent, de így sem lett jó. A modul maga befordul, de aztán kupac warningot kapok rá, az ITER-el kapcsolatban.

    module bin2bcd(binary,bcdout);
    parameter BIN_SIZE=12;
    parameter BCD_SIZE=16;
    input [BIN_SIZE-1:0] binary;
    output [BCD_SIZE-1:0] bcdout;

    genvar i,j;
    generate
    for(i=0;i<BIN_SIZE;i=i+1) begin : ITER
    wire [BIN_SIZE+BCD_SIZE-1:0] _binary;
    wire [BIN_SIZE+BCD_SIZE-1:0] _bcdout;
    wire [BIN_SIZE+BCD_SIZE-1:0] _im;
    for(j=0;j<BCD_SIZE/4;j=j+1) begin : ADDER
    assign _im[BIN_SIZE+3+4*j:BIN_SIZE+4*j] = (_binary[BIN_SIZE+3+4*j:BIN_SIZE+4*j]>4'h4) ? _binary[BIN_SIZE+3+4*j:BIN_SIZE+4*j] + 4'h3 : _binary[BIN_SIZE+3+4*j:BIN_SIZE+4*j];
    end
    assign _im[BIN_SIZE-1:0] = _binary[BIN_SIZE-1:0];
    assign _bcdout=_im<<1;
    if (i>0) assign _binary=ITER[i-1]._bcdout;
    end
    assign ITER[0]._binary={{BIN_SIZE*1'b0},{binary}};
    assign bcdout=ITER[BIN_SIZE-1]._bcdout[BIN_SIZE+BCD_SIZE-1:BIN_SIZE];
    endgenerate

    endmodule

    Átírtam valamit, amit nem kellett volna?

    Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)

Új hozzászólás Aktív témák