CN101916588A - 一种在系统编程isp编程模块及其用于fpaa在系统编程的方法 - Google Patents
一种在系统编程isp编程模块及其用于fpaa在系统编程的方法 Download PDFInfo
- Publication number
- CN101916588A CN101916588A CN2010102599902A CN201010259990A CN101916588A CN 101916588 A CN101916588 A CN 101916588A CN 2010102599902 A CN2010102599902 A CN 2010102599902A CN 201010259990 A CN201010259990 A CN 201010259990A CN 101916588 A CN101916588 A CN 101916588A
- Authority
- CN
- China
- Prior art keywords
- programming
- isp
- register
- fpaa
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本发明公开了一种在系统编程ISP编程模块及其用于FPAA在系统编程的方法,该方法在兼容JTAG标准的基础上,对标准JTAG结构进行了改造,扩展了指令集;使用该方法实现的在系统编程模块集成在FPAA器件中;在进行ISP编程时,首先通过JTAG接口输入指令控制集成在FPAA器件内JTAG TAP状态机的运行状态;其次是通过TAP状态机控制编程数据的传输、校验和编程;编程是由集成在FPAA芯片上的高压电路对非易失性存储器EEPROM进行编程实现的。本发明提出的基于JTAG IEEE 1149.1标准的应用于FPAA的ISP方法具有实现简单、易于单片集成和编程效率较高的特点。
Description
技术领域:
本发明属于半导体领域,涉及一种半导体集成电路,尤其是一种用于FPAA(Field-programmable analog arrays)的在系统编程(ISP,In-System Programmability)方法。
背景技术:
在系统编程ISP(In-System Programmability)指利用EEPROM或FLASH来存储编程信息,在印刷电路板上对电子系统中一个或多个可编程逻辑器件进行编程或改写的技术。当前ISP技术可分为专用方法和标准方法。专用方法是可编程器件生产厂家采用针对本公司器件结构的专用编程算法作为在系统编程算法;标准方法即针对具有JTAG边界扫描机构的可编程逻辑器件采用JTAG编程算法作为在系统编程算法。几乎所有的可编程逻辑器件制造商都在IEEE1149.1标准的基础上提供ISP功能。
与可编程逻辑器件相对应,现场可编程模拟阵列FPAA(Field Programmable Analog Array)器件属于可编程模拟器件,是一类新型集成电路。该电路属于模拟电路,即电路的输入、输出以及器件内部的状态均为时间连续变化,且幅值未经过量化的模拟信号,同时,它又同可编程逻辑器件一样,可由用户通过现场编程和软件来改变其内部连接和元件参数,从而获得所需要的电路功能。
可编程模拟阵列FPAA的基本结构(图1)一般是由可配置模拟模块(Configurable Analog Block,CAB)和可配置互连网络(Configurable Interconnect Network,CIN)为核心,配合配置存储器,输入/输出模块(I/O Block)等共同构成。可配置模拟模块CAB作为FPAA的核心部分,用于实现模拟电路的主要功能,一般由运算放大器、可编程开关阵列、可编程电容阵列以及可编程电阻阵列等构成。可配置互连网络CIN主要由可编程开关阵列构成。因此,FPAA中需要进行编程的模块主要为:可编程开关阵列、可编程电容阵列和可编程电阻阵列。
FPAA作为一种可编程的高精度模拟集成电路,现场编程和配置技术是FPAA的关键技术之一。由于FPAA器件结构的特殊性,一般生产厂家采用针对本公司器件结构的专用编程算法作为在系统编程算法。
发明内容:
本发明提出的一种适用于现场可编程模拟阵列FPAA的ISP编程方法,实现了在系统编程配置模块集成在FPAA器件中,无需专门的下载适配器,只需JTAG标准接口即可完成在系统编程,从而有效的提高了FPAA的编程效率。
本发明的具体技术方案如下:
一种在系统编程ISP编程模块,所述ISP编程模块由器件ID寄存器1、旁路寄存器2、指令寄存器3、配置寄存器4、高压编程模块5、多路选择器6、指令译码逻辑7、ISP控制逻辑8、TAP控制器9、EEPROM阵列模块10、可编程开关阵列11、可编程电容阵列12和可编程电阻阵列13构成;所述ISP控制逻辑8和TAP控制器9构成该ISP编程模块的控制部分,用于产生状态机的各个状态,控制TDI到TDO之间的连接通路,用户控制指令通过TDI由外设输入,在ISP控制逻辑8的控制下,用户控制指令被移入指令寄存器,再由指令译码电路翻译指令并执行相应的操作;所述配置寄存器4一般由N位串行寄存器构成,寄存器的个数依据PAC块的配置EEPROM单元个数而定;所述指令寄存器3和指令译码逻辑7共同完成指令的存储与译码,并把命令信息传递到ISP控制逻辑8,控制ISP模块的运行。
所述TAP控制器是一个由时钟和测试模式控制的状态机,共包含了16个工作状态,每个工作状态不仅与当前的TCK和TMS值有关,而且还与TAP状态机的前一个状态有关;TAP控制器的ASM图表是对称的,通过一条路径控制数据寄存器的行为动作,用另一条路径控制TAP指令寄存器的行为动作。
所述旁路寄存器2占据一位,当没有其他寄存器被选中时,旁路寄存器在TDI与TDO之间提供一个一位的串行连接,旁路寄存器能够在不影响器件正常工作的情况下允许数据通过一个器件传入到另外一个器件,实现菊花链连接。
基于所述ISP编程模块的FPAA在系统编程方法:
(1)通过JTAG接口输入指令,控制集成在FPAA器件内JTAG TAP状态机的运行状态;
(2)通过ISP控制逻辑8控制编程数据的传输、校验和编程;
所述编程是由集成在FPAA芯片上的高压编程模块5对非易失性存储器EEPROM阵列模块10进行编程实现的。
所述步骤(2)是指编程时,下载移位寄存器中的数据在电荷泵高压下被一次性写入EEPROM存储单元中。写入完成后,ISP控制逻辑8会执行VERUSR(校验)指令将写入的信息读入用户寄存器,再由TDO输出来验证写入信息的正确性。
本发明提出了一种应用于FPAA的基于JTAG标准的ISP器件编程方法,该方法在兼容JTAG标准的基础上,对标准JTAG结构进行了改造,扩展了指令集;使用该方法实现的在系统编程模块集成在FPAA器件中。
在进行ISP编程时,首先通过JTAG接口输入指令控制集成在FPAA器件内JTAG TAP状态机的运行状态;
其次是通过TAP状态机控制编程数据的传输、校验和编程;
编程是由集成在FPAA芯片上的高压电路对非易失性存储器EEPROM进行编程实现的。
现场编程和配置技术(ISP)是可编程模拟阵列(FPAA)的关键技术之一。本发明提出的基于JTAG IEEE 1149.1标准的应用于FPAA的ISP方法具有实现简单、易于单片集成和编程效率较高的特点。
附图说明:
图1为本发明的可编程模拟阵列FPAA结构简图;
图2为本发明的带有JTAG存取端口的ISP模块结构图;
图3为本发明的TAP控制状态机的ASM图。
其中:1为器件ID寄存器;2为旁路寄存器;3为指令寄存器;4为配置寄存器;5为高压编程模块;6为多路选择器;7为指令译码逻辑;8为ISP控制逻辑;9为TAP控制器;10为EEPROM阵列模块;11为可编程开关阵列;12可编程电容阵列;13可编程电阻阵列。
具体实施方式:
下面结合附图对本发明做进一步详细描述:
可编程模拟阵列FPAA结构简图如图1所示,通过把编程数据写入配置数据存储器完成FPAA的结构配置。
使用本发明实现的应用于FPAA的在系统编程ISP编程模块如图2所示,由器件ID寄存器1、旁路寄存器2、指令寄存器3、配置寄存器4、高压编程模块5、多路选择器6、指令译码逻辑7、ISP控制逻辑8、TAP控制器9、EEPROM阵列模块10、可编程开关阵列11、可编程电容阵列12、可编程电阻阵列13构成。该编程模块集成在FPAA器件中。
该编程模块的控制部分由ISP控制逻辑8和TAP控制器9构成。TAP控制器9是一个由模式TMS和时钟TCK驱动的Moore状态机;ISP控制逻辑8是针对FPAA的应用,在基于TAP状态机基础上设计的辅助控制逻辑,并由其对整个ISP模块发出控制命令。用户控制指令通过TDI由外设输入,在ISP控制逻辑8的控制下,用户控制指令被移入指令寄存器,再由指令译码电路翻译指令并执行相应的操作。
ISP控制逻辑8和TAP控制器9用于产生状态机的各个状态,控制TDI到TDO之间的连接通路,不仅可以选择数据寄存器和指令寄存器,而且还发出控制信号,例如,编程、擦除、校验等等。TAP控制器9的ASM图如图3所示,TAP控制器是一个由时钟和测试模式控制的状态机,共包含了16个工作状态,每个工作状态不仅与当前的TCK和TMS值有关,而且还与TAP状态机的前一个状态有关。TAP控制器的ASM图表基本上是对称的,通过一条路径控制数据寄存器的行为动作,用另一条路径控制TAP指令寄存器的行为动作。
FPAA的用户寄存器是由设计者定义的用于特殊目的的一些寄存器,它能够实现配置数据的下载、读出、以及验证。它们的结构为串行移位寄存器。如图2所示,用户寄存器由器件ID寄存器1、旁路寄存器2、配置寄存器4构成。
器件ID寄存器设计为32位,内容包括器件的类型、版本以及工艺制造信息等。IDCODE寄存器是一个能立即执行的寄存器,当电路启动,或着通过TRST端初始化。状态机进入Test-Logic-Reset指令状态时,连接TDI与TDO之间的便是IDCODE寄存器,用于校验电路型号是否正确。
旁路寄存器2占据一位,当没有其他寄存器被选中时,旁路寄存器在TDI与TDO之间提供一个一位的串行连接,旁路寄存器能够在不影响器件正常工作的情况下允许数据通过一个器件传入到另外一个器件,实现菊花链连接。这点在多个器件串行下载时很重要,不执行操作的器件,通过将旁路寄存器连接在TDI与TDO之间,这时其它的器件可以执行编程、擦除等操作。
配置寄存器4一般由N位串行寄存器构成,寄存器的个数依据PAC块的可要配置EEPROM单元个数而定。
指令寄存器3和指令译码逻辑7共同完成指令的存储与译码,并把命令信息传递到ISP控制逻辑8,控制ISP模块的运行。根据实际需要,增加指令并修改相应指令译码逻辑,可以完成用户特殊功能要求。
在进行ISP编程时,首先通过JTAG接口输入指令,控制集成在FPAA器件内JTAG TAP状态机的运行状态;其次是通过ISP控制逻辑8控制编程数据的传输、校验和编程;编程是由集成在FPAA芯片上的高压编程模块5对非易失性存储器EEPROM阵列模块10进行编程实现的。
FPAA的数据配置采用EEPROM编程控制传输门开关的方式。配置执行过程如下:编程时,下载移位寄存器中的数据在电荷泵高压下被一次性写入EEPROM存储单元中。写入完成后,ISP控制逻辑8会执行VERUSR(校验)指令将写入的信息读入用户寄存器,再由TDO输出来验证写入信息的正确性。
多路选择器6用于确定输出端TDO与各寄存器之间的连接关系,TDI与TDO之间连接的寄存器,由ISP控制逻辑8发出的控制信号决定。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定专利保护范围。
Claims (5)
1.一种在系统编程ISP编程模块,其特征在于:
所述ISP编程模块由器件ID寄存器(1)、旁路寄存器(2)、指令寄存器(3)、配置寄存器(4)、高压编程模块(5)、多路选择器(6)、指令译码逻辑(7)、ISP控制逻辑(8)、TAP控制器(9)、EEPROM阵列模块(10)、可编程开关阵列(11)、可编程电容阵列(12)和可编程电阻阵列(13)构成;所述ISP控制逻辑(8)和TAP控制器(9)构成该ISP编程模块的控制部分,用于产生状态机的各个状态,控制TDI到TDO之间的连接通路,用户控制指令通过TDI由外设输入,在ISP控制逻辑(8)的控制下,用户控制指令被移入指令寄存器,再由指令译码电路翻译指令并执行相应的操作;所述配置寄存器(4)一般由N位串行寄存器构成,寄存器的个数依据PAC块的配置EEPROM单元个数而定;所述指令寄存器(3)和指令译码逻辑(7)共同完成指令的存储与译码,并把命令信息传递到ISP控制逻辑(8),控制ISP模块的运行。
2.如权利要求1所述一种在系统编程ISP编程模块,其特征在于:所述TAP控制器是一个由时钟和测试模式控制的状态机,共包含了16个工作状态,每个工作状态不仅与当前的TCK和TMS值有关,而且还与TAP状态机的前一个状态有关;TAP控制器的ASM图表是对称的,通过一条路径控制数据寄存器的行为动作,用另一条路径控制TAP指令寄存器的行为动作。
3.如权利要求1所述一种在系统编程ISP编程模块,其特征在于:所述旁路寄存器(2)占据一位,当没有其他寄存器被选中时,旁路寄存器在TDI与TDO之间提供一个一位的串行连接,旁路寄存器能够在不影响器件正常工作的情况下允许数据通过一个器件传入到另外一个器件,实现菊花链连接。
4.基于权利要求1、2或3所述ISP编程模块的FPAA在系统编程方法,其特征在于:
(1)通过JTAG接口输入指令,控制集成在FPAA器件内JTAG TAP状态机的运行状态;
(2)通过ISP控制逻辑(8)控制编程数据的传输、校验和编程;
所述编程是由集成在FPAA芯片上的高压编程模块(5)对非易失性存储器EEPROM阵列模块(10)进行编程实现的。
5.基于权利要求4所述ISP编程模块的FPAA在系统编程方法,其特征在于,所述步骤(2)是指编程时,下载移位寄存器中的数据在电荷泵高压下被一次性写入EEPROM存储单元中。写入完成后,ISP控制逻辑(8)会执行校验指令将写入的信息读入用户寄存器,再由TDO输出来验证写入信息的正确性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102599902A CN101916588B (zh) | 2010-08-23 | 2010-08-23 | 一种在系统编程isp编程模块及其用于fpaa在系统编程的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102599902A CN101916588B (zh) | 2010-08-23 | 2010-08-23 | 一种在系统编程isp编程模块及其用于fpaa在系统编程的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101916588A true CN101916588A (zh) | 2010-12-15 |
CN101916588B CN101916588B (zh) | 2012-11-21 |
Family
ID=43324073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102599902A Expired - Fee Related CN101916588B (zh) | 2010-08-23 | 2010-08-23 | 一种在系统编程isp编程模块及其用于fpaa在系统编程的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101916588B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103842970A (zh) * | 2011-09-30 | 2014-06-04 | 高通股份有限公司 | 可动态地自重构的tap控制器菊花链 |
CN116453569A (zh) * | 2023-06-09 | 2023-07-18 | 南京沁恒微电子股份有限公司 | 一种在系统可编程pd芯片及其编程方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010037480A1 (en) * | 2000-04-28 | 2001-11-01 | Whetsel Lee D. | Dual mode test access port method and apparatus |
US20010037479A1 (en) * | 2000-04-28 | 2001-11-01 | Whetsel Lee D. | Selectable dual mode test access port method and apparatus |
US20020049928A1 (en) * | 2000-05-26 | 2002-04-25 | Whetsel Lee D. | 1149.1TAP linking modules |
US20050283692A1 (en) * | 2004-06-17 | 2005-12-22 | Whetsel Lee D | Direct scan access JTAG |
CN101201741A (zh) * | 2006-12-11 | 2008-06-18 | 上海华虹Nec电子有限公司 | 可在线系统编程的电路及在线系统编程的方法 |
-
2010
- 2010-08-23 CN CN2010102599902A patent/CN101916588B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010037480A1 (en) * | 2000-04-28 | 2001-11-01 | Whetsel Lee D. | Dual mode test access port method and apparatus |
US20010037479A1 (en) * | 2000-04-28 | 2001-11-01 | Whetsel Lee D. | Selectable dual mode test access port method and apparatus |
US20020049928A1 (en) * | 2000-05-26 | 2002-04-25 | Whetsel Lee D. | 1149.1TAP linking modules |
US20050283692A1 (en) * | 2004-06-17 | 2005-12-22 | Whetsel Lee D | Direct scan access JTAG |
CN101201741A (zh) * | 2006-12-11 | 2008-06-18 | 上海华虹Nec电子有限公司 | 可在线系统编程的电路及在线系统编程的方法 |
Non-Patent Citations (1)
Title |
---|
吕彩霞: "《JTAG的设计与研究》", 《中国优秀硕士学位论文全文数据库 信息技术辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103842970A (zh) * | 2011-09-30 | 2014-06-04 | 高通股份有限公司 | 可动态地自重构的tap控制器菊花链 |
CN116453569A (zh) * | 2023-06-09 | 2023-07-18 | 南京沁恒微电子股份有限公司 | 一种在系统可编程pd芯片及其编程方法 |
CN116453569B (zh) * | 2023-06-09 | 2023-09-15 | 南京沁恒微电子股份有限公司 | 一种在系统可编程pd芯片及其编程方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101916588B (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6748456B1 (en) | PLD configuration port architecture and logic | |
US7610528B2 (en) | Configuring flash memory | |
US6097211A (en) | Configuration memory integrated circuit | |
US7538577B2 (en) | System and method for configuring a field programmable gate array | |
US7804724B2 (en) | Method and apparatus for boundary scan programming of memory devices | |
US20160349320A1 (en) | Remote bus wrapper for testing remote cores using automatic test pattern generation and other techniques | |
US7333909B1 (en) | Method of and circuit for verifying a data transfer protocol | |
CN101865977A (zh) | 基于查找表结构的fpga可编程逻辑单元的遍历测试方法 | |
CN101211266A (zh) | 一种实现fpga自动下载和在线升级的方法 | |
US8301947B1 (en) | Dynamic scan chain grouping | |
CN102841306B (zh) | 一种fpga可编程逻辑单元的测试与定位方法 | |
CN104678240A (zh) | 用于在多个电力模式中测试电源的电路 | |
CN106291313B (zh) | 用于测试集成电路的方法和设备 | |
CN101076866B (zh) | 配置集成电路的系统和方法 | |
KR20110001084A (ko) | 메모리 칩 패키지 장치 | |
CN101916588B (zh) | 一种在系统编程isp编程模块及其用于fpaa在系统编程的方法 | |
CN110794283A (zh) | 一种电子芯片的测试系统 | |
CN101788646B (zh) | Fpga配置器件的ate测试方法 | |
CN101140315A (zh) | 一种jtag下载方式下fpga逻辑代码的下载方法及下载系统 | |
CN100523849C (zh) | 基于位数可选的EFlash串口测试方法 | |
US10386415B2 (en) | Mixed-signal integrated circuit | |
US7480843B1 (en) | Configuration access from a boundary-scannable device | |
CN109753394B (zh) | 一种实时调试固件配置信息的电路及方法 | |
US7023239B1 (en) | Automated boundary-scan chain composition method using a device database and access mechanism for storing and retrieving situation-dependent operation options | |
US7739566B2 (en) | Scan test circuitry using a state machine and a limited number of dedicated pins |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121121 Termination date: 20180823 |
|
CF01 | Termination of patent right due to non-payment of annual fee |