来自远方

来自远方

16个粉丝

31

问答

40

专栏

132

资料

来自远方  发布于  2022-05-31 09:51:32
采纳率 30%
31个问答
贫穷,流下没钱的泪水。。。
3075

Xilinx FPGA程序加载慢的原因和解决措施?

 

用的FPGA是Sparten6系列的XC6SLX100T的FPGA,选用的FLASH是W25Q128的SPI模式FLASH,烧写程序大小大概25M,烧写完后上电启动,FPGA加载时长大概12秒,启动比较慢,是什么原因造成的,有什么解决措施能提高启动时间?

我来回答
回答4个
时间排序
认可量排序

miko

1个粉丝

20

问答

13

专栏

11

资料

miko 2022-05-31 11:04:57
认可0
易百纳技术社区该回答已被题主采纳为最佳答案

spartan6系列的FPGA参考链接中ISE部分的设置,亲测有效:
(设置等效于在约束文件*.ucf内添加指令)
https://www.ebaina.com/articles/140000014287

其中,设置SPI速度一般最大取50MHz(过高可能会出现加载失败,我测试过的最高频率好像是66MHz)。SPI模式选择1X/4X,根据实际硬件选择。

来自远方
来自远方   回复   miko  2022-05-31 11:13:41
0

ISE里面能通过编写指令完成设置吗

miko
miko   回复   来自远方  2022-05-31 11:18:25
0

可以。
完成你的需求设置,通常使用下述前两种方式:
01.参考链接流程,完成配置并保存(保存后自动添加指令到约束文件,等效“02”);
02.在ISE的约束文件.ucf中添加指令,具体指令参考“01”;
03.(Vivado中常用,对应约束文件为.xdc;ISE不常用)在tcl对话框中输入tcl指令进行配置修改,等效“02”。所需功能不同,指令也不同。部分情况下,tcl指令=*.ucf指令。(tcl工具栏的使用及tcl指令,参考xilinx官方文档ug835/UG894/UG1290,推荐ug835)

哈撒ki

2个粉丝

2

问答

2

专栏

3

资料

哈撒ki 2022-05-31 11:08:30
认可0

Xilinx FPGA的配置模式通常有以下几种

1 JTAG模式

2 主串行模式

3 主并行模式

4 从串行模式

5 从并行模式

第二种的主串行程序,就是FPGA上电后自动从flash中加载程序,FPGA自动读取flash中的数据并运行,这个是使用最频繁的方式。

这个主串行是使用SPI接口。这个SPI的接口速度是可以配置的,如果使用Vivado编写程序,并直接生成bin文件固化。重新上电程序的加载速度较慢(就是FPGA通过SPI读取数据的速度慢)。

要想加快FPGA的加载速度,需要提高SPI的速度,具体做法就是在约束里面增加语句:

set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]

set_property CONFIG_MODE SPIx4 [current_design]

set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]

第一句话是设置bit位宽;

第二句话是设置4线SPI模式;

第三句话是设置SPI速度(对速度影响最大的一句话);

这个是使用4线SPI,如果使用的是1线SPI的话,则只需要增加最下面一句话。这样加载速度就很快了

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区