安路启动慢影响和解决¶
- 参考文档
- APUG104_EF3_EF5_StateHoldIO_Reference_Design_V1.0
- TR404_ELF2 FLASH启动加载时间测试.pdf
- TR606_EF3 FLASH启动加载时间测试.pdf
- TR302_EG4 FLASH启动加载时间测试.pdf
- TN901_安路科技PH1A系列FPGA配置测试验证
1. 上电加载时间差异和影响¶
- 测量方式:3.3V供电上升沿为起点,Done信号上升沿为终点,起点和终点时间差
- 时间差异:L 上电到运行1ms-5ms,安路10ms-50ms

2. 多次初始化和解决方案¶
-
通过VCC_1.2V信号来区分上电和在线升级两种情况
- 上电:检测到VCC_1.2V为低电平,则 初始化外围设备
- 在线升级:检测到VCC_1.2V为高电平, 则 不初始化外围设备
- L可以读到低电平,能实现上述功能
- 安路无法读到低电平,实现不了上述功能
-
方案1:VCC_1.2V供电芯片可以调整下缓启动时间,让相对CPLD后面启动
注:需要评估电源时序改动对系统的影响 -
方案2:BMC增加一个IO来告诉CPLD是上电还是在线升级
注意:此IO建议预留上拉和下拉电阻位置,根据需要贴上拉或者下拉电阻,
避免上电过程中IO电平不确定导致问题。 -
方案3:BMC在线升级后写一个寄存器值,CPLD通过寄存器值来决定是否初始化
3. 上电误保持IO和解决方案¶
-
通过VCC_1.2V信号来区分上电和在线升级两种情况
- 上电:检测到VCC_1.2V为低电平,则 不保持IO
- 在线升级:检测到VCC_1.2V为高电平, 则 保持IO 5秒钟再释放
- Lattice可以读到低电平,能实现上述功能
- 安路无法读到低电平,实现不了上述功能
-
方案1:VCC_1.2V供电芯片可以调整下缓启动时间,让相对CPLD后面启动
注:需要评估电源时序改动对系统的影响 -
方案2:BMC增加一个IO来告诉CPLD是上电还是在线升级
注意:此IO建议预留上拉和下拉电阻位置,根据需要贴上拉或者下拉电阻,
避免上电过程中IO电平不确定导致问题。 -
方案3:只支持有硬核IIC的CPLD(EF3L50/70/A0 EF5)
部分IO释放模块 替换为 全局IO释放开关
差异:部分IO释放只保持用户指定IO,全局开关会保持所有输出IO,无法用户指定
| 非配置IO例化:EF5_LOGIC_FREEZEIO | 配置IO例化:EF5_LOGIC_FREEZE_CFGIO |
|---|---|
![]() |
![]() |
4. BMC先于CPLD启动和解决方案¶
- L 先启动,然后给BMC复位,BMC启动,此场景BMC只有 一次复位
- BMC先启动,安路再启动,给BMC复位,此场景BMC有 两次复位
- 客户需要评估两次复位的影响
- 目前解决思路就是让 --BMC在CPLD运行后再启动--
-
解决方案1和解决方案2可以都做,也可以选一种做
-
方案1:BMC供电芯片可以调整下缓启动时间,让BMC相对CPLD后面启动
注:需要评估上电时序改动对系统的影响 -
方案2:CPLD输出给BMC的复位信号保留上下拉电阻位置
- BMC低电平复位,则贴下拉电阻1k, 这样CPLD运行前
复位信号一直低电平,则BMC一直保持复位不会启动,
CPLD运行后一段时间拉高IO,BMC开始启动。
- BMC低电平复位,则贴下拉电阻1k, 这样CPLD运行前
- BMC高电平复位,则贴上拉电阻4.7k,这样CPLD运行前
复位信号一直高电平,则BMC一直保持复位不会启动,
CPLD运行后一段时间拉低IO,BMC开始启动。 - 注:一般客户都是BMC低电平复位,但是此复位信号同时给到
好几个芯片,有的芯片必须有上拉电阻,导致加载阶段复位信号
是高电平,加载完成后低电平然后高电平,
整个流程即 低-高-低-高,导致BMC芯片两次复位
客户需要评估上拉电阻和下拉电阻对相关芯片的影响。

