EG4S20BG256I8¶
-
参考文档
- DS300_Eagle_Datasheet.pdf
- DS301_EG4S20_Datasheet.pdf
- UG303_EG4硬件设计指南.pdf
- EG4X20BG256_CHECKLIST.xlsx
-
注意事项
- 开发板可以参考, 细节以最新官方文档为准
- 加I8后缀EG4S20BG256I8才是工业级,否则商业级
1. 上电阶段注意¶
1.1 上电加载时间¶
- 参考文档:TR302_EG4 FLASH启动加载时间测试.pdf
- 测量方式:3.3V供电上升沿为起点,Done信号上升沿为终点,起点和终点时间差
-
加载时间:新建工程后默认2秒,把加载频率调大最大最快可以150ms左右

1.2 输出IO在程序加载阶段弱上拉说明¶
- 配置引脚(包含8个D[7:0]命名)在上电阶段为弱上拉
如果有上电低电平需求建议下拉1k(0.25V)-2k(0.5V)
非配置IO因为是高阻如果有上电低电平需求下拉10k即可(HSWAPEN需要上拉) - 二次确认:Datasheet里面搜索 "引脚在配置阶段的状态"
- 安路IO上下拉电阻和串阻.md


2. 串阻和上下拉电阻推荐¶
-
串阻:22或33欧姆或其它,靠近输出信号放,边沿敏感或者频率较高信号可以改善信号质量
-
IO不推荐直接接电源或者GND,推荐加上拉或下拉或者直接悬空(没有特殊功能的引脚)
-
上拉电阻:推荐4.7kΩ,绝大部分情况1k-10k也没有问题
-
下拉电阻
- 上电阶段弱上拉IO(配置相关IO):需要上电阶段为低电平则下拉1k(0.25V)-2k(0.5V)
- 上电阶段本身是高阻的IO: 如果关心上电阶段电平,尽量还是有下拉电阻,1k/4.7k/10k均可,如果悬空电平可能不确定
3. 电源和退耦电容¶
- VCCINT: 1.2V 电容按退耦电容表格来
-
VCCAUX/VCCIO: 都是3.3V则OK, 如果不是则分析具体供电情况
AUX电容按退耦表格来,VCCIO用的比较满电容按表格来,只是一两个IO可以酌情删减
4.7/22uF是平滑电源波动,0.1uF是滤掉高频毛刺分量 -
EG4S20NG88 器件的 BANK1、BANK2、BANK3、BANK4、BANK5、BANK6 和 BANK7
必须使用 3.3V IO 电压,BANK8 可支持 1.2V、1.5V、1.8V、2.5V 和 3.3V IO 电平。 -
EG4A20NG88 器件的引脚与 EG4S20NG88 相同,EG4A20NG88 的 BANK3、BANK4 和 BANK7
必须使用 3.3V IO 电压,其他 BANK 均支持 1.2V、1.5V、1.8V、2.5V 和 3.3V IO 电平。 -
EG4X20BG256的BANK编号在最后面:IO_L13P_GCLKIOL_7_1:BANK1
EG4X20LG144的BANK编号在中间: IO_L5_1, GCLKIOL_2:BANK1 -

-

