FPGA的配置方式PS——Passive serial

2024-02-05 07:38

本文主要是介绍FPGA的配置方式PS——Passive serial,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

FPGA的配置方式PS——Passive serial


    FPGA的配置方式,很多种,前一段时间主要用了一下PS——Passive serial,被动串行的加载方式。在这个模式下,FPGA被动的等待配置起始信号,然后接受配置文件,完成配置。即每次在FPGA上电时,由外部器件完成FPGA的配置。

    这个方式的实现(或者说选择),是由FPGA的硬件连接来完成的,硬件连接如下图:


MSEL这组信号决定了FPGA的配置方式:


(根据官方文档的说明,这两个管脚不要连接在微控制器上或者其他的器件上来做下载方式的选择,也不要使用电阻上拉或下拉,最好直接连载在VCC或者GND上)

可以看到上图选择了Passive serial的配置方式,除了MSEL这组信号,其他的信的如下:

nCEo:这个可以理解为nCE out用于给多片FPGA配置时使用;

CONF_DONE:这个信号信号是一个开路输出,也就是上面为甚都是上拉,一句话就是这个信号就是当FPGA配置完成后,告诉主控,我配置结束了。

nSTATUS:一样,开路输出,需上拉,这个信号反应FPGA的配置过程状态的信号,一会儿看时序图。

nCE:chip select,用来选择当前的FPGA,如果有多片,这个就有用了;

DATA0,DCLK:俩个配置过程正真干活的信号,数据和时钟,DCLK上升沿,FPGA采集DATA0的信号,至于放哪里,FPGA内部自己搞定了;多说一句,FPGA中,除了LE,PLL等用户可用的逻辑,其实还是有一些他的控制逻辑的,就比如这个控制PS,还有控制AS;

nCONFIG:这个信号很重要,由主控告诉FPGA,要开始配置了,即产生起始信号。

上图就完成了整个PS配置的硬件连接,其中External Host选择MAX II系列的CPLD,memory选择一片flash;

CPLD作为配置FPGA的Host,需要一段代码逻辑来完成这个功能,例如需要读取flash、需要给flash加载FPGA的配置文件、需要配置FPGA。那这不是苦大仇深了,还要研究flash的读写时序和FPGA的配置时序?统统不用,Altera提供了这个方案,肯定是有相关的IP,在Altera的IP核生成工具里面选择Parallel Flash Loader这个IP,然后对IP做一些简答的配置,如下图:

虽然都由IP核完成,但是最少得明白IP核干了些神马工作,IP对FPGA的配置时序如下,至于关键的时序是多少,我们并不去实现这个IP,所以不用了解,但是他们在相应的器件手册中都有:


从上图中,我们可以看到整个配置过程如下:

1、  nCONFIG在被CPLD配置为低电平后,一个上升沿表示要开始配置FPGA;

2、  上升沿结束后,FPGA的nSTATUS由低电平被FPGA释放,有外部的电阻上拉为高电平,告诉CPLD,FPGA已经接受到其实信号,开始接受数据;

3、  接下来,DCLK和DATA开始传输信号;

4、  当传输完成之后,FPGA将CONF_DONE释放,并有外部电阻上拉,表示配置结束;

5、  FPGA内部完成初始化,进如user mode ,开始执行用户的逻辑。

这篇关于FPGA的配置方式PS——Passive serial的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680195

相关文章

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持

MybatisPlus中几种条件构造器运用方式

《MybatisPlus中几种条件构造器运用方式》QueryWrapper是Mybatis-Plus提供的一个用于构建SQL查询条件的工具类,提供了各种方法如eq、ne、gt、ge、lt、le、lik... 目录版本介绍QueryWrapperLambdaQueryWrapperUpdateWrapperL

idea设置快捷键风格方式

《idea设置快捷键风格方式》在IntelliJIDEA中设置快捷键风格,打开IDEA,进入设置页面,选择Keymap,从Keymaps下拉列表中选择或复制想要的快捷键风格,点击Apply和OK即可使... 目录idea设www.chinasem.cn置快捷键风格按照以下步骤进行总结idea设置快捷键pyth

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中

springboot中配置logback-spring.xml的方法

《springboot中配置logback-spring.xml的方法》文章介绍了如何在SpringBoot项目中配置logback-spring.xml文件来进行日志管理,包括如何定义日志输出方式、... 目录一、在src/main/resources目录下,也就是在classpath路径下创建logba

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流