一些AG10K FPGA 调试的建议-Douglas

  1. PLL

    AGM FPGA 在配置成功时,PLL 已经完成锁定,lock 信号已经变高;如果原设计中用 lock 信号输出实现系统 reset 的复位功能,就不能正确完成上电复位;同时,为了保证 PLL 相移的稳定,我们需要在 PLL 启动后做个延时的复位,设计中可以参考下面 Verilog 代码,这里需要 PLL 的 areset 或 pfdena 引出,通过复位信号控制。

  2. Flash 管脚

    如果在设计中对配置 FLASH 进行读写,则要在 Quartus II 中把 4 个 SPI 配置管脚设置为"Use as regular I/O"。

  3. VccINT

    如果 FPGA 的资源利用率达到 90%以上,且时序要求较高,建议把 1.2V 的 VccINT 电压,升高到正常电压范围的 1.25V,会有效提高 FPGA 性能和稳定性。

  4. FLASH 编程文件

    烧写配置用 SPI FLASH,使用 XXX_master.bin,可通过 FLASH 编程器烧写。如使用其它兼容Altera POF 文件的烧写工具,需注意 Altera 文件 MSB-LSB 为反向,需倒置后才可正确烧写。

  5. AS 在线烧写 FLASH

    如果使用 USB-Blaster 通过 AS 接口在线烧写配置用 SPI FLASH,由于 AG10K 的 DCLK、nCSO、ASDO 管脚并未输出三态,因此需分别串接 1KΩ 电阻,使得 USB-Blaster 驱动能力高过这些管脚的输出能力,且 DCLK 时钟降低频率,即可实现正常烧写和配置。

    如FPGA有JTAG接口,则可直接通过Supra软件烧写XXX_master.prg文件到已连接的SPI FLASH中,无需通过 AS 接口,更为方便

  6. CLK 输入管脚

    CLK 专用输入管脚,没有内部上拉电阻,所以在悬空没有输入状态时,会得到 0 的电平数据。

    这和 Altera EP4C 的高电平结果不同。如果正常输入时钟或信号,则没有影响。

  7. Latch 锁存器

    支持 latch, 但建议设计不用 latch, 异步电路时序不容易分析操作,建议不使用。

8.Conf_done

所有 fpga 逻辑必须发生在 fpga 配置完成之后(conf_done 为高),否则 fpga 无法稳定接受开始工作。

  1. 除法器

    如设计中使用了除法器,需对除法器的路径设置 multicycle。除法器的 latency 即为 multicycle的时钟数。如无法满足 timing,建议增加除法器的 latency。

  2. 烧写文件压缩

    AG10K 支持 AS 模式的烧写文件压缩,以减少存储空间。但不同设计压缩出的文件大小不一,如需统一文件存储空间,可选非压缩方式。

    AG10K 不支持 PS 模式的烧写文件压缩。原设计里如果选了压缩,请取消;或者在 AGM 项目中的 DesignName.asf 中加入:

    set_global_assignment -name ON_CHIP_BITSTREAM_DECOMPRESSION OFF

  3. 3.3V IO

    软件中要按实际 IO 电压正确设置。Quartus II 中对 IO standard 的默认为 2.5V,如果实际采用3.3V,需要修改 IO 默认值为 3.3V。

AG10KSDE176,由于 SDRAM 为 3.3V,VCCIO 必须使用 3.3V,软件中也要设置正确。

  1. 电源上电顺序

    AG10K 3.3V VCCIO 电源应略先于 VCCINT 1.2V 和 2.5V 上电,这样保证 FPGA 在启动配置前,使得配置 FLASH(3.3V)启动完成,从而避免上电配置失败。

  2. PLL 时钟输出

    为了避免时钟域 skew 或 jitter,如果需要同频率同相位的时钟驱动不同功能,尽可能合并成同一个时钟进行处理,不要采用多个同样的输出时钟这种方式,避免跨时钟域的情况出现。

    不同频的时钟,尽可能采用 RAM 或者 FIFO 交互,如果寄存器直接交互,尽可能通过设计保证时钟采样在数据中间位置。

  3. 逻辑资源优化

    当逻辑资源比较紧张时,推荐将同步复位改为异步复位,可以节省一定的逻辑资源;

AG10KL144H 转换注意事项

AG10KL144H 为 AG10KL144 升级型号,封装管脚兼容,性能更优,增加部分功能特性。

芯片丝印:根据不同批次,有 2 种,均为正确标识。

  1. 型号标识为 AG10KL144H;

  2. 日期编码(DATE CODE)后加 H,型号标识仍为 AG10KL144

    原 AG10KL144 设计替换为 144H,需要注意以下事项:

  3. Supra 原工程需要重新编译,Device 选择 AG10KL144H,其它设置可以不变。

  4. AG10KL144 PLL 的复位控制可以省去,如已加入也可正常使用。(参考上节 1.)

  5. AS 口烧写 FLASH 用 XXX_master_as.prg 文件,SPI 端口不需串接电阻。(参考上节 5.)

  6. PS 烧写可以支持数据文件的压缩。(参考上节 10.)

  7. 原 AG10KL144 的 Dual-Boot IP: alta_boot 已取消,可以用 Remote-Upgrade IP 替代,具体

    可以参考 Manual_remote.pdf 文档。

  8. 原 AG10KL144 的 MCU IP:alta_mcu 已取消,可以用 alta_mcu_m3 替代。

  9. 新增支持 Quartus II 中的 Signal Tap 功能,编译烧录后可使用。

相关推荐
fei_sun4 小时前
【Verilog】第一章作业
fpga开发·verilog
深圳市雷龙发展有限公司longsto5 小时前
基于FPGA(现场可编程门阵列)的SD NAND图片显示系统是一个复杂的项目,它涉及硬件设计、FPGA编程、SD卡接口、NAND闪存控制以及图像显示等多个方面
fpga开发
9527华安10 小时前
FPGA实现PCIE3.0视频采集转10G万兆UDP网络输出,基于XDMA+GTH架构,提供工程源码和技术支持
网络·fpga开发·udp·音视频·xdma·pcie3.0·万兆网
able陈10 小时前
为什么verilog中递归函数需要定义为automatic?
fpga开发
byte轻骑兵10 小时前
嵌入式 ARM Linux 系统构成全解:从硬件到应用层层剖析
linux·arm开发·arm·嵌入式开发
fei_sun10 小时前
【Verilog】第二章作业
fpga开发·verilog
碎碎思11 小时前
如何使用 Vivado 从源码构建 Infinite-ISP FPGA 项目
fpga开发·接口隔离原则
江山如画,佳人北望13 小时前
fpga-状态机的设计及应用
fpga开发
Linux运维技术栈14 小时前
基于CVE安全公告号,全面修复麒麟ARM系统OpenSSH漏洞
安全·系统安全·arm
晓晓暮雨潇潇15 小时前
Xilinx IP核(3)XADC IP核
fpga开发·vivado·xadc·ip核