Design Advisory for Zynq-7000 AP SoC: Power-On/-Off Sequence Requirements for PS eFUSE Integrity

本文主要是介绍Design Advisory for Zynq-7000 AP SoC: Power-On/-Off Sequence Requirements for PS eFUSE Integrity,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

zynq加密上下电时序需要特别注意

http://www.xilinx.com/support/answers/65240.html


Description

Under certain conditions, during power-on and power-off the integrity of the Zynq-7000 AP SoC PS eFUSE settings can be affected.

If ALL of the following occur, then the integrity of the Zynq-7000 AP SoC PS eFUSE settings can be affected:

  1. The recommended power-on and power-off sequences are not met
  2. PS_CLK is running during power-on and/or power-off
  3. PS_POR_B is not asserted as required during PS power-on or PS_POR_B is not asserted during power-off

Symptoms can include the following:

  • Failure to boot due to unintended enable of RSA authentication or incorrect RSA PPK hash value
  • Longer than expected boot times due to unintended enable of OCM ROM 128KB CRC check
  • Error during PS eFUSE programming due to unintended write-protect setting or blank check error

Solution

Zynq-7000 AP SoC designs should be evaluated for potential impact to PS eFUSE integrity.

See the sections below for methods to evaluate potential impact.

How do I evaluate if my design is impacted during power-on?

If the answers to ALL three of the following power-on test questions are NO, then the PS eFUSE integrity might be impacted during power-on.

See the "When further analysis is needed" section below.

  • Power-on test 1: Does PS_POR_B meet the datasheet requirements for power-on and is asserted low (GND) until VCCPINT, VCCPAUX , and VCCO_MIO0 have reached their minimum voltage levels? If YES, then NO RISK. Passing this test is represented in solution 1.
  • Power-on test 2: Is the PS reference clock (PS_CLK) inactive until VCCPINT has reached 0.80V? If YES, then NO RISK. Passing this test is represented in solution 2.
  • Power-on test 3: Does the power supply sequence follow the recommended power-on sequence (1: VCCPINT, 2: VCCPAUX, 3: VCCO_MIO0)? 
    VCCPINT must reach 0.80V before both VCCPAUX reaches 0.70V and VCCO_MIO0 reaches 0.90V. 
    If YES, then NO RISK. Passing this test is represented in solution 3.

How do I evaluate if my design is impacted during power-off?

If the answers to ALL four of the preceding power-off tests are NO, then the PS eFUSE integrity might be impacted during power-off.

See the "When further analysis is needed" section below.

  • Power-off test 1: Is PS_POR_B asserted (GND) before VCCPINT reaches 0.80V and held asserted until VCCPINT is lower than 0.40V or VCCPAUX is lower than 0.70V or VCCO_MIO0 is lower than 0.90V? 
    If YES, then NO RISK. Passing this test is represented in solution 4.
  • Power-off test 2: Is the PS reference clock (PS_CLK) inactive before VCCPINT has reached 0.80V? 
    If YES, then NO RISK. Passing this test is represented in solution 5.
  • Power-off test 3: Does the power supply sequence follow the recommended power-off sequence (1: VCCO_MIO0, 2: VCCPAUX, 3: VCCPINT)? That is, does VCCO_MIO0 reach 0.90V or VCCPAUX reach 0.70V before VCCPINT reaches 0.80V? 
    If YES, then NO RISK. Passing this test is represented in solution 6.
  • Power-off test 4: Is PS_POR_B held de-asserted (VCCO_MIO0) and the voltage ramp downs on VCCPINT, VCCPAUXand VCCO_MIO0 are monotonic until at least one of the supplies reaches and stays below 0.40V, 0.70V and 0.90V respectively? 
    If YES, then NO RISK. Passing this test is represented in solution 7.

For systems exhibiting the symptoms, how do I check the integrity of my PS eFUSE?

See the Attachments section below for an XMD script that can read the PS eFUSE array for determining whether any PS eFUSE settings are different to the expected settings.

Follow the instructions in the ReadMe.txt file in the attachment.

When further analysis is needed for existing board designs

