基于ARM-Linux的FPGA程序加载方法 本文实现了一种基于ARM-Linux的FPGA程序加载方法,详细讨论了加载过程中的各个阶段程序对配置管脚的操作,给出了硬件实现,编写了运行于ARM处理器的嵌入式Linux上的驱动程序。 FPGA 程序加载是将 FPGA 的程序从外部加载到 FPGA 中的过程。在 loads 程序加载过程中,FPGA 从外部专用的 E-PROM 读入程序,这种方式速度慢,而且只能加载固定的程序。为了解决这个问题,本文实现了一种基于外部处理器的加载方法,该方法速度快,能够根据需要加载相应的程序。 本文选择了并行从模式来加载 FPGA 程序,这种模式具有更高的配置速率。在加载过程中,需要从.bin 文件中顺序按字节读出数据,然后在 CCLK 的上升沿写入 FPGA。在加载过程中,CCLK 需要多出四个时钟周期,以使得 FPGA 完成启动过程。 在 FPGA 上,与配置有关的管脚分为两类:专用管脚和配置管脚。专用管脚包括 PROG_B, HSWAP_EN, TDI, TMS, TCK 等。配置管脚包括 M0, M1, M2 等。这些管脚的设置将影响 FPGA 的加载模式。 本文还讨论了 FPGA 程序数据的生成。Xilinx 的开发环境可以根据用户的选择产生多种文件格式,以不同的后缀名区分。不同的文件格式包含了不同的信息,有不同的用途。本文选择了.bin 格式的文件,该文件是只包含有程序数据的二进制文件。产生该文件,需要在 bitgen 参数里增加一个选项。 在 FPGA 程序加载过程中,需要将.bin 格式的文件转换为 FPGA 可以识别的格式。这个转换过程是必要的,因为 FPGA 在接收程序数据时,DO 位是最高有效位,而微处理器的 DO 位是最低有效位。 本文实现了一种基于 ARM-Linux 的 FPGA 程序加载方法,该方法具有快速、灵活的特点,可以应用于各种 FPGA 芯片上。
- 粉丝: 809
- 资源: 28万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- windows 系统库msvcp120dll
- 课程设计基于STM32单片机的计步器的设计源代码+项目说明.zip
- 帮您查看密码navicat-password-decrypt-main.zip
- grpc php教程grpc-php-examples-master.zip
- thrift php教程thrift-tutorial-php-master.zip
- 一键将win10桌面的“此处打开powershell” 替换为 “在此处打开cmd窗口”
- 嵌入式系统通用驱动程序接口及其实现-Spi设备驱动程序
- 高分项目基于STM32单片机的温度控制系统源代码+项目资料齐全+教程文档.zip
- 哈工大软件学院编译原理实验(Python实现)
- 基于matlab app designer设计的一个简易的数独生成与求解器源码+项目说明.zip