UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor miele
Visitor
493 Views
Registered: ‎02-14-2013

fault injection using SEM on Zynq

Hi,

I'm trying to use the SEM IP core to implement a fault injection framework on a Zedboard, using the PS to control the fault injection process. Unfortunatelly I'm experiencing some problems.
 
The screeshot shows the subpart of the design regarding the SEM.
 
design.png
 
 
I starterd from the SEM example provided in Vivado 2018.2: I instantiated the custom IP defined in such an example in my design (on the left in the screenshot). Then, I created an AXI perihperal connected to the IP integrating the SEM and allowed the access to injection_strobe and injection_address through the AXI (on the right in the screenshot).
 
THE PROBLEM I'M EXPERIENCING:
The system starts the initialization procedure by setting the 27bit of DEV_CFG register to 0.
When the SEM IP completes the initialization, it enters in observation state and it detects immediatly an error. After that, it changes state and goes in correction state, then classification state and finally both status_uncorrectable and status_essential are set. DO note that all these steps occur before any attempt to inject a fault.
 
Please, can you help me understanding such a strange behavior?
 
Furthermore, I need to inject an error in a specific set of linear frame address corresponding to the region occupied by a pblock. Where can I find some documentation on the relationship between essential bit file and the pblock floorplan?
I mean, if i know the coordinates in which the component is placed, how can i extract the right linear frame address from ebp file?
Tags (3)
0 Kudos
7 Replies
Moderator
Moderator
392 Views
Registered: ‎06-05-2013

Re: fault injection using SEM on Zynq

Have you tried to just run the example design? Can you share the SEM IP monitor log?
What happens if you reconfigure the device? Do you experience the same behavior after reconfiguration?
There are no specific details on LFA to inject error into specifically P-block.For error injection, if you can inject one bit successfully, that’s all. You prove the error injection and correction function are good. Good article to follow https://www.xilinx.com/support/answers/61241.html

Thanks
harshit
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Visitor miele
Visitor
367 Views
Registered: ‎02-14-2013

Re: fault injection using SEM on Zynq

Thanks for the reply.

I tried to execute the example alone, the result is that SEM stucks on initialization status.
Then I've added the Zynq and merged the example with wrapper generated from the block design but in this way sem does nothing.
Any advice about how to run the example?

The sem example has an interface composed by clk, all status signals, injection address and strobe, and two 1 bit width signals, monitor_rx and monitor_tx.
I tried to read from monitor_tx but results is always 1.

But before to use the sem example i've used the TMR SEM IP core. And in this case i'm able to read the following log:

X7_SEM_V_4_1
SC 01
FS 0E
ICAP OK
RDBK OK
INIT OK
SC 02
O>
SC 04
DED
LA 00001EF6
COR
END
FC 20
SC 08
FC 60
SC 00

As you can see, also in this case the behaviour is the same, without any injection an error is detected.

I tried to ignore this strange behaviour and continue with injection but nothing happens. I can see that after the injection request the SEM goes in injection state and then returns to idle, but i can't see the effect of this injection. I don't know if the injection is performed correctly or not.

This behaviour always happens, also after a complete reconfiguration.
Moderator
Moderator
354 Views
Registered: ‎06-05-2013

Re: fault injection using SEM on Zynq

Thanks for the details. Not sure which board you are using? Is this an evaluation board? If so I can generate one for you. It should work out of the box. No modifications are required.
Above log has 2 bit ECC error. And then Physical Address (PA 01800000) & Linear Frame address (LA 00001EF6) are reported.

Report for an uncorrectable error
COR
END

FC20 Essential Flag set .

You can refer to following AR https://www.xilinx.com/support/answers/47202.html for generating the example design.

Thanks
Harshit
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Visitor miele
Visitor
332 Views
Registered: ‎02-14-2013

Re: fault injection using SEM on Zynq

yes. we are using the zedboard evaluation board. we would very much appreciate if you could help us by generating the design. 

thanks

Antonio

0 Kudos
Visitor miele
Visitor
249 Views
Registered: ‎02-14-2013

Re: fault injection using SEM on Zynq

Just an update: we implemented a basic design with the SEM on a V7 and actually the SEM is initialized correctly and communicates with the connected laptop through the UART… 
So, now we think that our problem on the Zedboard is in the configuration of the PS that somehow affects the SEM in a bad way… which is the exact sequence of instructions to be executed in the software for disabling the PCAP and let the SEM to initialize properly? we are using the following one:
 
ctrl = Xil_In32(0xF8007000);
Xil_Out32(0xF8007000,(ctrl&(~0x08000000)));
 
Is there any other step to be performed?

 

0 Kudos
Moderator
Moderator
236 Views
Registered: ‎06-05-2013

Re: fault injection using SEM on Zynq

Here is the AR https://www.xilinx.com/support/answers/66975.html
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Visitor p76071064
Visitor
154 Views
Registered: ‎05-06-2019

Re: fault injection using SEM on Zynq

Could you tell me how to initiate soft error injection module?
and my example don't have inJection_strobe and injection_signal port
Could you tell me how to do?

0 Kudos