For further analysis of an existing board design, open a Xilinx Support Service Request and prepare to share the following:

  • Symptoms, if any, of the issue.
  • If symptoms are observed, then you will need the PS eFUSE array condition (ps_efuse.log file).
    Get this by running the attached zynq_efuse_read_normal.zip utility. See the Attachments section.
  • 4-channel scope shots of PS_POR_B, V CCPINT, V CCPAUX, V CCO_MIO0
    • Zoom into power-on sequence
    • Zoom into power-off sequence
  • Scope shot of PS_CLK activity relative to one or more of the above channels for power-on and power-off

Available Solutions for Ensuring PS eFUSE Integrity

Multiple solutions are available to ensure PS eFUSE integrity. At least one solution for power-on and at least one solution for power-off must be satisfied to ensure PS eFUSE integrity.

These solutions are classified into the following categories:

  • Controlling PS_POR_B during power-on (solution 1) and power-off (solution 4) ramping phases
  • Controlling PS_CLK during power-on (solution 2) and power-off (solution 5) ramping phases
  • Controlling power-on (solution 3) and power-off (solution 6) sequences

Solution 1 for Power-On:

Meet the data sheet requirement for PS_POR_B. 
The PS_POR_B is required to be asserted until the VCCPINT, VCCPAUX and VCCO_MIO0 have reached minimum operating levels.

In addition, review the PS reset assertion timing requirements in the data sheet for concerns regarding (Xilinx Answer 63149)



Solution 2 for Power-On:

Disable PS reference clock (PS_CLK) until VCCPINT > 0.80V.

Solution 3 for Power-On:

Follow the recommended PS power-on sequence in the data sheet.

Specifically, to ensure PS eFUSE integrity, VCCPINT must reach 0.80V before both VCCPAUX reaches 0.70V and VCCO_MIO0 reaches 0.90V.

Solution 4 for Power-Off:

Assert PS_POR_B to GND before VCCPINT reaches 0.80V and hold asserted until VCCPINT is lower than 0.40V, VCCPAUX is lower than 0.70V, or VCCO_MIO0 is lower than 0.90V.

Solution 5 for Power-Off:

Disable the PS reference clock (PS_CLK) before VCCPINT < 0.80V.

Solution 6 for Power-Off:

Follow the recommended PS power-off sequence in the data sheet.

Specifically, to ensure PS eFUSE integrity, VCCO_MIO0 must reach 0.90V or VCCPAUX must reach 0.70V before VCCPINTreaches 0.80V

Solution 7 for Power-Off:

PS_POR_B held de-asserted (VCCO_MIO0) and the voltage ramp downs on VCCPINT, VCCPAUX and VCCO_MIO0 aremonotonic until at least one of the supplies reaches and stays below 0.40V, 0.70V and 0.90V respectively

PVT CONSIDERATION:

The above conditions for power on and power off must be satisfied for any variations in process, voltage and temperature.

The limits on VCCPINT, VCCPAUX and VCCMIO have been characterized considering different PVT conditions.

However, the user needs to confirm any variations on PS_CLK or PS_POR_B will not trigger a failing condition under different PVT scenarios.

Attachments

Associated Attachments

Name File Size File Type
zynq_efuse_read_normal.zip 832 KB ZIP
AR65240_-_Example_PS_POR_B_Supervisor_Circuit.pdf 187 KB PDF

https://www.xilinx.com/support/answers/63149.html

Description

On initial device power up, when the PS PS_POR_B de-asserts within a certain timing window in relationship to power up of  the last PL power supply (VCCINT, VCCBRAM, VCCAUX or VCCO_0), the device can enter Secure Lockdown state and will prevent boot from completing per the lockdown specification. 

This window is defined as a minimum and maximum time relative to the last PL power supply ramp:

 

Tslw (min) = Time from last PL power supply reaching 250mv  to start of Secure Lockdown Window

Tslw (max) = Time from last PL power supply reaching 250mv  to end of Secure Lockdown Window

 

63149.png




 

Solution

How do I evaluate if my system is impacted?
  
Tests 1 and 2 below can be performed on design specifications or optionally on hardware to evaluate if a specific system is impacted.
 
