2016-12-23 4 views
0

Прежде всего, есть еще один вопрос с тем же названием here. Однако это мне не помогло. Я пробовал каждое решение, но все равно получаю ту же ошибку.<signal> не является постоянным

Вот мой модуль:

module RGB(input logic clk, 
      output logic OE, 
      output logic SH_CP, 
      output logic ST_CP, 
      output logic reset, 
      output logic DS, 
      output logic KATOT); 

Вот мои логик:

logic [23:0]message; 
logic [7:0] red; 
logic [7:0] green; 
logic [7:0] blue; 

assign red = message[23:16]; 
assign green = message[15:8]; 
assign blue = message[7:0]; 

logic f; 
logic e; 

logic [7:0]counter; 
int i = 1; 
int a = 0; 
int d = 0; 

И последнее, но не в последнюю очередь, вот та часть, где я получаю эту ошибку:

[email protected](*) 
begin 
    if(i > 3 & i < 28) 
    begin 
     DS <= message[i-3:i-3]; // Here is the error line 81 
    end 
    else 
    begin 
     DS <= 1'b0; 
    end 
end 

Большое спасибо, ребята, хорошо провели день

ответ

1

Проблема заключается в том диапазоне, в этом выражении

DS <= message[i-3:i-3]; 

Я думаю, что вы имели в виду

DS <= message[i-3]; 

BTW, всегда показывают точное сообщение об ошибке и точную линию, которая указывает ссылка.

Смежные вопросы