2015-03-31 67 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位)赛灵思:通用合成警告


现在,我关注警告和最常见的解释是寄存器的值不变,但这里的值取决于可能会有所不同的输入......所以为什么这个警告呢?

+0

你使用的是哪个版本? ISE或Vivado? – 2015-03-31 19:34:02

+0

正试图只合成这个模块?警告可能在父模型中使用的上下文中。 – Greg 2015-03-31 19:40:17

+0

我正在使用ISE。 – 2015-03-31 19:40:27

回答

1

你的模块defintely不是这个警告的原因。它是从模块实例化到模块的一个(或多个)信号。

“恒压”意味着总线连接的总线是一个常数值,所以寄存器总是保存相同的值,因此合成器优化了模块抛出寄存器。

这是通常发生在模块正在测试时的情况,并且出于商品原因,您将输入连接到常数值。