Important Test Assumptions: eFuse for 128K CRC is not enabled AND PLLs are not bypassed.
  

Steps for hardware testing:
 
  • Identify probe points for PS_POR_B, VCCINT (PL), VCCAUX (PL), VCCBRAM, VCCO_0 (PL).
  • For PL supply, identify the probe points near to the die, typically on the supply bypass capacitor.
  • Use an oscilloscope to measure the relative time between the signals for Test 1 and Test 2.
631492.png




In the "Possible Risk" scenario, the power up sequence and de-assertion timing of PS_POR_B must be analyzed to determine if it falls within the Secure Lockdown timing window (Tslw).  
The Tslw min/max values are dependent on several system level factors (Zynq-7000 AP SoC Device, PS_CLK frequency, and PL power supply ramp time). 
 
A Power Up Timing Spreadsheet Calculator has been created to determine this range based on the values from the customers system. This spreadsheet is attached.
 
As an example, a 7Z020 device with a 33.33 MHz PS_CLK and a 6ms PL power supply ramp time has a Secure Lockdown timing window (Tslw) of 13.45ms to 38.99ms after the last PL power supply started to ramp.
 
If PS_POR_B is de-asserted during this window, the device can enter Secure Lockdown state.
If PS_POR_B is de-asserted either before or after this window, the device is not exposed this behavior.
How to confirm that boot did not complete because of this event?
 
All of the following specific symptoms need to be present to confirm this issue is the root cause:
 
1.       If you do an initial power-up AND
2.       If you see a hang during boot AND
3.       If you do not see an access to your boot device AND
4.       If you see the PL JTAG TAP in the JTAG chain AND
5.       If you do not see the PS JTAG TAP in the JTAG chain AND
6.       INIT_B goes HIGH and stays HIGH after secure lockdown AND
7.       If PS_POR_B de-assertion falls inside the Secure Lockdown window
 
What solutions are available?
Xilinx has created  multiple solutions to avoid the Secure Lockdown Window.
The solutions have been classified into the following categories.
 
  • Change timing relationship between last PL power ramp and PS_POR_B using PCB level circuits (Preferred Solution)
  • Change PS BootROM code execution time (*) to shift the window by
     
    • enabling 128K CRC check by burning a PS eFuse bit
    • enabling PLL Bypass (**)

IMPORTANT: Contact your local Xilinx FAE or open a support webcase for further assistance.
Please, open a webcase with "Secure Lockdown Window" in the title ONLY after collecting the following:

  •  Results of the attached spreadsheet analysis (a snapshot of the timing in the spreadsheet)
  •  Scope-shots of PS_POR_B, VCCINT (PL), VCCAUX (PL), VCCBRAM, VCCO_0 (PL) and INIT_B (the time relationship between the signals is required)
NOTES:
 
(*): Changing the PS BootROM code execution time in systems that have stringent startup timing may not be desirable.
Longer execution times can be mitigated by using the register initialization functionality to optimize boot time (Refer Chapter 3 of   Zynq 7000 Software Developers Guide and section 6.3.3 of   Zynq 7000 Technical Reference Manual )
 
(**): A patch for 2014.4 FSBL is required for this method. See  (Xilinx Answer 63576).

这篇关于Design Advisory for Zynq-7000 AP SoC: Power-On/-Off Sequence Requirements for PS eFUSE Integrity的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/338328

相关文章

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering) Power Iteration Clustering (PIC) 是一种基于图的聚类算法,用于在大规模数据集上进行高效的社区检测。PIC 算法的核心思想是通过迭代图的幂运算来发现数据中的潜在簇。该算法适用于处理大规模图数据,特别是在社交网络分析、推荐系统和生物信息学等领域具有广泛应用。Spa

Keysight U8031A DC power supply

Keysight U8031A DC power supply 文章目录 Keysight U8031A DC power supply前言电容充电⽰意图一、恒定电压操作二、恒定电流操作三、5v操作四、跟踪模式操作五、存储器操作六、对过电压保护编程七、对过电流保护编程八、锁键操作 前言 U8031A Power Supply 是一款具备前面板编程能力的三路输出电源。通过使

