![Intel FPGA权威设计指南:基于Quartus Prime Pro 19集成开发环境](https://wfqqreader-1252317822.image.myqcloud.com/cover/850/41202850/b_41202850.jpg)
1.7 配置技术
本节将介绍Cyclone 10 GX器件的配置策略、设计安全和远程系统更新。Cyclone 10 GX器件的配置策略和功能如表1.32所示。
表1.32 Cyclone 10 GX器件的配置策略和功能
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_108_2.jpg?sign=1739283463-KfJjhnRCDOHZqcrMrOXMVQBrryNvSl8G-0-a164e118dc856e74c47555e8b791879a)
为了选择不同的配置策略,MSEL引脚硬连线到VCCPGM或GND,无须上拉或下拉电阻。用于不同配置策略的MSEL引脚的设置如表1.33所示。
表1.33 用于不同配置策略的MSEL引脚的设置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_109_1.jpg?sign=1739283463-kYe55cdQMPh6234vOUXZ0NPZQLBnbLdP-0-fb24612641182cdc88690a4e5b68aa2d)
Cyclone 10 GX器件的配置引脚如表1.34所示。
表1.34 Cyclone 10 GX器件的配置引脚
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_109_2.jpg?sign=1739283463-I4CVo5ZV1ts10EYt3e0AmcutfWZZLAB2-0-9e1c4c492c4e1471f2eb74b9e8e4f1f7)
1.7.1 AS配置
用于AS配置策略的EPCQ-L编程高级视图如图1.74所示。在AS配置策略中,配置数据保存在EPCQ-L配置器件中。设计者可以使用带有串行Flash加载器IP核的JTAG接口对系统内的 EPCQ-L 器件进行编程。SFL 充当 JTAG 接口与 EPCQ-L 器件之间的桥接器。Cyclone 10 GX器件内的AS存储器接口控制配置过程。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_110_1.jpg?sign=1739283463-yY3TMCLRLobBQfXNO3QXrmgMTNqA1YUL-0-05f4ac82ed6ff9036756211ff6623a26)
图1.74 用于AS配置策略的EPCQ-L编程高级视图
AS配置策略支持1位数据宽度和4位数据宽度模式。AS×4模式的配置时间比AS×1模式的配置时间快4倍。在AS配置方案中,Cyclone 10 GX器件控制配置接口。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_110_2.jpg?sign=1739283463-0KICGKD4JGgP7qcDLWlfyld9t8Yp17cb-0-6d1f9df7f1c3a5d88a7204c3a5118c0e)
注
对于使用SFL的AS编程,MSEL引脚必须设置为AS设置,以允许编程器读取EPCQ-L ID。
设计者可以使用 Intel FPGA 下载电缆在系统内编程 EPCQ-L 器件,或者可以使用带有SRunner软件驱动程序的微处理器对EPCQ-L进行编程。
在系统编程(In-System Programming,ISP)为设计者提供了使用 AS 编程接口或JTAG接口对EPCQ-L进行编程的选项。使用AS编程接口时,通过Quartus软件或支持第三方软件编程到EPCQ-L中。使用JTAG接口,必须将称为SFL的IP核下载到Cyclone 10 GX器件中,以构成JTAG接口和EPCQ-L之间的桥接。这允许EPCQ-L使用JTAG接口直接编程。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_110_3.jpg?sign=1739283463-J5r3eGKcMKrY0EhGyRLYeTmJ8vP43m7w-0-7b06768747ef11effa2c917dbac960df)
注
EPCQ_L 即将停产,改由使用 MT25QU256 芯片,该芯片为 1.8V 供电,与 EPCQ_L 兼容。在使用该芯片配置 Cyclone 10 GX 器件时,在quartus.ini文件中,添加pgm_allow_mt25q=on。
1.使用JTAG接口用于编程EPCQ-L
使用JTAG接口编程EPCQ-L的连接设置(×4模式),如图1.75所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_111_1.jpg?sign=1739283463-icNuSMCSaMuZeI5iyraALrdD1VH0KsPC-0-88b1e8117d63c3df6bab0dd2f07bfa7b)
图1.75 使用JTAG接口编程EPCQ-L的连接设置(×4模式)
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_111_2.jpg?sign=1739283463-Nz6Da3F31VqJE93j8x5ZNts8b0WC4iwE-0-d03b0b85b5e242a8833159b1e536a1ca)
注
(1)每个Cyclone 10 GX器件有3个nCSO引脚,即nCSO[2..0],这样该器件就可以连接最多 3 个 EPCQ-L 器件。使用 3 个 EPCQ-L 器件的优势如下。
① 能保存多个设计文件,用于远程系统更新。
② 当超过最大单个EPCQ-L器件容量时,可以增加存储容量。
(2)在×1 模式下,只连接 Cyclone 10 GX 的 AS_DATA1 引脚和EPCQ-L的DATA引脚。
在配置期间,Cyclone 10 GX器件通过将其nCSO输出引脚驱动为低来使能EPCQ-L器件,该引脚连接到 EPCQ-L 器件的片选(nCS)引脚。Cyclone 10 GX器件通过使用DCLK和ASD0引脚给EPCQ-L器件发送操作命令和读地址信号。EPCQ-L器件在其串行数据输出(DATA[])引脚上提供数据,它连接到Cyclone 10 GX器件的AS_DATA[]引脚输入。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_111_3.jpg?sign=1739283463-U6b1SA4UKt1NihnjkA5mzENAQ9tOo9wB-0-9ccb935d3a72b2eeaf86bee732ed32c1)
注
如果希望控制EPCQ-L引脚,请将nCONFIG引脚保持为低电平,并将nCE引脚拉高。这将导致器件复位并使AS配置引脚处于三态。
AS配置的时序如图1.76所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_112_1.jpg?sign=1739283463-vX5EDqzYii1q5lhOyxRR5pvr06sUM1Jt-0-7bfe58053e1ab14dd1bcf54d50c244bd)
图1.76 AS配置的时序
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_113_1.jpg?sign=1739283463-MNUZfxjaqbtJl8bZxVkTLyqhePrAyYMV-0-5e1ba0e214ddbdecbb3d643181ccb71e)
注
(1)如果使用AS×4模式,这个信号表示AS_DATA[3..0],并且在每个DCLK周期EPCQ-L发送4位数据;
(2)初始化时钟可以来自于内部振荡器或CLKUSR引脚;
(3)当选项比特位使能 INIT_DONE 引脚配置到器件后,INIT_DONE变低;
(4)nCSO下降沿到DCLK第一个切换的时间大于15ns。
2.使用AS接口编程EPCQ-L
使用AS接口编程EPCQ-L器件的电路连接如图1.77所示。当编程EPCQ-L器件时,下载电缆通过将 nCE 引脚驱动为高电平来禁止访问 AS 接口。同时,nCONFIG 线也被拉低,使得Cyclone 10 GX器件处于复位阶段。编程完成后下载电缆释放nCE和nCONFIG,允许下拉和上拉电阻分别将引脚驱动到GND和VCCPGM。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_113_2.jpg?sign=1739283463-E3wL1vu8QdBwVZOpANIMM8B41pD1rlUP-0-a0304e68be6a97a13c50f2d3a704a199)
图1.77 使用AS接口编程EPCQ-L器件的电路连接
在使用下载电缆对 EPCQ-L 器件编程的期间,通过 DATA0 将编程数据、操作命令和地址信息从下载电缆传送到EPCQ-L器件。在使用下载电缆验证EPCQ-L器件的期间,DATA1将编程数据传输给下载电缆。
3.多器件AS配置
多器件AS配置如图1.78所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_114_1.jpg?sign=1739283463-doVT3lpqMOlXtVKdavL3RhUQVuSXkLAn-0-88124014ebbc9b32aa551355c457465f)
图1.78 多器件AS配置
1.7.2 PS配置
用于 PS 配置策略的 EPCQ-L 编程高级视图如图 1.79 所示。PS 配置使用外部主机。设计者可以使用微处理器、MAX II器件、MAX V器件或者主机PC作为外部设备。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_115_1.jpg?sign=1739283463-YlYwD1EaVScRTzfLJtumtujKGvR3UsJF-0-92eb6ba8667ce7562862cc0030bebbfc)
图1.79 用于PS配置策略的EPCQ-L编程高级视图
设计者可以使用外部主机控制配置数据从外部存储器(如 Flash)到 FPGA 的传输。控制配置过程的设计驻留在外部主机中。
设计者可以将配置数据保存在编程器目标文件(progtammer object file,.pof)、.rbf、.hex或.ttf中,首先发送每个数据字节的LSB。例如,如果.rbf包含字节序列02 1B EE 01 FA,则发送到设备的串行数据必须是0100-0000 1101-1000 0111-0111 1000-0000 0101-1111。
设计者可以将PFL IP核与MAX II或MAX V器件一起使用,以从闪存器件中读取配置数据,并配置Cyclone 10 GX器件。
对于PC主机,使用Intel FPGA下载电缆将PC连接到设备。配置数据串行移入器件的DATA0引脚。
如果使用Quartus编程器并且使能CLKUSR引脚,则不需要为该引脚提供时钟源来初始化器件。
1.使用外部主机的PS单器件配置
在该模式下,配置Cyclone 10 GX器件,将器件连接到一个外部主机,如图1.80所示。通过将CONF_DONE和nSTATUS引脚连接在一起,器件可以同时初始化并进入用户模式。如果链路中的任何器件发生错误,则将停止配置整个链,并且必须重新配置所有器件。例如,如果链路中的第一个器件在 nSTATUS 引脚上标记错误,则会通过拉低 nSTATUS 引脚来复位整个链路。
如果使用相同的配置数据在链路中配置器件,则器件必须具有相同的封装和密度。
2.使用Intel FPGA下载电缆的PS单器件配置
在该模式下,配置Cyclone 10 GX器件,将器件连接到下载电缆,如图1.81所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_116_1.jpg?sign=1739283463-gCmQBBGlncSqaUFrP1DIDk4E7IXkJzdE-0-09a1648d9c2ac67b943c069423681030)
图1.80 使用外部主机的PS单器件配置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_116_2.jpg?sign=1739283463-YvmnrBVlBgnBmt9t2Lu1xOX6YTZfo7hY-0-1d121282fd3974455992f790f541eb42)
图1.81 使用Intel下载电缆的PS单器件配置
3.使用多个配置数据
要使用多个配置数据在链中配置多个Cyclone 10 GX器件时,将器件连接到外部主机,如图1.82所示。
在器件配置完后,它的 nCEO 引脚释放为低电平,以激活链中下一个器件的 nCE 引脚。在一个时钟周期内,自动开始配置第二个器件。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_117_1.jpg?sign=1739283463-gYBxJmBkGyftqkKiuGRWrpJspwhFsNLk-0-52c39056cdc9c701eeab5c94c472f530)
图1.82 使用多个配置数据
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_117_2.jpg?sign=1739283463-iHXTj5mRBekbXt168ZjWIRrocTiZDHV8-0-988109245303bf92e68265a5fbb241cb)
注
默认,Quartus 软件禁止 nCEO 引脚。对于多器件配置链,必须在Quartus软件中使能nCEO引脚。否则,配置器件可能会失败。
4.使用一个配置数据
要使用一个配置数据在链中配置多个Cyclone 10 GX器件时,将器件连接到外部主机,如图1.83所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_117_3.jpg?sign=1739283463-3h9m0t82jtWHbMdRmF7GGumFETBEb3sr-0-0ca6f171352dd85a5af6a32c47e7b429)
图1.83 使用一个配置数据
在该链路中,器件的nCE引脚连接到GND,允许这些器件的配置同时开始和结束。
5.使用PC主机和下载电缆
要配置多个Cyclone 10 GX器件,将器件连接到下载电缆,如图1.84所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_118_1.jpg?sign=1739283463-pNlNuwUe4WupBVAWYwzSexphXXYC3GGq-0-937f46e2e0f285ff15818440f65f860f)
默认,Quartus 软件禁止 nCEO 引脚。对于多器件配置链,必须在Quartus软件中使能nCEO引脚。否则,配置器件可能会失败。
注
在器件配置完后,它的 nCEO 引脚释放为低电平,以激活链中下一个器件的 nCE 引脚。为第二个器件自动开始配置。
6.PS配置时序
PS配置的时序如图1.85所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_118_2.jpg?sign=1739283463-2nfQ3UmVy44S8s5X83t4T9UFGfbgBg4a-0-e3625ba42d0f409e6d8a7b05b99046a9)
注
(1)上电后,器件在POR延迟时保持nSTATUS为低电平。
(2)上电后,配置前和配置期间,CONF_DONE为低电平。
(3)配置后,不要让 DCLK 浮动。可以将它驱动为高或低,以更方便的方式。
(4)配置后,DATA0 可作为用户的 I/O 引脚。该引脚的状态取决于在器件和引脚选项中的两用引脚设置。
(5)为确保配置成功,给器件发送整个配置数据。当器件成功接收到所有配置数据后,CONF_DONE 释放为高电平。在 CONF_DONE 变成高电平后,在DCLK发送两个额外的下降沿以开始初始化并进入用户模式。
(6)当使能选项位去使能INIT_DONE引脚配置到器件后,INIT_DONE变低。
(7)在nSTATUS拉高之前,不要将DCLK切换为高电平。
1.7.3 FPP配置
用于 FPP 配置策略的 Flash 高级视图如图 1.86 所示。FPP 配置策略使用一个外部主设备,可选的主设备有微处理器、MAX II器件或MAX V器件。这个策略是配置Cyclone 10 GX器件最快的方法。FPP配置策略支持8位、16位和32位的数据宽度。
可以使用外部主机来控制配置数据从外部存储器(如闪存)到FPGA的传输。控制配置过程的设计驻留在外部主机中。可以将配置数据存储在原始二进制文件(raw binary file,rbf)、十六进制(Intel格式)文件(.hex)或者表格文本文件(tabular text file,ttf)中。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_119_1.jpg?sign=1739283463-jabcEITziHk3tgHUCvLo9E6hLyYy4ChR-0-ac656abaa419d7a4c0ffee61da62718b)
图1.84 使用Intel FPGA 下载电缆的多个器件的PS配置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_120_1.jpg?sign=1739283463-CemCVyOwhxlQr0TLarkvto8vGk0SBI83-0-e0733caf4d0365f544fb3aa4ba1dafa4)
图1.85 PS配置的时序
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_121_1.jpg?sign=1739283463-mnSmEyvzRjA1uQy4Oe1gvvi2ZEjF9Gtk-0-02f400fcff4fc2f84ba67f56d1d554d8)
图1.86 用于FPP配置策略的Flash编程高级视图
可以将PFL IP核与MAX II或MAX V器件一起使用,以从闪存器件读取配置数据并配置到Cyclone 10 GX器件。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_121_2.jpg?sign=1739283463-pICXMWqsYKsFSWcCWtPIiDlfi6GDZi0e-0-3b910e90d06e9f2d0e9aacef8520dd75)
注
在CONF_DONE引脚变高后,要求两个DCLK下降沿,以便在FPP配置中为未压缩核压缩的配置数据开始初始化设备。
1.单个器件配置
要配置Cyclone 10 GX器件,将器件连接到外部主机,如图1.87所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_121_3.jpg?sign=1739283463-vK3rxMF5lqVFNERqrnz1J88DOfu8zVxb-0-774e0eeeff4195c6dd5ffd6338abddec)
图1.87 FPP模式的单个器件配置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_122_1.jpg?sign=1739283463-4fF84fB7rzn33S6DTnq0RdhwbKolvVwV-0-ea73ba13b82b3be1570d6e9809445e74)
注
如果使用 FPP×8 配置模式,使用 DATA[7..0]引脚;如果使用 FPP×16配置模式,使用DATA[15..0]引脚;如果使用FPP×32配置模式,使用DATA[31..0]引脚。
2.使用多个配置数据配置多个器件
使用多个配置数据配置一个链路中的多个 Cyclone 10 GX 器件,将器件连接到外部主机,如图1.88所示。
3.使用一个配置数据配置多个器件
使用多个配置数据配置一个链路中的多个 Cyclone 10 GX 器件,将器件连接到外部主机,如图1.89所示。在该链路中,器件的nCE引脚连接到GND,允许同时开始和结束配置这些器件。
4.FPP配置时序
当DCLK到DATA[]的比值为1时的FPP配置时序如图1.90所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_122_2.jpg?sign=1739283463-Nd56W29hcu4V6w9Mi5VoCLmKmtgZ7GW0-0-635a1344e88baea8567d79b5558228e6)
注
(1)上电后,器件在POR延迟时保持nSTATUS为低电平。
(2)上电后,在配置前和配置期间,CONF_DONE为低电平。
(3)配置后,不要让 DCLK 悬空。当配置完成后,将忽略 DCLK。如果需要,可将它切换到高或低。
(4)对于 FPP×16,使用 DATA[15..0];对于 FPP×8,使用 DATA [7..0]。配置后,DATA[31:0]可作为用户 I/O 引脚使用,该引脚的状态取决于引脚的双用途设置。
(5)为了确保配置成功,将整个配置数据发送到器件。当器件成功收到所有配置数据时,将CONF_DONE释放为高。在CONF_DONE变为高电平后,在 DCLK 上发送两个额外的下降沿以开始初始化并进入用户模式。
(6)在使能位使能 INIT_DONE 引脚配置到器件后,INIT_DONE 变为低。
(7)在nSTATUS拉高之前,不要将DCLK切换为高电平。
当DCLK到DATA[]的比值大于1时的FPP配置时序如图1.91所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_123_1.jpg?sign=1739283463-1TaVIF8CVhxurcvMVGHS1Pnz8tnFsB8D-0-51b0b6cc72ba1d800c8314fbcc5bbab1)
图1.88 EPP模式使用多个配置数据配置多个器件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_124_1.jpg?sign=1739283463-9XQDPZ4cfwpRhLHATh4yaAEuTGLA60T5-0-61e5ca313b67147fce3489b1db6223f4)
图1.89 EPP模式使用一个配置数据配置多个器件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_125_1.jpg?sign=1739283463-OlcqW5q846o3B00dvRVGn6JOUrUibEL6-0-c46fe53c45c1f6b54cab4e24fb8e7417)
图1.90 当DCLK当DATA[]的比值为1时的FPP配置时序
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_126_1.jpg?sign=1739283463-20KAM0kPwL8qrpYl3mI2CcXpSZCwKtYy-0-4c6015a95b082e1387f9b965ea561eb6)
图1.90 当DCLK到DATA[]的比值大于1时的FPP配置文件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_127_1.jpg?sign=1739283463-MrsPFtMESIVNTHZnCoNRSHTLWcEF3eZx-0-29409a4148ba1360fc5e72d54d8b4a6a)
注
(1)上电后,器件在POR延迟时保持nSTATUS为低电平。
(2)上电后,在配置前和配置期间,CONF_DONE为低电平。
(3)在配置后,不要让DCLK悬空。可将它驱动为高或低。
(4)“r”表示DCLK到DATA[]的比值。对于使用解压缩和设计安全功能设置DCLK到DATA[]的比值。
(5)如果需要,暂停 DCLK 并保持为低电平。重启 DCLK 时,外部主机必须在发送第一个DCLK上升沿之前在DATA[31..0]引脚上提供数据。
(6)为了确保配置成功,将整个配置数据发送到器件。当器件成功收到所有配置数据时,将CONF_DONE释放为高。在CONF_DONE变为高电平后,在 DCLK 上发送两个额外的下降沿以开始初始化并进入用户模式。
(7)在使能位使能 INIT_DONE 引脚配置到器件后,INIT_DONE 变为低。
(8)在nSTATUS拉高之前,不要将DCLK切换为高电平。
1.7.4 JTAG配置
在Cyclone 10 GX器件中,JTAG指令优先于其他配置方案。JTAG是英文全称Joint Test Action Group(联合测试行动小组)的缩写,它是一种国际标准测试协议(IEEE1149.1 兼容),主要用于测试芯片的内部。
Quartus 软件生成一个 SRAM 对象文件(SRAM Object File,SOF),设计者可以使用Quartus 软件编程器中的下载电缆配置 JTAG。或者,使用带有.rbf 或 JAM 标准测试和编程语言(Standard Test and Programming Language,STAPL)格式文件(.jam)的 JRunner 软件,或者使用带有第三方编程器工具的JAM字节代码(JAM byte code,jbc)文件。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_127_2.jpg?sign=1739283463-cXn27w6CzRQZG6LLqaHXtejySZYHzFjC-0-f71685cdbe6705e06bf523be12c67ea1)
注
如果使用基于JTAG的配置来配置Cyclone 10 GX器件,则无法使用Cyclone 10 GX器件的解压缩或设计安全功能。Cyclone 10 GX器件上的芯片级复位(DEV_CLRn)和芯片级输出使能(DEV_OE)引脚不会影响JTAG边界扫描或编程操作。Intel FPGA下载电缆可支持1.5V/1.8V的VCCPGM电压,但是不支持1.2V的目标电源电压。
1.单个器件配置
要在 JTAG 链中配置单个器件,编程软件会将其他器件设置为旁路模式。在旁路模式下的器件,通过单个旁路寄存器将编程数据从TDI 引脚传输到 TDO引脚。配置数据在一个时钟周期后可用。
Quartus 软件使用 CONF_DONE 引脚验证通过 JTAG 接口的配置过程是否完成。当CONF_DONE 引脚为低电平时表示配置失败;当 CONF_DONE 引脚为高电平时表示配置成功。
当使用JTAG TDI接口串行传输配置数据后,TCK接口再驱动额外的1222周期以执行器件初始化操作。
要使用下载电缆配置Cyclone 10 GX器件,按图1.92所示设计电路。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_128_1.jpg?sign=1739283463-CTsj1OMbxK9X7BuAfnputQvDFnEkBfjK-0-0646b47173418a4cc1d5604f899c3d2a)
图1.92 使用下载电缆配置器件
使用外部微处理器配置Cyclone 10 GX器件,按图1.93所示设计电路。设计者可以使用JRunner作为软件驱动程序。
2.多个器件配置
JTAG也可以配置链路上的多个器件,如图1.94所示。在JTAG多器件配置模式下,应遵守下面的规则:
(1)隔离CONF_DONE和nSTATUS引脚,允许每个器件独立进入用户模式。
(2)一个JTAG兼容头连接到JTAG链中的多个器件。链路中器件的个数仅受下载电缆驱动能力的限制。
(3)如果 JTAG 链中有 4 个或以上的器件,则使用板载缓冲器缓冲 TCK、TDI 和 TMS引脚。设计者也可以将其他具有JTAG支持的Intel FPGA连接到该链路中。
(4)当系统包含多个器件或使用JTAG边界扫描测试(Boundary Scan Testing,BST)电路测试系统时,JTAG链的器件编程是理想的选择。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_129_1.jpg?sign=1739283463-QM6S8C1Qxjk3Fm8nCK4NBh9zmdJ2JXXv-0-fd463feecc59b498b9b45e2066e9de80)
图1.93 使用外部微处理器配置器件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_129_2.jpg?sign=1739283463-266LKzrui6ZhrsezOwtG5BUx0Fk80mZb-0-14d78d529d9f78922b7f36ebebdf9017)
图1.94 使用JTAG配置多个器件
1.7.5 配置流程
Cyclone 10 GX器件的配置过程如图1.95所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_130_1.jpg?sign=1739283463-rYE6DR4LPZvsjXYgHlmP6MZ66czSGTth-0-596107289c09272dabf37bef6404b780)
图1.95 Cyclone 10 GX器件的配置过程
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_130_2.jpg?sign=1739283463-NXoH0H1rFkOXqtSJJcRxslSkyvSUSZSn-0-622181338038d7792feaef99e2989bec)
注
除用于部分可重配置操作外,设计者可以通过将 nCONFIG 引脚拉低至少最小 tCFG的低脉冲来初始化重配置。当拉低该引脚时,nSTATUS和CONF_DONE引脚也被拉低,所有I/O引脚都连接到弱上拉。