Professional Documents
Culture Documents
Is this
behaviour
clk realistic ?
always @ (posedge clk)
q<=d;
1’b1
d q
© Accellera Systems Initiative 5
X-optimism at RTL due to Verilog
Semantics – IF statement
• If control expression of “IF” statement evaluates to
true, then first statement shall be executed. But if it
evaluates to false (value is 0 or x or z), then the else
statement shall be executed.
a On
cond a b RTL GLS
Silicon
if( cond )
y X 0 0 0 0 0
Y = a; cond
else X 0 1 1 X X
Y = b; X 1 0 0 X X
b
X 1 1 1 X 1
sysclk
if (sel0)
begin
out = sysclk;
diff_sysclk_b end
sel0
else
cfg_eng_use_p
begin
1 out = diff_sysclk_b;
POR Sampling
end
Logic
// single_clk_selection
Select line X
Valid output clock
despite X at slect line
© Accellera Systems Initiative 10
Xprop behavior
Xprop on output
Xprop on downstream
Select line X clock due to X
logic and fdbk path
on select line
© Accellera Systems Initiative 11 due to X on clock
Small delays can corrupt big designs –
Unclean edge
pad_int_in int_ind_pad
jtag_upd_data
count
ibe_pwrseq ipp_ibe_b
0 -> 1 1 -> 0
© Accellera Systems Initiative 12
Xprop – The big picture
X propagating due to
delay of the buffers.
© Accellera Systems Initiative 13
Security lapse – If statement
Hreset_b
Individual
Reset from
battery
IP
Core System Converte
Fabric r
DANGER !!!
Security breached
• Confidence on design
– Only 1-5% of testsuite run on GLS