![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=1738879435-5RP9Sy9v1T9bADzeXg3jlYv6yfQQ5NLa-0-1f8e12815e30cec151c4c51139b89ae0)
为了选择不同的配置策略,MSEL引脚硬连线到VCCPGM或GND,无须上拉或下拉电阻。用于不同配置策略的MSEL引脚的设置如表1.33所示。
表1.33 用于不同配置策略的MSEL引脚的设置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_109_1.jpg?sign=1738879435-g2zPKORM8VZp8FMnFZ31qAEYbiaASXGt-0-60c603723f618c95ed3edd3dc2f3d487)
Cyclone 10 GX器件的配置引脚如表1.34所示。
表1.34 Cyclone 10 GX器件的配置引脚
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_109_2.jpg?sign=1738879435-4a3xuIfbdyr5EKXd5Ssth2QJGskMjxnp-0-f0861ab5780b02f03fc2355f6eda37fa)
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=1738879435-NSfCcZaUyMSUXMOHWR3hngdZXmmSGs4n-0-de7474da2dfb03bfe64788d378e7c736)
图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=1738879435-EM4mUXsTGeCcKMIt88g2SzVWSbWPsUz8-0-b07a30d18f382cded69e483f962877fd)
注
对于使用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=1738879435-DrhVRQCzUVtuQuHc6OUrSMmmUMiaK9WH-0-7a3e27871585d68c84db4531dfa712fa)
注
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=1738879435-lGRIUSUEknBXAv6QkEGxh0NC5Jd6XFfW-0-6958807a325d3e2168f36e1c7ee09875)
图1.75 使用JTAG接口编程EPCQ-L的连接设置(×4模式)
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_111_2.jpg?sign=1738879435-XbtSJ3sWVIdLULbnwuMOjapwcH78TvK5-0-dba9930bb74e68504f783d63a67d37e1)
注
(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=1738879435-beVWtaf42F5xeB1iXrLsFzp0VVdP94gM-0-54564a1f9eb40d1a39ede4ec9a174fea)
注
如果希望控制EPCQ-L引脚,请将nCONFIG引脚保持为低电平,并将nCE引脚拉高。这将导致器件复位并使AS配置引脚处于三态。
AS配置的时序如图1.76所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_112_1.jpg?sign=1738879435-UhlRBLkACEOxCTOHYcuGzeidgDULlSRr-0-5f310329405ed59963f170be9e61c870)
图1.76 AS配置的时序
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_113_1.jpg?sign=1738879435-oMmIjsaXIq8Icte0DdiUF2PREI3sQE9Y-0-9769baf48e2c6e66425218375563b5ff)
注
(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=1738879435-qRkRfgcYVuK6owLwLg9LbQbl6Dszf1fI-0-690940eb2d14214b61dad158e41cb886)
图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=1738879435-tDI4pSTCLVirdBKn2aTZthSxEtY5ghun-0-cb081b92177c59dacfcbdb7c1d03d822)
图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=1738879435-CGhZketzkwrn3yRM2IoBLmJAkR7WTlJo-0-59d32a2f0a2b3a317b56806c9e1ddeea)
图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=1738879435-Ly1cNXZrvW3xdr7R3dVKZkBdH5lK33uk-0-e230906676040597c1242cdeeb858c91)
图1.80 使用外部主机的PS单器件配置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_116_2.jpg?sign=1738879435-XOlpgwCJfJ3W3VQCuhh1yyy1QjfchnZx-0-c93faf3fc961c1bdf002291bbbe15e9e)
图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=1738879435-qwTE1q3m3MDYnB5SDpsw0K8WY33dzQLN-0-3a4d8b3366b58318c06bf859f773d15d)
图1.82 使用多个配置数据
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_117_2.jpg?sign=1738879435-LeTSTts4yIdUa5Anh5chsKWiLg65CDOT-0-3c92e2cbf08f67507ccc356b28df83c9)
注
默认,Quartus 软件禁止 nCEO 引脚。对于多器件配置链,必须在Quartus软件中使能nCEO引脚。否则,配置器件可能会失败。
4.使用一个配置数据
要使用一个配置数据在链中配置多个Cyclone 10 GX器件时,将器件连接到外部主机,如图1.83所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_117_3.jpg?sign=1738879435-TS7zF95f4MEMfQNNCm4HtNF0JC6zmfQw-0-cb84838e1159653a90ed55f88a2f9cb0)
图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=1738879435-BR07a3U1uGoocpRx6KsARB3TDBNimxUV-0-9fe7a627683db0c6868d9fba2c1a5671)
默认,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=1738879435-RNFSxqhizX5ZwsnS2Br0sYD3rxbdAZ7C-0-2f3cc518825e2a19b6f9965a2ddc1dc9)
注
(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=1738879435-3Lm0kzY7vwxoJgeS5OXN3kz6DtRncjJ5-0-a319c0e5075d873dbed3503afe8ff950)
图1.84 使用Intel FPGA 下载电缆的多个器件的PS配置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_120_1.jpg?sign=1738879435-NAQo4NMjejb5TdQKml3R9bKAA4QOkqGu-0-0f6dae96d70c2396f4da113ef9878b2d)
图1.85 PS配置的时序
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_121_1.jpg?sign=1738879435-LgBWxxrID1AZPvTnNC0T90i7m7RyAcQA-0-80be527d825fd73c50741ebc1b183c47)
图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=1738879435-CCVKIsdLrTaJnSMmH71J22PqIF0ykleB-0-e7018fbe1ad92e984cb115ee56c14514)
注
在CONF_DONE引脚变高后,要求两个DCLK下降沿,以便在FPP配置中为未压缩核压缩的配置数据开始初始化设备。
1.单个器件配置
要配置Cyclone 10 GX器件,将器件连接到外部主机,如图1.87所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_121_3.jpg?sign=1738879435-xKDhaTwGZOxFiKBcDI5tyhcaN8JJVjbW-0-fca09ae62d4d3bc33371d91e4e97af34)
图1.87 FPP模式的单个器件配置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_122_1.jpg?sign=1738879435-MdujOvP6ImQ0R1xc63i8AT0eXcuVX8Ys-0-bd8c9396ee25f4d85a34156f5ea9e2bd)
注
如果使用 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=1738879435-XyaOGbymSI1h66TPDUrg5n0A8CwmlOhK-0-db503c52532d03bfaf7d98c01e26ca87)
注
(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=1738879435-13XTiDhXjweBdigHJAi14iO5fHsrAviX-0-f8d65dc6adc4a43a33a35517f2366786)
图1.88 EPP模式使用多个配置数据配置多个器件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_124_1.jpg?sign=1738879435-sNrn93UogR8GInI04OnV2PlFQhDVzG6B-0-55bc5ce5a59a0b1011efe439c414d9fa)
图1.89 EPP模式使用一个配置数据配置多个器件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_125_1.jpg?sign=1738879435-NuQloPzEjt6ROtEIU169zPM0sajn0i7G-0-55745cc2938b67dbb79c1d4d5f7e692e)
图1.90 当DCLK当DATA[]的比值为1时的FPP配置时序
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_126_1.jpg?sign=1738879435-mFMHPQaImhfz9IgArI42xoDvzOjNmWf3-0-f5328dc8e3e4c6661ca7803f99c826d7)
图1.90 当DCLK到DATA[]的比值大于1时的FPP配置文件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_127_1.jpg?sign=1738879435-Ce9STGSCyd565QS65z0BWKEFEH5oXnnx-0-dd4a5bc534a6bfa5d6b71e501a0df231)
注
(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=1738879435-7KqfDlVKCL9W83JT12AfKrRz40OXvzOp-0-800b8a4e0fbd686f4deaca5d8f115862)
注
如果使用基于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=1738879435-2lgc8WCIX2Xb37ukbZXStZXKFZPf1CbZ-0-684b163a54cc51a15a94548eb98b9d6f)
图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=1738879435-neGLKQMlrBaRB8mpkJqSTfjktOJilw0N-0-423eab24bfd04aa4701e11eede1866a5)
图1.93 使用外部微处理器配置器件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_129_2.jpg?sign=1738879435-r23JTYKyMUmWHcCtLl0dUXe9fwa9i4Ph-0-150cf3adb9932df4d28c63eba40d4410)
图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=1738879435-V7ygHLtmJVHFq6KGAfPToScLvZBV6GeC-0-d390625b44fa5ccdd325a49912e8b2d5)
图1.95 Cyclone 10 GX器件的配置过程
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_130_2.jpg?sign=1738879435-vySXpflJlbLrdFYO2OxjV6nPQLe3BtG1-0-fdfe362cda1a27ca7788670bb35f0f8c)
注
除用于部分可重配置操作外,设计者可以通过将 nCONFIG 引脚拉低至少最小 tCFG的低脉冲来初始化重配置。当拉低该引脚时,nSTATUS和CONF_DONE引脚也被拉低,所有I/O引脚都连接到弱上拉。