【H2O2|全栈】关于Photoshop | PS(4)

PS的一些杂谈(亖) 目录 PS的一些杂谈(亖) 前言 准备工作 图形工具 基本属性 混合选项 形状图层  文字工具 基本属性 进一步变化文字 组和图层 UI设计案例  预告和回顾 后话 前言 这一篇博客我将会写一下图形工具和文字工具有关的内容,涉及到锚点调节路径、自由变换和混合选项等内容。在本篇博客看完之后,是可以设置一些简单的LOGO和UI图标的。

Axure元件库Ant Design中后台原型模板:提升设计与开发效率的利器

企业对于中后台产品的设计与开发需求日益增长。为了提升用户体验和开发效率,设计者和开发者们不断寻求更加高效、统一的解决方案。Ant Design,作为阿里巴巴开源的一套企业级UI设计语言和React组件库,凭借其丰富的组件和统一的设计风格,已成为众多项目的首选。而在Axure中使用Ant Design元件库,更是为中后台产品的原型设计带来了极大的便利。 Ant Design简介 Ant D

浙大数据结构:02-线性结构4 Pop Sequence

这道题我们采用数组来模拟堆栈和队列。 简单说一下大致思路,我们用栈来存1234.....,队列来存输入的一组数据,栈与队列进行匹配,相同就pop 机翻 1、条件准备 stk是栈,que是队列。 tt指向的是栈中下标,front指向队头,rear指向队尾。 初始化栈顶为0,队头为0,队尾为-1 #include<iostream>using namespace std;#defi

【UVA】1626-Brackets sequence(动态规划)

一道算是比较难理解的动规。 状态转移分2个: (用d[i][j]表示在i~j内最少需要添加几个括号,保持平衡) 1.如果s[i]和s[j]是一对括号,那么d[i][j] = d[i + 1][j - 1] 2.否则的话 d[i][j] = min(d[i][k],[k + 1][j]); 边界是d[i + 1][i] = 0; d[i][i] = 1; 13993644 162

【UVA】11400-Lighting System Design(动态规划)

这道题感觉状态式不是很好推。。。 WA了好几次是因为排序的时候出问题了。 这道题出在线性结构里了,先说一下最长上升子序列吧。 dp[i]代表了以array[i]结尾的时候,最长子序列长度。 推导的时候,以起点递增的顺序进行推导。 #include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#i

【UVA】10534 - Wavio Sequence(LIS最长上升子序列)

这题一看10000的数据量就知道必须用nlog(n)的时间复杂度。 所以特意去看了最长上升子序列的nlog(n)的算法。 如果有2个位置,该位置上的元素为A[i]和A[j],并且他们满足以下条件: 1.dp[i] = dp[j]    (dp[x]代表以x结尾的最长上升子序列长度) 2.A[i] < A[j] 3.i < j 那么毫无疑问,选择dp[i] 一定优于选择dp[j] 那么

PC/MCU/SoC使用的计算机架构(Architecture)

1. 冯·诺依曼结构 冯·诺依曼结构(Von Neumann Architecture)是计算机系统的经典架构,由数学家约翰·冯·诺依曼在1945年提出。它的核心思想是程序存储器和数据存储器共享同一存储设备,程序和数据以相同的方式存储和访问。冯·诺依曼架构的主要特点包括: 单一存储器:存储程序指令和数据在同一个存储器中。控制单元:通过程序计数器顺序执行指令。数据路径:通过一个共享的总线,将数据

2015年多校联合训练第一场OO’s Sequence(hdu5288)

题意:给定一个长度为n的序列,规定f(l,r)是对于l,r范围内的某个数字a[i],都不能找到一个对应的j使得a[i]%a[j]=0,那么l,r内有多少个i,f(l,r)就是几。问所有f(l,r)的总和是多少。 公式中给出的区间,也就是所有存在的区间。 思路:直接枚举每一个数字,对于这个数字,如果这个数字是合法的i,那么向左能扩展的最大长度是多少,向右能扩展的最大长度是多少,那么i为合法的情况