FPGA配置方式的基本知识?

这篇具有很好参考价值的文章主要介绍了FPGA配置方式的基本知识?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FPGA配置粗略可以分为主动和被动两种。主动加载是指由FPGA控制配置流程,被动加载是指FPGA仅仅被动接收配置数据。

最常见的被动配置模式就是JTAG下载bit文件。此模式下,主动发起操作的设备是计算机,数据通路是JTAG,FPGA会被动接收数据,根据需要的操作来进行更新FPGA配置。而上位机如何获取配置数据就非常灵活了,可能是本地运行EDA工具生成的,也可以是网络/USB存储设备获取的。

主动配置就是FPGA在配置过程中处于主导地位,主动发起对Flash的读写,获取配置信息进行配置。

具体配置方式可分为三种:AS、PS和JTAG。首先我们先基本的了解以下这三种方式的区别与特点。

AS模式: 

烧到FPGA的配置芯片里保存的,FPGA器件每次上电时,作为控制器从配置器件EPCS主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程,该方法适用于不需要经常升级的场合;

PS模式:

EPCS作为控制器件,把FPGA当做存储器,把数据写人到FPGA中,实现对FPGA的编程。可以采用微控制器(单片机、ARM等)或者CPLD,该模式可以实现对FPGA在线可编程,升级方便;

JTAG模式:

直接烧到FPGA里面的,由于是SRAM,断电后要重烧,适用于调试。

JATG模式

JTAG接口是一个业界标准接口,主要用于芯片测试等功能。altera FPGA基本上都可以支持JTAG命令来配置FPGA的方式,而且JTAG配置方式比其他任何方式优先级都高。JTAG接口有4个必需的信号TDI, TDO, TMS和TCK以及1个可选信号TRST构成,其中:

TDI:用于测试数据的输入;

TDO:用于测试数据的输出;

TMS:模式控制管脚,决定JTAG电路内部的TAP状态机的跳变;

TCK:测试时钟,其他信号线都必须与之同步;

TRST:可选,如果JTAG电路不用,可以讲其连到GND。

FPGA和10针插座连接图:

FPGA配置方式的基本知识?

下载方式

用户可以使用altera的下载电缆,也可以使用微处理器等智能设备从JTAG接口设置FPGA。nCONFIG、MESL和DCLK信号都是用在其他配置方式下。如果只用JTAG配置,则需要将nCONFIG拉高,将MSEL拉成支持JTAG的任一方式,并将DCLK拉成高或低的固定电平。

AS模式

AS配置器件是一种非易失性、基于flash存储器的存储器,用户可以使用altera的ByteBlaster II加载电缆、altera的“altera programming unit”或者第三方的编程器来对配置芯片进行编程。它与FPGA的接口为以下简单的4个信号线:

DCLK:

串行时钟输入,是在配置模式下FPGA内部的振荡器(oscillator)产生的,在配置完成后,该振荡器将被关掉。工作时钟在20MHz左右,而fast AS方式下(stratix II和cyclone II支持该种配置方式),DCLK时钟工作在40MHz左右,在altera的主动串行配置芯片中,只有EPCS16和EPCS64的DCLK可以支持到40MHz,EPCS1和EPCS4只能支持20MHz。

ASDI:

AS控制信号输入;

nCS:

片选信号;

DATA:

串行数据输出。

FPGA和串口配置芯片连接图:

FPGA配置方式的基本知识?

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

PS模式

PS(被动串行)则由外部计算机或控制器控制配置过程,是使用最多的一种配置方式。。所有altera FPGA都支持这种配置模式。通过altera 的下载电缆、加强型配置器件(EPC16,EPC8,EPC4)等配置器件或智能主机(如微处理器和CPLD)来完成,在PS配置期间,配置数据从外部储存部件(这些存储器可以是altera配置器件或单板上的其他flash器件),通过DATA0引脚送入FPGA。配置数据在DCLK上升沿锁存,1个时钟周期传送1位数据。

与FPGA的信号接口:

. DCLK(配置时钟);

. DATA0(配置数据);

. nCONFIG(配置命令);

. nSTATUS(状态信号);

. CONF_DONE(配置完成指示)。

FPGA和串口配置芯片连接图:

FPGA配置方式的基本知识?

FPGA配置方式的基本知识? 

在PS方式下,FPGA处于完全被动的地位。FPGA接收配置时钟、配置命令和配置数据,给出配置的状态信号以及配置完成指示信号等。PS配置可以使用altera的配置器件(EPC1、EPC4等),可以使用系统中的微处理器,也可以使用单板上的CPLD,或者altera的下载电缆,不管配置的数据源从哪里来,只要可以模拟出FPGA需要的配置时序来,将配置数据写入FPGA就可以。

在上电以后,FPGA会在nCONFIG管脚上检测到一个从低到高的跳变沿,因此可以自动启动配置过程。

1)根据模式的不同,MSEL有不同的设置。

(2)配置芯片EPCS16存储大小为16Mbits=2MB.

(3)实验室的板子的配置方式JAG方式和“AS方式”,但是没有AS配置口,将SOF文件转换我JIC文件,利用JATG将配置文件下载到配置芯片中。所以,可以把这种方式叫做伪AS模式。

