verilog, почему это незаконная ссылка на сеть

Я новичок в Verilog, но я не понимаю, почему это недопустимая ссылка на сеть для сигнала (subcounter_of_counter). Я имею в виду это комбинационная логика

заранее спасибо:)

wire [n-1:0] subcounter_of_counter;
reg [n-1:0] mask,free;     
always @(*) begin //command or id or mask or free or subcounter_of_counter
        if (command==increment) begin
            for (int i = 0; i < n; i=i+1)begin
                if (i<id) begin
                    subcounter_of_counter[i]=1'b0;
                end else if (i==id) begin
                    subcounter_of_counter[i]=1'b1;
                end else begin
                    if( (|mask[id+1:i]) || (|free[id+1:i]) ) begin
                        subcounter_of_counter[i]=1'b0;
                    end else begin
                        subcounter_of_counter[i]=1'b1;
                    end
                end
            end
        end
        end

1 ответ

Решение

wire является типом сети, и тип сети не может быть назначен в always блоки или initial блоки.
+ Изменить subcounter_of_counter от wire в reg решить вашу проблему. reg является ключевым словом для логического типа и явно не означает, что оно будет синтезироваться в регистр.

Другие вопросы по тегам