今日说“法”栏目已经上线,上篇提到了“是谁动了我的JTAG口?”,里面说到了FPGA下载接口JTAG口的一些知识,此篇主要说一下FPGA的配置方式,让我们来了解一下除了JTAG,还有其他哪几种方式。话不多说,上货。

FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式。

AS由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列:如EPCS1,EPCS4配置器件专供AS模式,目前只支持 Cyclone系列。使用Altera串行配置器件来完成。Cyclone期间处于主动地位,配置期间处于从属地位。配置数据通过DATA0引脚送入 FPGA。配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。

PS则由外部计算机或控制器控制配置过程。通过加强型配置器件(EPC16,EPC8,EPC4)等配置器件来完成,在PS配置期间,配置数据从外部储存部件,通过DATA0引脚送入FPGA。配置数据在DCLK上升沿锁存,1个时钟周期传送1位数据。

JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEE Std 1149.1联合边界扫描接口引脚,支持JAM STAPL标准,可以使用Altera下载电缆或主控器来完成。

FPGA在正常工作时,它的配置数据存储在SRAM中,加电时须重新下载。在实验系统中,通常用计算机或控制器进行调试,因此可以使用PS。在实用系统中,多数情况下必须由FPGA主动引导配置操作过程,这时FPGA将主动从外围专用存储芯片中获得配置数据,而此芯片中fpga配置信息是用普通编程器将设计所得的pof格式的文件烧录进去。

专用配置器件:epc型号的存储器 常用配置器件:epc2,epc1,epc4,epc8,epc1441(现在已经被逐步淘汰了)等。对于cyclone cycloneII系列器件,Altera 还提供了针对AS方式的配置器件,EPCS系列:如EPCS1,EPCS4配置器件也是串行配置的注意,他们只适用于cyclone系列。除了AS和PS等单BIT配置外,现在的一些器件已经支持PPS,FPS等一些并行配置方式,提升配置了配置速度。当然所外挂的电路也和PS有一些区别。还有处理器配置比如JRUNNER 等等,如果需要再baidu吧,至少不下十种。比如 Altera 公司的配置方式主要有Passive Serial(PS)、Active Serial(AS)、Fast Passive Parallel(FPP)、Passive Parallel Synchronous(PPS)、Passive Parallel Asynchronous(PPA)、Passive Serial Asynchronous(PSA)、JTAG等七种配置方式,其中Cyclone支持的配置方式有PS、AS、JTAG三种。

对FPGA芯片的配置中,可以采用AS模式的方法,如果采用EPCS的芯片,通过一条下载线进行烧写的话,那么开始的"nCONFIG,nSTATUS"应该上拉,要是考虑多种配置模式,可以采用跳线设计,让配置方式在跳线中切换,上拉电阻的阻值可以采用10K。

在PS模式下tip:如果你用电缆线配置板上的FPGA芯片,而这个FPGA芯片已经有配置芯片在板上,那你就必须隔离缆线与配置芯片的信号。一般平时调试时不会把配置芯片焊上的,这时候用缆线下载程序。只有在调试完成以后,才把程序烧在配置芯片中, 然后将芯片焊上,或者配置芯片就是可以方便取下焊上的那种。这样出了问题还可以方便地调试。

在AS模式下tip:用过一块板子用的AS下载,配置芯片一直是焊在板子上的,原来AS方式在用线缆对配置芯片进行下载的时候,会自动禁止对FPGA的配置,而PS方式需要电路上隔离。

一般是用jtag配置epc2和flex10k,然后 epc2用ps方式配置flex10k。这样用比较好。下载电缆,Altera下的下载电缆分为byteblaster和byteblasterMV,以及ByteBlaster II,现在还推出了基于USB-blaster。由于BB基本已经很少有人使用,而USB-Blaster现在又过于昂贵,这里就说一下BBII和 BBMV的区别。

BBII支持多电压供电5.5v,3.3v,2.5v,1.8v;BBII支持三种下载模式:AS,可对 Altera的As串行配置芯片(EPCS系列)进行编程,可对FPGA进行配置;JTAG,可对FPGA,CPLD,即Altera配置芯片(EPC系列)编程;而BBMV只支持PS和JTAG。

一般在做FPGA实验板(如cyclone系列)的时候,用AS+JTAG方式,这样可以用JTAG方式调试,而最后程序已经调试无误了后,再用 AS模式把程序烧到配置芯片里去,而且这样有一个明显的优点,就是在AS模式不能下载的时候,可以利用Quartus自带的工具生成JTAG模式下可以利用的jic文件来验证配置芯片是否已经损坏。

Altera的FPGA可以通过单片机、CPLD等加以配置,主要原理是满足datasheet中的时序即可,这里我就不多说了,有兴趣的朋友可以自己研究一下。

配置时,quartus软件操作部分:

(1).assignment-->device-->device&pin options-->选择configuration scheme,configuaration mode,configuration device,注意在不支持远程和本地更新的机器中configuration mode不可选择,而configuration device中会根据不同的配置芯片产生pof文件,如果选择自动,会选择最小密度的器件和适合设计

