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

  • kovisoft

    őstag

    válasz y@g4n #14873 üzenetére

    A lenti kódrészben az i 25-től megy 34-ig, ezért a maxos 5-től 14-ig vehet fel értéket. A case-ben viszont 0-tól 9-ig vizsgálod. Ezt biztos, hogy így akartad? Nem maxos = (i - 25) kellene? És a max_ nem kap kezdőértéket, biztos, hogy alapból 0 az értéke és nem valami szemét van benne, ami miatt esetleg soha bele sem megy az if-be (és akkor a maxos-ba is valami szemét kerül)?

    integer maxos;
    always @(posedge clk)begin
    for(i = 25; i < 35; i = i + 1)begin
    if(neurons[i] > max_)
    max_ = neurons[i];
    maxos = (i - 20);
    end
    end
    always @(posedge clk)
    case(maxos)
    0: prediction_ = 10'b1000000000;
    1: prediction_ = 10'b0100000000;
    2: prediction_ = 10'b0010000000;
    3: prediction_ = 10'b0001000000;
    4: prediction_ = 10'b0000100000;
    5: prediction_ = 10'b0000010000;
    6: prediction_ = 10'b0000001000;
    7: prediction_ = 10'b0000000100;
    8: prediction_ = 10'b0000000010;
    9: prediction_ = 10'b0000000001;
    endcase

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