跳转至

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也没有问题

  • 下拉电阻

    1. 上电阶段弱上拉IO(配置相关IO):需要上电阶段为低电平则下拉1k(0.25V)-2k(0.5V)
    2. 上电阶段本身是高阻的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

  • TR301_EG4X20BG256功耗参考测试.pdf

  • UG303_EG4硬件设计指南.pdf

4. 输入时钟(输出时钟没有要求)

4.1 PLL参考时钟输入

  1. 安路这个型号内部振荡器误差±30%,
  2. 如果对精度要求高必须加外部晶振,从全局时钟引脚GCLK 端进
  3. 有源晶振输出端一般有串阻22或33Ω,这样信号质量好点
  4. 上电后等输入时钟稳定再对pll复位,时间大于100us,
    保证多通道输出相位稳定,否则高低温可能有1ns左右相位差
    单通道输出时钟没有相位概念, 保证输入稳定后复位即可

4.2 高速时钟输入

  1. 超过10Mhz的输入时钟要从全局时钟引脚进, 全局时钟每次编程延迟一致,
  2. 普通IO输入时钟每次编程走线不一致导致几个ns的差异,比如1ns-3ns
  3. 以太网的RGMII的RX CLK必须从GCLK 端进
  4. I2C这种低速接口(最大400kHz)没必要接GCLK,以及其它类似的

  5. SPI从机 CLK某些场景直接当成内部时钟用,
    引脚用的比较少的情况也可以从GCLK 端进(但是GCLK资源有限)
    一般推荐过采样(这种情况是当成数据处理不需要走专门时钟)
    SPI尽量放在一个bank里面,延时一致性好点

  6. 每个芯片根据时钟分了四个方位: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

  7. 每个方位的8个全局时钟专用输入脚高低位互斥,
    编号0和编号4不能同时上全局时钟网络,
    编号1和编号5不能同时上全局时钟网络,
    编号2和编号6不能同时上全局时钟网络,
    编号3和编号7不能同时上全局时钟网络。

5. 配置管脚

5.1 常规配置

  1. HSWAPEN:保留上下拉电阻位置,默认贴上拉,如此普通用户IO上电为高阻
  2. MSEL[1:0]:M[1:0]=01 MSPI模式/M[1:0]=11 从动串行
  3. PROGRAM/INIT/DONE:上拉
    工控干扰场景program建议加0.1uf电容(500ns低电平可以触发复位重配置)
  4. TMS/TDI/TDO: 上拉
  5. TCK:EF/EG/SF系列下拉,PH/DR系列上拉
  6. VREF:放0.1uf电容,这个是给下载器的电平转化芯片245的输出端供电

5.2 MSPI模式接线

  1. 信号线可以串22/33Ω电阻提高信号质量和方便调试
  2. CCLK:MSPI模式和从串模式共用
  3. SPICSN/CSO_B:MSPI模式独占引脚(跟CSN/CSON/DOUT不是同一个,EG4A20NG88是CSO_B)
  4. D0_DIN_MISO:MSPI模式和从串模式共用,8脚flash的2脚(MISO/IO1)
  5. MOSI_CSI_B:MSPI模式和从并模式共用,8脚flash的5脚(MOSI/IO0)

5.3 注意事项

  1. Programn 管脚在强干扰的工业应用环境中建议配置为GPIO且建议强上拉
    降低干扰导致芯片复位的风险, 此时无法使用复位功能,也可以加一个0.1uf滤波电容
    500ns干扰脉冲可以触发芯片重配置复位
  2. MSPI几个信号线横跨好几个bank,如果bank供电种类多,则需要关注电压一致性
    只有一个3.3V供电无需关注
  3. 早期USB_CABLE和淘宝的安路低速下载器大部分都没有电平转化芯片,
    一般自带3.3V,FPGA的JTAG不是3.3V,接线接在一起会冲突损坏风险
  4. 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

  1. EG4的差分引脚分为真差分和伪差分(LVDS25/33):
  2. 输入速率都是800Mbps: 真差分内部有100Ω电阻,伪差分没有,
  3. 输出:真差分800Mbps,电流输出,伪差分就是2个单端互补输出320Mbps,电压输出,需要电阻网络分压
  4. 差分一般都是高速应用,输入时钟从GCLK P/N进(延时固定),输出时钟没有要求
  5. 100欧姆终端电阻建议外部放置,板子空间有限和成本考虑时候用内部(需要考虑差模超500mV和内部是否有电阻)

9. 热插拔

  • FPGA板子一直供电则不用关心
    FPGA板子作为一个子卡一直拔插有电无电切换才叫热插拔

  • EG4A20NG88 的 84,87,86 不支持热插拔,
    有热插拔需求时注意避开这些引脚

10. 内置ADC不建议使用

  • EG4系列内部ADC出厂没有测试和校准,不建议量产使用

11. 异步信号

  • 异步时钟域,信号边沿判断必须打两拍再判断