Имя ошибки Vivado: [Synth 8-6859] многоуправляемая сеть на штифте

module top(  
input [59:0] first,   
input [59:0] second,   
output out
        ); 

wire [14:0] out_wire;

assign first[19:0]= 20'b1111111111111111111;  
assign first[39:20]= 20'b0000000000000000000;  
assign first[59:40]=20'b11001100110011001100;

 .....
 ... 
 ..

Я получаю сообщение об ошибке в заголовке при синтезе, если я включаю операторы assign. Как мне правильно инициализировать эти 3 значения присваивания для first[59:0]?

Весь дизайн комбинированный.


person zaki    schedule 11.01.2020    source источник


Ответы (1)


Ты говоришь

  1. Вы хотите инициализировать значения.
  2. Весь дизайн комбинированный.

Это противоречиво. Комбинированные сигналы всегда имеют назначенное им значение. вы не можете инициализировать их даже оператором initial.

В-третьих: ваш first является входом.
Если вы хотите присвоить ему значение, это должно быть сделано вне модуля. Таким образом, вы должны убедиться, что все, что управляет вашим «первым», имеет правильное начальное значение. Если это тестовый стенд, вы должны решить проблему там.

person Oldfart    schedule 11.01.2020