How to get rid of the sensitivity list warning when synthesizing Verilog code?

I get a warning that:

One or more signals are not in the sensitivity list of the block.

always@(Address)begin
  ReadData = instructMem[Address];
end

How to get rid of this warning?

+3
source share
4 answers

Verilog does not require signal names in the sensitivity list. Use the syntax @*to indicate that a block alwaysshould run whenever any of its input signals changes:

always @* begin 
    ReadData = instructMem[Address]; 
end 
+6
source

Add InstructMem to the sensitivity list.

+1
source

ReadData , .

assign ReadData = instructMem[Address];
0

, Mem. , ReadData = instructionMem [address] , , Mem . , , , ReadData.

Icarus, - @( ), reg [7: 0]: Mem [255: 0] → .

. Verilog , , IP- . .

0
source

Source: https://habr.com/ru/post/1742191/


All Articles