4. 输入时钟(输出时钟没有要求)¶
4.1 PLL参考时钟输入¶
- 安路这个型号内部振荡器误差±30%,
- 如果对精度要求高必须加外部晶振,从全局时钟引脚GCLK 端进
- 有源晶振输出端一般有串阻22或33Ω,这样信号质量好点
- 上电后等输入时钟稳定再对pll复位,时间大于100us,
保证多通道输出相位稳定,否则高低温可能有1ns左右相位差
单通道输出时钟没有相位概念, 保证输入稳定后复位即可
4.2 高速时钟输入¶
- 超过10Mhz的输入时钟要从全局时钟引脚进, 全局时钟每次编程延迟一致,
- 普通IO输入时钟每次编程走线不一致导致几个ns的差异,比如1ns-3ns
- 以太网的RGMII的RX CLK必须从GCLK 端进
-
I2C这种低速接口(最大400kHz)没必要接GCLK,以及其它类似的
-
SPI从机 CLK某些场景直接当成内部时钟用,
引脚用的比较少的情况也可以从GCLK 端进(但是GCLK资源有限)
一般推荐过采样(这种情况是当成数据处理不需要走专门时钟)
SPI尽量放在一个bank里面,延时一致性好点 -
每个芯片根据时钟分了四个方位:top/bottom/left/right
顶部BANK2时钟IO0:IO_TE10N_GCLKIOT_0_2
底部BANK0时钟IO0:IO_BE12N_GCLKIOB_0_0
左边BANK1时钟IO0:IO_L16N_GCLKIOL_0_1
右边BANK3时钟IO0:IO_R15N_GCLKIOR_0_3 -
每个方位的8个全局时钟专用输入脚高低位互斥,
编号0和编号4不能同时上全局时钟网络,
编号1和编号5不能同时上全局时钟网络,
编号2和编号6不能同时上全局时钟网络,
编号3和编号7不能同时上全局时钟网络。
5. 配置管脚¶
5.1 常规配置¶
- HSWAPEN:保留上下拉电阻位置,默认贴上拉,如此普通用户IO上电为高阻
- MSEL[1:0]:M[1:0]=01 MSPI模式/M[1:0]=11 从动串行
- PROGRAM/INIT/DONE:上拉
工控干扰场景program建议加0.1uf电容(500ns低电平可以触发复位重配置) - TMS/TDI/TDO: 上拉
- TCK:EF/EG/SF系列下拉,PH/DR系列上拉
- VREF:放0.1uf电容,这个是给下载器的电平转化芯片245的输出端供电
5.2 MSPI模式接线¶
- 信号线可以串22/33Ω电阻提高信号质量和方便调试
- CCLK:MSPI模式和从串模式共用
- SPICSN/CSO_B:MSPI模式独占引脚(跟CSN/CSON/DOUT不是同一个,EG4A20NG88是CSO_B)
- D0_DIN_MISO:MSPI模式和从串模式共用,8脚flash的2脚(MISO/IO1)
- MOSI_CSI_B:MSPI模式和从并模式共用,8脚flash的5脚(MOSI/IO0)
5.3 注意事项¶
- Programn 管脚在强干扰的工业应用环境中建议配置为GPIO且建议强上拉
降低干扰导致芯片复位的风险, 此时无法使用复位功能,也可以加一个0.1uf滤波电容
500ns干扰脉冲可以触发芯片重配置复位 - MSPI几个信号线横跨好几个bank,如果bank供电种类多,则需要关注电压一致性
只有一个3.3V供电无需关注 - 早期USB_CABLE和淘宝的安路低速下载器大部分都没有电平转化芯片,
一般自带3.3V,FPGA的JTAG不是3.3V,接线接在一起会冲突损坏风险 - JTAG信号线建议串22或33Ω来提高拔插下载器时候损坏风险
禁止下载器带电拔插JTAG,也就是说拔插JTAG时候板子必须断电,
下载器有电无电没影响,USB端支持热插拔
6. 高速信号串扰规避(1Mhz以下可以不用关心)¶
-
例子:差分对P/N两个引脚,一个引脚输入100Mhz时钟,
一个引脚开漏输出(比如IIC), 可能会导致这个输出信号低于3.3V。 -
一端高速信号,一端边沿敏感信号(时钟、复位、异步、开漏输出、写使能等. )
-
不推荐将一对差分IO的P端和N端分别用作单端IO时,
一个IO输入和另一个IO输出的时钟信号,对时钟信号质量有影响。
高速信号(5Mhz以上)输入输出尽量避开这种情况。
7. IO用满情况下注意事项¶
- 工程设置可以控制TCK,TDI,TDO,TMS四个引脚变成普通IO,目前看无法恢复
建议MCU和下载器端在空闲时候都要注意JTAG引脚是否有冲突,避免IO损坏 - PROG/INITN/DONE三个IO可以复用成普通IO,只建议成输出,输入容易导致加载问题
PROG/INITN/DONE信号如果被外部拉低,可能导致下载程序一直不成功 - 配置和GPIO命名的IO注意上电160ms内是弱上拉的,
有上电阶段必须低电平需求,则需要下拉1k(0.25V)或者2k(0.5V)
8. 差分LVDS¶
- EG4的差分引脚分为真差分和伪差分(LVDS25/33):
- 输入速率都是800Mbps: 真差分内部有100Ω电阻,伪差分没有,
- 输出:真差分800Mbps,电流输出,伪差分就是2个单端互补输出320Mbps,电压输出,需要电阻网络分压
- 差分一般都是高速应用,输入时钟从GCLK P/N进(延时固定),输出时钟没有要求
- 100欧姆终端电阻建议外部放置,板子空间有限和成本考虑时候用内部(需要考虑差模超500mV和内部是否有电阻)
9. 热插拔¶
-
FPGA板子一直供电则不用关心
FPGA板子作为一个子卡一直拔插有电无电切换才叫热插拔 -
EG4A20NG88 的 84,87,86 不支持热插拔,
有热插拔需求时注意避开这些引脚
10. 内置ADC不建议使用¶
- EG4系列内部ADC出厂没有测试和校准,不建议量产使用
11. 异步信号¶
- 异步时钟域,信号边沿判断必须打两拍再判断