(2).可以定义双口引脚在配置完毕后的作用,在刚才的device&pin option-->dual-purpose pins-->,可以在配置完毕后继续当I/O口使用。

(3).在general菜单下也有很多可钩选项,默认情况下一般不做改动。

(4).关于不同后缀名的文件的适用范围:

sof(SRAM Object File)当直接用PS模式下将配置数据下到FPGA里,USB BLASTER、MASTERBLASER、BBII、BBMV适用,quartusII会自动生成,所有其他的配置文件都是由sof生成的。

pof(Programmer Object File)也是由quartusII自动生成的,BBII适用,AS模式下将配置数据下到配置芯片中 rbf(Raw Binary File)用于微处理器的二进制文件。在PS,FPP,PPS,PPA配置下有用处 rpd(Raw Programing Data File)包含bitstream的二进制文件,可用AS模式配置,只能由pof文件生成 hex(hexadecimal file),这个就不多说了。单片机里很多ttf(Tabular Text File)适用于FPP,PPS,PPA,和bit-wide PS配置方式。

sbf(Serial Bitstream File)用PS模式配置Flex 10k和Flex6000的 jam(Jam File)专门用于program,verigy,blank-check 。

FPGA的三种配置方式相关推荐

  1. 今日说“法”:FPGA的三种配置方式

    今日说"法":FPGA的三种配置方式 欢迎大侠来到FPGA技术江湖新栏目今日说"法",当然,在这里我们肯定不是去研究讨论法律法规知识,那我们讨论什么呢,在这里我 ...

  2. Nhibernate 三种配置方式

    Nhibernate 三种配置方式 Posted on 2010-06-15 11:47 linFen 阅读(153) 评论(0) 编辑 收藏 1 App.config 的配置: <?xml v ...

  3. java jndi tomcat_tomcat下jndi的三种配置方式

    Java命名和目录接口(the Java naming and directory interface,JNDI)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得读 ...

  4. tomcat下jndi的三种配置方式

    jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...

  5. Spring Bean的三种配置方式

    目录 一.传统的XML配置方式 二.基于java注解的配置 三.基于类的Java Config 正文 Spring Bean有三种配置方式: 传统的XML配置方式 基于注解的配置 基于类的Java C ...

  6. MyEclipse网站服务器,MyEclipse中web服务器的三种配置方式

    初学Javaweb开发的人们都会遇到一个问题,就是服务器环境的搭建配置问题.下面介绍三种服务器的搭建方式. 直接修改server.xml文件 当你写了一个web应用程序(jsp/servlet),想通 ...

  7. Hive metastore三种配置方式

    Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储.远端存储比较适合生产环境.Hive官方wiki详细介绍了这三种方式,链接为:Hive Metastore. 一.本地d ...

  8. java c3p0 配置文件_【c3p0】 C3P0的三种配置方式以及基本配置项详解

    数据库连接池C3P0框架是个非常优异的开源jar,高性能的管理着数据源,这里只讨论程序本身负责数据源,不讨论容器管理. ---------------------------------------- ...

  9. mybatis count返回null_Mybatis属性示例-Properties的三种配置方式

    1.项目结构 开发工具:IDEA+Maven 项目结构 2.配置 2.1.Maven配置 Maven配置文件pom.xml,增加Mysql8数据库连接类库.Mybatis类库.Log4j2类库.Bas ...

最新文章

  1. ( Android-源代码分享)
  2. 关于在Intellij IDEA工具中配置热加载问题
  3. Ueditor1.4.3上传视频IE下无法播放的问题
  4. php的配置工具,星外php自动配置工具
  5. Linux:hping高级主机扫描
  6. android滚动条布局横向,Android自定义ViewGroup实现可滚动的横向布局(2)
  7. 苏宁大数据怎么运营_数据驱动经营 苏宁大数据用户标签入选2019TOP100全球软件案例...
  8. 随机过程在数据科学和深度学习中有哪些应用?
  9. vmware-安装vmware tools教程190915
  10. OSPF——优化技术(含配置)
  11. MTK 驱动(60)---Audio驱动开发之音频链路
  12. 【SpringCloud】Spring cloud Alibaba Sentinel 热点规则
  13. 敏捷个人A1组第二次讨论纪要 你在事业上打算何去何从?
  14. 开源大数据:Alluxio 云原生数据编排
  15. 通过海康sdk捕获码流数据实现抓图功能
  16. 如何卸载Windows预安装内置应用
  17. 3717 bLue的文件查找器
  18. 我应该怎么学习SAP?
  19. 如何用电脑录制一个解说视频
  20. 如何理解矩阵的「秩」?

热门文章

  1. 译文 - Recommender Systems: Issues, Challenges, and Research Opportunities
  2. ECharts-旭日图(Sunburst)带时间轴
  3. 服务器托管和服务器租用的区别
  4. R语言进行线性回归的拟合度
  5. GSM模块_GPRS数据传输机制和原理
  6. 通过子域名查询真实ip地址
  7. 安装Python遇到“0x80070643发生严重错误”
  8. mp3与aac音频格式的比较
  9. WiFi、WiMAX、WBMA与3G的比较
  10. 冒泡算法(BubbleSort)