heartfree
Advanced Member level 4
Hello everybody,
I met with a problem about formality. Here is description:
reg dout_reg;
reg [41:0] scan_sig;
reg [5:0] shift_count;
always @ (negedge resetn or posedge clk)
begin
if.................
else
dout_reg <= scan_sig[shift_count]
end
In RTL design, shift_count is guaranted in the range of 0~41. But when I run rtl vs. gate formal verification, the tool reports dout_reg is a failing point.
I analyzed the failing pattern. It seemed that formality regard the scan_sig as "x" when shift_count is larger than 41.
How to avoid this issue?
thanks
I met with a problem about formality. Here is description:
reg dout_reg;
reg [41:0] scan_sig;
reg [5:0] shift_count;
always @ (negedge resetn or posedge clk)
begin
if.................
else
dout_reg <= scan_sig[shift_count]
end
In RTL design, shift_count is guaranted in the range of 0~41. But when I run rtl vs. gate formal verification, the tool reports dout_reg is a failing point.
I analyzed the failing pattern. It seemed that formality regard the scan_sig as "x" when shift_count is larger than 41.
How to avoid this issue?
thanks