2015-03-31 2 views
0
module InstructionRegister(ir_in,ir_out,ir_r_enable,ir_w_enable,clock); 
    input clock; 
    input [7:0] ir_in; 
    output reg [7:0] ir_out; 
    input ir_w_enable; 
    input ir_r_enable; 
    reg [7:0] insreg; 
    initial 
    begin 
     ir_out=8'b0; 
    end 
    always @(posedge clock) 
     begin 
      if(ir_w_enable) 
       insreg <= ir_in; 
      else if(ir_r_enable) 
       ir_out <= insreg; 
     end 
endmodule 

Внимание: В связи с постоянным нажатием, FF/Защелка не связано в блоке (для всех 8 бит)Xilinx: Общий синтез Предупреждения


Теперь, я искал для предупреждения и наиболее распространенное объяснение - значение регистра не меняется, но здесь значение зависит от ввода, который может меняться ... так почему это предупреждение?

+0

какая версия вы используете? ISE или Vivado? –

+0

пытаются синтезировать только этот модуль? Предупреждение может быть в контексте использования в родительской модели. – Greg

+0

Я использую ISE. –

ответ

1

Ваш модуль не является причиной этого предупреждения. Это один (или несколько) сигналов, поступающих в этот модуль из модуля, который его запускает.

«Постоянное нажатие» означает, что шина ir_in подключена к постоянному значению, поэтому регистр всегда сохраняет одно и то же значение, поэтому синтезатор оптимизирует модуль, отбрасывая регистр.

Это то, что обычно происходит, когда модуль тестируется, и по причинам товара вы подключаете входы к постоянному значению.

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