![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=1738814011-rI0lqciaBaaXCMx2frhSebaczKrjsGC8-0-c2066be97289c5bdae1d531c3f83f627)
为了选择不同的配置策略,MSEL引脚硬连线到VCCPGM或GND,无须上拉或下拉电阻。用于不同配置策略的MSEL引脚的设置如表1.33所示。
表1.33 用于不同配置策略的MSEL引脚的设置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_109_1.jpg?sign=1738814011-hElU0JDVsDwsgw3kOMHskAXPNGYV6ZUv-0-14d6da094b106982dd59e9e0973ba6c3)
Cyclone 10 GX器件的配置引脚如表1.34所示。
表1.34 Cyclone 10 GX器件的配置引脚
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_109_2.jpg?sign=1738814011-0ymCilklpJ7rEjAR7d9FQY87stWH2JNf-0-6a02fbb3f7746e01b49369dfe315b26e)
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=1738814011-iGX4MqnrgqFy5H35B6HIgInFO0AHZk0g-0-457052c2b10f505037b43fb12ac21869)
图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=1738814011-g9Kh3MmsTbgziX1UBfQpwPLDwhDZHdmP-0-5ffbfc703900a3ea24d6d0b7dac64a57)
注
对于使用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=1738814011-cz5FSmbkEBE6fTGFHQsmRZASVjYP47ww-0-f4e90c5cc9c97d114604d5c9ed09a2c7)
注
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=1738814011-wAku5j3bIcK3Zb2x22FqgpDabmHKnwje-0-0d572603cabe7fb273e91a35c20560f7)
图1.75 使用JTAG接口编程EPCQ-L的连接设置(×4模式)
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_111_2.jpg?sign=1738814011-4CLUiPhVs5LOvKUjVqp2nPklgJkLh9MC-0-afbf9bc04bbafea1e74d6c921618effc)
注
(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=1738814011-56el1uaNisZZlow2QBifRirQWK4Z5eBt-0-408d888fab0812a396db21550b5fb0c2)
注
如果希望控制EPCQ-L引脚,请将nCONFIG引脚保持为低电平,并将nCE引脚拉高。这将导致器件复位并使AS配置引脚处于三态。
AS配置的时序如图1.76所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_112_1.jpg?sign=1738814011-adv1MFE3fJZC1FJNtJGtXVtbhRzOMzbI-0-789515e3b3caa5aa4eb613759c903883)
图1.76 AS配置的时序
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_113_1.jpg?sign=1738814011-bWqov8FMr8VWWiYEueg0Gt90LCo6FUll-0-5c43c5c8536c8fd06c5076c0b0b12db7)
注
(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=1738814011-7BZpphc8nAYzLgDQzcv7HOmhtDPbPLhj-0-3be1e820a1b3bd97f984bcdfe5acf30b)
图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=1738814011-lskjwGmfFBj9ri3s8anJTLFOP0VP8F0q-0-918bb0b3aaf47846566b601e6b85de90)
图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=1738814011-RbdsOozLsqeewOhtOYWEBnAkAydIRO3L-0-cd86e75a869376e8b15a94f94ecb30cb)
图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=1738814011-7zhd156KTNTJBQPrjKNVy8b9E5SlFguO-0-ec72e7f3130bd6d669b46d9f84ce5677)
图1.80 使用外部主机的PS单器件配置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_116_2.jpg?sign=1738814011-GR90g44Rr4ohTOrvSudPdz9QxckPG1hm-0-ac27d911b4725e7abcce06d4292f1cd3)
图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=1738814011-dCd9p3QIqCZJcWqSLo6xySU8j6DMh2dJ-0-3a87b64f55cdbc16ca8626cbceb4dddd)
图1.82 使用多个配置数据
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_117_2.jpg?sign=1738814011-RJay5jbYKP0xSTfEw3KUG5CTd5Tt0B3B-0-d3c6315fc8ebc1d9bc6d71beb63cdbe8)
注
默认,Quartus 软件禁止 nCEO 引脚。对于多器件配置链,必须在Quartus软件中使能nCEO引脚。否则,配置器件可能会失败。
4.使用一个配置数据
要使用一个配置数据在链中配置多个Cyclone 10 GX器件时,将器件连接到外部主机,如图1.83所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_117_3.jpg?sign=1738814011-BwvO8JKxve6oRhcdvLOs0D8WEg1r9eh7-0-6c2d44161a07ffca0c6771df1ba8c507)
图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=1738814011-Xs98IFX7J4T8W8syhQdDWhr1mWoBLCpS-0-108eae882975f38b100017217a34be82)
默认,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=1738814011-Noka76CY3O0LHEmEzLCOGmLXEAU7JALj-0-30598237c8b72eebd10ebd7ce2b1c456)
注
(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=1738814011-8qamxraokPgrj1xeXV4XzTNBg2XEvD6y-0-70a1680d0bbc8e63d8842f6e3d415fd7)
图1.84 使用Intel FPGA 下载电缆的多个器件的PS配置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_120_1.jpg?sign=1738814011-jlOPS2Ur21u5GQopbn8PESwXOMNKQADj-0-b59d8c0f9a8c9ba0a84bdb84ec95e710)
图1.85 PS配置的时序
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_121_1.jpg?sign=1738814011-FJuKgjWRQDlIOT7nlbKvDcwl6RiAc6iD-0-3f8ecdabf27affeaa1267b4c30cf79ba)
图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=1738814011-9thynP0AxgZnvkG0RHgdjTdbXXIW5lay-0-751d5c21a5523430bf1da6ec84ce7ccb)
注
在CONF_DONE引脚变高后,要求两个DCLK下降沿,以便在FPP配置中为未压缩核压缩的配置数据开始初始化设备。
1.单个器件配置
要配置Cyclone 10 GX器件,将器件连接到外部主机,如图1.87所示。
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_121_3.jpg?sign=1738814011-1IabzF6BpWHvaiSQdEMyWLAgfAsRgGal-0-24e0ea5c7ccb9a23d1ba0cbed315a93a)
图1.87 FPP模式的单个器件配置
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_122_1.jpg?sign=1738814011-fC8GeodVPrgSBNjn8DzKVXR2rmGOYU8N-0-ea59a9e8e6003e5794cb55b651e59dd7)
注
如果使用 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=1738814011-uNWK5iwyYM0AFGJPMf00qqRYZrbdwcuU-0-2431d5c35f694dc710a0484fe6bb3bf6)
注
(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=1738814011-kBzUwDAxDDJ7dslkx1h1MiVsjOwwwL6g-0-c434240e05b006a2ab0fed221fc18fc8)
图1.88 EPP模式使用多个配置数据配置多个器件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_124_1.jpg?sign=1738814011-FM5j9aWfUAj9PDcHYetRrBKf1ejN7NEZ-0-8e702b03d5227f6b8cbc47dced0a4b7e)
图1.89 EPP模式使用一个配置数据配置多个器件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_125_1.jpg?sign=1738814011-HV3OANN3C3tFdCNZpKnNXmjB9f0ZXHro-0-eb81d6c56911d62aa5ca034c6c85c8b5)
图1.90 当DCLK当DATA[]的比值为1时的FPP配置时序
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_126_1.jpg?sign=1738814011-5quUpKJ8AI8W2yMed7TGInhu990K6yK5-0-823be354f612a51de1aba4e7618e0ef5)
图1.90 当DCLK到DATA[]的比值大于1时的FPP配置文件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_127_1.jpg?sign=1738814011-h1UBYEsWby8Fovx6gK0zTB7GpumHFNxM-0-b03b9d5054552e8c5839b6513c19199d)
注
(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=1738814011-6nySzU50noqyFsr3dKsXvIsWYJcJXCrU-0-2bc3d54ddf1c6ac47dedd44dcd7bad1a)
注
如果使用基于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=1738814011-Sxn1GQmQH95DB21zG2j5EPpmEmeWF8yx-0-f8a1585eb7d190fdcbd0e11c50d4be47)
图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=1738814011-M4h885jPpiNhVgMwpSDgskWWKgfTqAxG-0-c5604631940568b6d2ad6f053c556181)
图1.93 使用外部微处理器配置器件
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_129_2.jpg?sign=1738814011-1kFNQvRQRhAfo8YCYN6DI8CXxJswTKJb-0-c3689f00095c4ff4c3cdf71c0a2ea591)
图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=1738814011-XFnkqaaVcbXMa5DfeDd6mtIhL6weecgd-0-3c4dcddb60353693c84411bd765fd39b)
图1.95 Cyclone 10 GX器件的配置过程
![](https://epubservercos.yuewen.com/A53FE3/21440186201517906/epubprivate/OEBPS/Images/38244_130_2.jpg?sign=1738814011-I4Ctl2qLEhG4gt3CEYRgYOCNPRNkroWR-0-287e95d07507fe8b9af204eba1ee2dd3)
注
除用于部分可重配置操作外,设计者可以通过将 nCONFIG 引脚拉低至少最小 tCFG的低脉冲来初始化重配置。当拉低该引脚时,nSTATUS和CONF_DONE引脚也被拉低,所有I/O引脚都连接到弱上拉。