AG10K FPGA 调试的建议

浏览: 作者:Robin 来源:AGM 时间:2023-05-07 分类:FPGA应用

AG10K FPGA 调试的建议

第一章:

1.1       PLL

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

reg [5:0] reset_init = 6'b0 /* synthesis   syn_preserve = 1*/;

wire init = reset_init[5];

always @ (posedge inclk) begin

if (!init) begin

reset_init <= reset_init + 1'b1;

end

end

PLL inst (

.inclk(inclk),

.areset(!init),

.pfdena(init),

....

);

1.2       Flash 管脚配置

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

 

1.3       VccINT

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

1.4       FLASH 编程文件

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

1.5       AS 在线烧写 FLASH

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

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

1.6       CLK 输入管脚

CLK 专用输入管脚,没有内部上拉电阻,所以在悬空没有输入状态时,会得到 0 的电平数据。这和 Altera EP4C 的高电平结果不同。如果正常输入时钟或信号,则没有影响。

 

1.7       Latch 锁存器

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

1.8       Conf_done

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

1.9       除法器

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

 

1.10   烧写文件压缩

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

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

 set_global_assignment -name ON_CHIP_BITSTREAM_DECOMPRESSION OFF

1.11   3.3V IO

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

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

1.12   电源上电顺序

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

1.13   PLL 时钟输出

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

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

1.14   逻辑资源优化

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

 

第2章  AG10KL144H 转换注意事项

AG10KL144H AG10KL144 升级型号,封装管脚兼容,性能更优,增加部分功能特性。芯片丝印: 根据不同批次, 有 以下2 种,均为正确标识。

1. 型号标识为 AG10KL144H

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

 

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

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

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

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

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

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

可以参考 Manual_remote.pdf 文档。

6. AG10KL144 MCU IPalta_mcu 已取消,可以用 alta_mcu_m3 替代。

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


如有项目需要样品测试评估,可以联系海振远科技申请。