Vivado Ошибка с именем: [Synth 8-6859] с несколькими приводами net на выводе - PullRequest
0 голосов
/ 11 января 2020
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 значения присвоения первому [59: 0]?

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

1 Ответ

2 голосов
/ 11 января 2020

Вы говорите

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

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

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

...