(4)串口配置芯片EPCS16的4个引脚(DATA、DCLK、nCS和ASDI)与FPGA相连即可,JTAG口连接方式按上文所述即可。MSEL只有三位,配置为010(AS模式),这里按照AS模式连接。

FPGA配置方式的基本知识?

更多精彩请看这里:

ModelSim仿真软件介绍(一)

FPGA数字信号处理(二)数字混频

【FPGA信号处理一】5分钟学会FIR 滤波器设计

在Vivado中,您使用过TCL吗?

编写可综合的FPGA代码经验总结(二)

【干货分享】编写可综合的FPGA代码经验总结(一)

【干货分享】异步电路中的时钟同步处理方法

【干货分享】同步电路分析---异步和同步电路的区别(二)

【干货分享】Verilog中阻塞和非阻塞赋值金规

【干货分享】同步电路的时序模型分析(一)

【干货分享】同步复位和异步复位,您真搞明白了吗?

【干货分享】Get到这些小技巧,FPGA设计将提高一个台阶

Vivado中几种仿真模式比较

FPGA中的上拉下拉电阻以及开漏推挽输出电路

Timequest Timing Analyzer时序分析

Testbench编写是如此的简单文章来源地址https://www.toymoban.com/news/detail-466059.html

到了这里,关于FPGA配置方式的基本知识?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • [Linux]线程基本知识

    [Linux]线程基本知识

    一个正在执行的程序,它是 资源分配 的最小单位 进程中的事情需要按照一定的顺序逐个进行 进程出现了很多弊端: 一是由于进程是资源拥有者,创建、撤消与切换存在 较大的时空开销 ,因此需要引入轻型进程; 二是由于对称多处理机(SMP)出现,可以满足多个运行单位,

    2024年02月15日
    浏览(9)
  • Linux 基本知识

    FHS(Filesystem Hierarchy Standard)—— 文件系统层次化标准 。 Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的

    2024年02月16日
    浏览(12)
  • CSS基本知识

    CSS基本知识

    CSS叫做层叠样式表。CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果。能够做到页面的样式和结构分离。 举个例子: 这里的style标签我们一般设置在head标签里。 可以看出被选择器修饰的和没被修饰的不同。 写在 style 标签中,嵌入到 html 内部,理

    2024年01月24日
    浏览(29)
  • linux进程基本知识

    linux进程基本知识

    1.什么是程序,什么是进程? 程序是静态的概念,例如 gcc xx.c -o pro 磁盘中生成pro文件,叫做程序 进程是程序的一次运行活动,意思是程序跑起来了,系统中就多了一个进程 2.如何查看系统中有哪些进程? (1)使用ps指令查看 实际工作中通常配合grep来查找程序中是否存在某

    2024年02月03日
    浏览(12)
  • 【多线程】| 基本知识汇总

    【多线程】| 基本知识汇总

    线程(Thread)是 操作系统能够进行运算调度的最小单位 。它被包含在进程之中,是进程中的实际运作单位。 在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程(Thread) 当Java程序启动时,一个线程会立刻运行,该

    2024年02月06日
    浏览(10)
  • 图论的基本知识

    图论的基本知识

    1.数据结构 图论是数学的一个分支,研究图(Graph)的结构、性质以及它们之间的关系。图是由节点(或顶点)和边组成的一种数据结构,用于表示对象之间的关系。以下是一些图论的基本概念: 图(Graph): 图由节点(顶点)和连接节点的边组成。图可以分为有向图和无向

    2024年02月04日
    浏览(22)
  • 电容的基本知识

    电容的基本知识

    1、电容是电路中重要的元件,种类多、用途广,主要有插件类和贴片类两种。 2、电容主要特性参数:标称容量、耐压、误差、温度         2.1电容容量常用单位有微法《uF)、纳法《nF)、皮法《pF)        单位换算:1uF=10^3nF=10\\\"6pF《电容的基本单位用法拉(F)表示)例如: 105

    2024年02月11日
    浏览(12)
  • Git基本知识

    Git基本知识

    Git 官网: https://book.git-scm.com/ Git 完整命令手册地址: http://git-scm.com/docs Git 中文文档: https://git-scm.com/book/zh/v2 Git 各平台安装包下载地址为: http://git-scm.com/downloads 2.1 Windows下的安装 安装包下载地址: https://github.com/git-for-windows/git/releases/ https://gitforwindows.org/ 官网慢,可以用

    2024年02月08日
    浏览(26)
  • 光耦基本知识

    光耦基本知识

     1、光耦的种类          高速光耦、低速光耦;                 高速:6N137,HCPL-2601                 低速:PC817          线性光耦、非线性光耦;         以6N136与6N137为例         6N136是1Mbps的高速光耦,但是输出端采用的是 晶体管 ,所以输出电流的大小

    2024年02月02日
    浏览(36)
  • c++ 基本知识(一)

    一、c++调用python #include cstdlib int main() {     int result = system(\\\"python your_script.py\\\");     return 0; } 二、cmake、make、gcc的区别? 1、CMake(Cross-Platform Make)是一个跨平台的构建工具,用于生成适合不同操作系统和编译器的构建脚本。它使用CMakeLists.txt文件来描述项目的构建过程,并根据

    2024年02月16日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包