CN102789815B - 一种用于fpga配置的prom电路架构 - Google Patents

一种用于fpga配置的prom电路架构 Download PDF

Info

Publication number
CN102789815B
CN102789815B CN201210148171.XA CN201210148171A CN102789815B CN 102789815 B CN102789815 B CN 102789815B CN 201210148171 A CN201210148171 A CN 201210148171A CN 102789815 B CN102789815 B CN 102789815B
Authority
CN
China
Prior art keywords
data
controller
state
signal
hang
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.)
Active
Application number
CN201210148171.XA
Other languages
English (en)
Other versions
CN102789815A (zh
Inventor
陈雷
蒋玉东
刘增荣
陈煜�
郭晨光
周涛
李学武
张彦龙
孙华波
倪俊达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Aviation Airspace Spaceflight Technology Group Co No9 Academy No772 Research Institute
Mxtronics Corp
Original Assignee
China Aviation Airspace Spaceflight Technology Group Co No9 Academy No772 Research Institute
Mxtronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Aviation Airspace Spaceflight Technology Group Co No9 Academy No772 Research Institute, Mxtronics Corp filed Critical China Aviation Airspace Spaceflight Technology Group Co No9 Academy No772 Research Institute
Priority to CN201210148171.XA priority Critical patent/CN102789815B/zh
Publication of CN102789815A publication Critical patent/CN102789815A/zh
Application granted granted Critical
Publication of CN102789815B publication Critical patent/CN102789815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明介绍了一种用于FPGA配置的PROM电路架构,采用模块化设计,通过增加特定功能的外围电路,将FLASH存储器设计为可存储FPGA配置数据,并且可适应FPGA不同配置模式需求的PROM电路,最终能够完成边界扫描模式、串行模式或者并行模式下FPGA的独立配置。采用此电路架构的PROM可以通过级联的方式进行容量扩充,并且兼容IEEE 1149.1及IEEE1532边界扫描标准,这极大提升了面向FPGA应用的灵活性。

Description

一种用于FPGA配置的PROM电路架构
技术领域
本发明涉及一种PROM电路架构,特别是一种针对FPGA配置应用而优化了的PROM电路架构,属于集成电路领域。
背景技术
图1是一个现场可编程门阵列(FPGA,Field Programmable Gate Array)的配置接口示意图。在此处为了方便示意FPGA100器件的配置原理,仅仅将其与配置相关的接口信号标注了出来,主要包括:配置数据输入信号DIN[7:0]、模式选择引脚MODE PINS、FPGA配置时钟信号CCLK、配置完成信号DONE、配置初始化信号INITn、编程使能信号PROGRAMn、测试数据输入信号TDI、测试模式选择信号TMS、测试时钟信号TCK和测试数据输出信号TDO。
针对FPGA100器件的配置,一般存在边界扫描模式、串行模式和并行模式三种配置方式。在边界扫描模式下,FPGA100器件与相应的配置存储器件通过各自边界扫描电路的TAP接口级联形成串行扫描链路,配置数据从DIN[0]端送入FPGA100器件;在串行模式下,数据输入信号DIN[7:0]的第一位DIN[0]会作为FPGA100器件配置所需的串行数据输入端;在并行模式下,数据输入信号DIN[7:0]会作为FPGA100器件配置所需的并行数据输入信号。
传统的FLASH存储器无法直接应用于FPGA100器件的配置,必须通过增加特定功能的外围电路,以达到适应FPGA100器件不同配置模式需求的目的。在存储容量上,直接采用大容量的FLASH存储器不利于减小芯片体积外形,也不利于降低封装成本,因此设计一款可通过级联方式进行容量扩容的PROM芯片就显得非常有意义。在应用上,现今FPGA100器件大多都支持IEEE 1149.1或者IEEE 1532边界扫描标准,因而有必要将IEEE 1149.1及IEEE 1532边界扫描标准应用于PROM芯片中边界扫描电路的优化设计当中,以便拥有更灵活的应用特性。
发明内容
本发明的技术解决问题是:克服现有技术的不足之处,提供一种针对FPGA配置应用而优化了的PROM电路架构,解决了传统的FLASH存储器无法直接满足FPGA不同配置模式需求的问题,并且克服了单个PROM芯片存储容量过小、不利于配置规模扩充的问题。
本发明的技术解决方案是:
一种用于FPGA配置的PROM电路架构,包括FLASH存储器201、JTAG控制器202、FLASH控制器203、并串转换电路204、时钟复位电路205、上电复位电路206、晶振207和BIST控制器208;
时钟复位电路205给JTAG控制器202、FLASH控制器203、并串转换电路204和BIST控制器208提供时钟信号和复位信号,同时时钟复位电路205还给晶振207提供使能信号,晶振207给时钟复位电路205提供时钟,上电复位电路206给时钟复位电路205提供上电复位脉冲;
FLASH存储器201、JTAG控制器202、并串转换电路204和BIST控制器208均与FLASH控制器203连接并且进行数据交互,FLASH存储器201用于存储FPGA配置数据,JTAG控制器202通过FLASH控制器203对存储在FLASH存储器201中的FPGA配置数据进行控制操作,通过FLASH控制器203与并串转换电路204进行数据交互,由并串转换电路204进行数据并串转换并输出给FPGA芯片进行配置。
所述JTAG控制器202包括TAP状态机301、指令译码器302、指令寄存器303、多路选择器304、帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310;
JTAG控制器202的测试数据输入信号同时连接到指令寄存器303、帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310的数据输入端;帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310分别接收指令译码器302输出的寄存器使能信号用于寄存器数据通路选择,
JTAG控制器202通过帧数据寄存器305和帧地址寄存器306分别完成与FLASH控制器203之间的数据交互和地址交互;
帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310的数据输出端同时与多路选择器304的一个输入端相连,多路选择器304的另一个输入端与指令寄存器303的数据输出端相连,多路选择器304的输出信号即为JTAG控制器202的测试数据输出信号;
多路选择器304的信号选择端与TAP状态机301输出的选择信号相连;指令寄存器303还接收TAP状态机301输出的指令控制信号,同时指令寄存器303输出指令数据信号给指令译码器302;指令译码器302接收TAP状态机301输出的状态控制信号,并与FLASH控制器203进行控制信号的交互。
所述FLASH控制器203包括写控制器501、写接口电路502、读控制器503、读接口电路504、擦除控制器505、擦除接口电路506、配置控制器507和缓存508;
时钟复位电路205提供的工作时钟信号同时连接到写控制器501的时钟端和擦除控制器505的时钟端,时钟复位电路205提供的同步复位信号同时连接到写控制器501的复位端、读控制器503的复位端和擦除控制器505的复位端;
读控制器503的时钟端与时钟复位电路205提供的JTAG时钟信号相连,配置控制器507的时钟端与时钟复位电路205提供的配置时钟信号相连,配置控制器507的复位端与外部输入的输出使能复位信号相连;FLASH控制器203与JTAG控制器202或并串转换电路204之间进行交互的数据和地址均存放在缓存508之中;
写控制器501和读控制器503均通过缓存508与JTAG控制器202连接,并通过缓存508与JTAG控制器202之间进行数据交互和地址交互;配置控制器507通过缓存508与并串转换电路204连接,并通过缓存508与并串转换电路204之间进行数据交互和地址交互;写控制器501、读控制器503、擦除控制器505和配置控制器507直接与JTAG控制器202连接进行控制信号的交互,配置控制器507还直接与并串转换电路204连接进行控制信号的交互;
写控制器501、读控制器503和擦除控制器505分别依次通过写接口电路502、读接口电路504和擦除接口电路506与FLASH存储器201连接并进行交互;JTAG控制器202通过FLASH控制器203中的配置控制器507将FLASH存储器201中存储的FPGA配置数据通过缓存508与并串转换电路204进行交互。
所述写控制器501的具体工作方式为:
在时钟复位电路205提供的工作时钟信号和同步复位信号的作用下,写控制器501进入状态601;进入状态601之后,在所述工作时钟信号和JTAG控制器202的控制信号的作用下,工作步骤依次为:状态602、状态603、状态604和状态605;进入状态605之后,若当前写次数未达到预定最大写入次数则进入状态606,否则进入状态607;进入状态606之后,若完成更新缓存过程,则写控制器501进入状态603;
所述状态601为写入初始化过程;
所述状态602为取地址及数据过程,该状态下写控制器501从缓存508中取出用于所述FLASH存储器201写入的数据及相关地址信息;
所述状态603为开始写过程,即写控制器501通过所述写接口电路502开始向所述FLASH存储器201写入数据的准备过程;
所述状态604为等待过程,即写控制器501将从缓存508中取出的数据通过所述写接口电路502写入所述FLASH存储器201的过程;
所述状态605为写计数过程,该状态下写控制器501进行写次数统计,并与预定最大写次数进行比较,该最大写次数与缓存508的容量相关;
所述状态606为更新缓存过程,该状态下缓存508从所述JTAG控制器202的帧地址寄存器306和帧数据寄存器305中更新地址及数据;
所述状态607为完成过程,该状态标识所述FLASH存储器201的数据写入过程顺利完成。
所述读控制器503的具体工作步骤为:
在JTAG时钟信号和同步复位信号的作用下,读控制器503进入状态611;进入状态611之后,在JTAG时钟信号和JTAG控制器202的控制信号的作用下,工作步骤依次为:状态612、状态613、状态614和状态615;进入状态615之后,若当前读次数未达到预定最大读次数则进入状态616,否则进入状态617;进入状态616之后,若完成更新地址过程,则读控制器503进入状态613;
所述状态611为读初始化过程;
所述状态612为取地址过程,该状态下读控制器503从所述JTAG控制器202的帧地址寄存器306中取出用于读出所述FLASH存储器201中所存储数据的起始地址信息;
所述状态613为开始读过程,即读控制器503通过所述读接口电路504开始从所述FLASH存储器201读出数据的准备过程;
所述状态614为等待过程,即读控制器503通过读接口电路504从所述FLASH存储器201读出数据,并写入所述帧数据寄存器305的过程;
所述状态615为读计数过程,该状态下读控制器503进行读次数统计,并与预定最大读次数进行比较;
所述状态616为更新地址过程,该状态下读控制器503从所述JTAG控制器202的帧地址寄存器306中更新地址信息;
所述状态617为完成过程,该状态标识所述FLASH存储器201的数据读出过程顺利完成。
所述擦除控制器505的具体工作步骤为:
在工作时钟信号和同步复位信号的作用下,擦除控制器505进入状态621;进入状态621之后,在工作时钟信号和JTAG控制器202的控制信号的作用下,工作步骤依次为:状态622和状态623;进入状态623之后,若擦除未完成则继续保持状态623,否则进入状态624;
所述状态621为擦除初始化过程;
所述状态622为开始擦除过程,即擦除控制器505通过所述擦除接口电路506开始对所述FLASH存储器201进行擦除的准备过程;
所述状态623为等待过程,即擦除控制器505通过所述擦除接口电路506对所述FLASH存储器201进行擦除的过程;
所述状态624为完成过程,该状态标识所述FLASH存储器201的数据擦除过程顺利完成。
所述配置控制器507的具体工作步骤为:
在配置时钟信号和输出使能复位信号的作用下,配置控制器507进入状态631;进入状态631之后,在配置时钟信号和JTAG控制器202的控制信号的作用下,工作步骤依次为:状态632和状态633;进入状态633之后,若当前与配置相关的地址计数次数未达到预定最大次数则返回状态632,否则进入状态634;
所述状态631为配置初始化过程;
所述状态632为发送地址过程,即配置控制器507通过所述FLASH存储器201的地址信号端向所述FLASH存储器201发送地址;
所述状态633为返回数据过程,即所述FLASH存储器201通过数据输出信号端向配置控制器507输出数据,同时配置控制器507完成与所述并串转换电路204之间控制信号交互,并通过缓存508完成与所述并串转换电路204之间的数据交互和地址交互;该状态下配置控制器507进行配置地址计数,并与预定最大计数次数进行比较;
所述状态634为完成过程,该状态标识所述FLASH存储器201的数据配置过程顺利完成。
所述并串转换电路204的具体工作方式为:
在配置时钟信号和转换复位信号的作用下,并串转换电路204进入状态701;进入状态701之后,在配置时钟信号和配置控制器507的控制信号的作用下,进入状态702;进入状态702之后,若当前数据转换模式为将N位数据转换为1位串行数据输出,则进入状态703,若当前数据转换模式为将N位数据转换为8位并行数据输出,则进入状态707;进入状态703之后,在配置时钟信号和配置控制器507的控制信号的作用下,工作步骤依次为:状态704和状态705;进入状态705之后,若取数计数次数未达到预定最大次数则返回状态703,否则进入状态706;进入状态707之后,在配置时钟信号和配置控制器507的控制信号的作用下,工作步骤依次为:状态708和状态709;进入状态709之后,若取数计数次数未达到预定最大次数则返回状态707,否则进入状态710;所述取数计数次数是指将N位数据串行或者并行输出的计数次数,串行输出的一次计数过程是指从N位数据中取一位数据,并行输出的一次计数过程是指从N位数据中取八位数据;N为8的整数倍
所述状态701为并串转换电路204初始化过程;
所述状态702为将位宽为N的数据取入并串转换电路204的过程,该数据一次并行取入并串转换电路204;
所述状态703为在将N位数据转换为1位串行数据输出模式下的数据准备过程;
所述状态704为在将N位数据转换为1位串行数据输出模式下的数据移位过程,该状态下并串转换电路204进行1位数据取数操作,同时串行输出所取的数据;
所述状态705为取数计数过程,该状态下并串转换电路204进行取数次数统计,并与预定最大次数N次进行比较;
所述状态706为在将N位数据转换为1位串行数据输出模式下的数据转换完成过程,该状态标识并串转换电路204顺利将所取位宽为N的数据转换为1位串行数据输出;
所述状态707为在将N位数据转换为8位并行数据输出模式下的数据准备过程;
所述状态708为在将N位数据转换为8位并行数据输出模式下的数据移位过程,该状态下并串转换电路204进行8位数据取数操作,同时并行输出所取的数据;
所述状态708为取数计数过程,该状态下并串转换电路204进行取数次数统计,并于预定最大次数进行比较,若N为8的整数倍,则该预定最大次数为N/8,若N不为8的整数倍,则该预定最大次数为N/8取整加1;
所述状态710为在将N位数据转换为8位并行数据输出模式下的数据转换完成过程,该状态标识并串转换电路204顺利将所取位宽为N的数据转换为8位并行数据输出。
所述BIST控制器208的具体工作步骤为:
在内建自测试时钟信号和内建自测试复位信号的作用下,BIST控制器208进入状态801;进入状态801之后,在内建自测试时钟信号和FLASH控制器203的控制信号作用下,工作步骤依次为:状态802、状态803、状态804和状态805;进入状态805之后,BIST控制器208输出内建自测试标识信号并返回状态801;所述内建自测试标识信号表示自测试成功或者不成功;
所述状态801为BIST控制器208空闲状态;
所述状态802为BIST控制器208控制所述FLASH控制器203对FLASH存储器201进行数据擦除的过程;
所述状态803为BIST控制器208控制所述FLASH控制器203对FLASH存储器201进行数据写的过程;
所述状态804为BIST控制器208控制所述FLASH控制器203对FLASH存储器201进行数据读的过程;
所述状态805为内建自测试完成过程,该状态下BIST控制器208输出内建自测试标识信号。
本发明与现有技术相比的有益效果是:
(1)与传统的FLASH存储器相比,采用本发明提供的PROM电路架构可以满足FPGA器件在边界扫描模式、串行模式或者并行模式下的配置需求;
(2)采用本发明提供的PROM电路架构可以通过级联的方式进行容量扩充,克服了单个PROM芯片存储容量过小、不利于配置规模扩充的问题;
(3)采用本发明提供的PROM电路架构兼容IEEE 1149.1及IEEE 1532边界扫描标准,极大提升了面向FPGA应用的灵活性。
附图说明
图1为FPGA器件配置接口示意图;
图2为本发明PROM电路架构的模块详图;
图3为图2中JTAG控制器的模块详图;
图4为IEEE 1149.1标准所规定的TAP状态机的状态转移图;
图5为图2中FLASH控制器的模块详图;
图6为图5中写控制器、读控制器、擦除控制器和配置控制器的工作状态转移图;
图7为图2中并串转换电路的工作状态转移图;
图8为图2中BIST控制器的工作状态转移图;
图9为使用本发明PROM电路在边界扫描模式下配置FPGA的电路结构示意图;
图10为使用本发明PROM电路在串行模式下配置FPGA的电路结构示意图;
图11为使用本发明PROM电路在并行模式下配置FPGA的电路结构示意图。
具体实施方式
图1为FPGA 100器件配置接口示意图,其与配置相关的接口信号主要包括:配置数据输入信号DIN[7:0]、模式选择引脚MODE PINS、FPGA配置时钟信号CCLK、配置完成信号DONE、配置初始化信号INITn、编程使能信号PROGRAMn、测试数据输入信号TDI、测试模式选择信号TMS、测试时钟信号TCK和测试数据输出信号TDO。其中,测试数据输入信号TDI、测试模式选择信号TMS、测试时钟信号TCK和测试数据输出信号TDO也是FPGA器件中边界扫描电路所专用的信号。
图2为本发明PROM 200电路架构的模块详图,包括FLASH存储器201、JTAG控制器202、FLASH控制器203、并串转换电路204、时钟复位电路205、上电复位电路206、晶振207和BIST控制器208。
FLASH存储器201的地址信号端Addr、片选信号端CE、数据输入信号端DIN、输出使能信号端OE和写使能信号端WE与FLASH控制器203的输出信号相连,FLASH存储器201输出的READY/BUSY信号RDYBSY和数据输出信号DOUT连接到FLASH控制器203的输入端;JTAG控制器202接收外部输入的测试数据输入信号TDI和测试模式选择信号TMS,以及时钟复位电路205输出的JTAG时钟信号TTCK和测试异步复位信号TRST,JTAG控制器202还通过写控制总线2001、读控制总线2002、擦除控制总线2003、配置控制总线2004、JTAG地址总线2005和JTAG数据交换总线2006完成与FLASH控制器203之间的数据交换,JTAG控制器202输出测试数据输出信号TDO给外部;FLASH控制器203接收时钟复位电路205输出的JTAG时钟信号TTCK、配置时钟信号ICCLK、工作时钟信号WCLK和同步复位信号RST,并通过输出控制总线2007、输出地址总线2008和输出数据交换总线2009完成与并串转换电路204之间的数据交换,FLASH控制器203还通过内建自测试控制总线2010完成与BIST控制器208之间的数据交换。
并串转换电路204分别与BIST控制器208输出的内建自测试标识信号bist、第一控制使能信号CEn、时钟复位电路205输出的配置时钟信号ICCLK和转换复位信号PS_RST相连作为输入信号,并串转换电路204输出第一数据信号D[0]/BIST_DONE、数据信号D[7:1]、第二控制使能信号CEO和配置信号CFn;上电复位电路206为时钟复位电路205提供上电复位脉冲POR,时钟复位电路205还接收测试时钟信号TCK、时钟信号CLK、输出使能复位信号OE/RSTn和晶振207输出的晶振时钟信号OCLK,并输出内建自测试时钟信号b_clk和内建自测试复位信号b_rst给BIST控制器208,同时输出晶振使能信号OEN连接到晶振207的使能端。
本发明采用模块化设计,以FLASH存储器201为核心存储模块,通过增加特定功能的电路模块,使得所设计的PROM 200电路适应于FPGA 100器件的不同配置模式需求。其中:
FLASH存储器201:用于存储FPGA 100器件所需的配置数据,该配置数据是通过JTAG控制器202的测试数据输入信号TDI写入的;
JTAG控制器202:用于本发明PROM 200电路中边界扫描电路的控制,并根据FLASH控制器203的工作行为实现相应控制逻辑的译码输出以及地址和数据交换;JTAG控制器202在设计上完全兼容IEEE 1149.1和IEEE 1532边界扫描标准,能够与同样兼容IEEE 1149.1或者IEEE 1532边界扫描标准的FPGA 100器件通过各自边界扫描电路的TAP接口级联形成串行扫描链路;
FLASH控制器203:用于控制FLASH存储器201的工作行为并与其进行地址和数据交换,该模块是其余模块与FLASH存储器201之间数据交换的中转站;
并串转换电路204:用于将FLASH控制器203通过输出数据交换总线2009送入的位宽为N的数据信号转换为特定位宽的数据信号,包括1位宽的第一数据信号D[0]/BIST_DONE或者8位宽的数据信号D[7:1]和第一数据信号D[0]/BIST_DONE;该模块还用于接收第一控制使能信号CEn及输出第二控制使能信号CEO和配置信号CFn,并通过输出地址总线2008实现与FLASH控制器203的控制信号交换;该模块还可以实现输出端口复用的功能,将BIST控制器208输出的内建自测试标识信号bist与D[0]合并生成第一数据信号D[0]/BIST_DONE,当PROM 200电路进行内建自测试时,第一数据信号D[0]/BIST_DONE可用于标识内建自测试成功与否,其余情况下用于数据输出;
时钟复位电路205:用于生成PROM 200电路内部模块工作所需的时钟信号及复位信号;
上电复位电路206:能够提供一个短暂的上电复位脉冲POR,用于初始化时钟复位电路205;
晶振207:接收时钟复位电路205提供的晶振使能信号OEN,若晶振使能信号OEN有效则为时钟复位电路205提供晶振时钟信号OCLK;其中,晶振时钟信号OCLK可以参与生成JTAG时钟信号TTCK、工作时钟信号WCLK或者内建自测试时钟信号b_clk;
BIST控制器208:通过内建自测试控制总线2010触发FLASH控制器203的擦除、写和读操作,完成PROM 200电路的功能验证;该内建自测试控制总线2010中包含JTAG控制器202通过其余控制总线引入的内建自测试控制信号。
图3所示为图2中JTAG控制器202的模块详图,包括TAP状态机301、指令译码器302、指令寄存器303、多路选择器304、帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310,其中:
TAP状态机301:是一个16状态的有效状态机,如图4所示,TAP状态机301与指令寄存器303控制了边界扫描电路专用测试存取端口(TCK、TMS、TDI和TDO)的数据通路;
指令译码器302:用于接收指令寄存器303并行输出的指令代码,以及接收PROM 200芯片中的一些全局控制信号,从而译码输出边界扫描电路所需的各种控制信号;
指令寄存器303:指令寄存器限定了PROM 200芯片操作指令并控制了边界扫描电路的内部数据通路,一条指令定义了扫描操作过程中在测试数据输入信号TDI和测试数据输出信号TDO之间连接的串行数据寄存器;
帧数据寄存器305和帧地址寄存器306:分别用于存储面向PROM 200芯片中FLASH存储器201的数据和地址信息;
边界扫描寄存器307:由围绕在芯片核心逻辑周围的边界扫描单元组成,能够完成数据移位,数据捕获和数据加载等操作;
旁路寄存器308:用于旁路PROM 200芯片,从而在板级测试时缩短测试数据输入信号TDI和测试数据输出信号TDO之间的扫描路径,旁路寄存器308的基本结构是一个触发器;
设备标识寄存器309:常也被称为IDCODE寄存器,用于存储PROM 200芯片的ID编码,通常为32位的数据寄存器,可存储制造厂商信息、版本信息和器件型号信息等;
用户编码寄存器310:用于存储PROM 200芯片中由用户定义的器件相关信息。
测试数据输入信号TDI同时连接到指令寄存器303、帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310的数据输入端;帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310分别接收指令译码器302输出的寄存器使能信号3001~3007,用于寄存器数据通路选择,帧数据寄存器305还与JTAG数据交换总线2006相连,帧地址寄存器306还与JTAG地址总线2005相连;帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310的数据输出端同时与多路选择器304的一个输入端DDATA相连,多路选择器304的另一个输入端IDATA与指令寄存器303的数据输出端相连,多路选择器304的输出端与测试数据输出信号TDO相连,多路选择器304的信号选择端与TAP状态机301输出的选择信号Select相连;指令寄存器303还接收TAP状态机301输出的指令控制信号3009,同时输出指令数据信号3008给指令译码器302;指令译码器302接收TAP状态机301输出的状态控制信号3010,并通过写控制总线2001、读控制总线2002、擦除控制总线2003和配置控制总线2004与所述FLASH控制器203相连;TAP状态机301的三个输入端分别与测试模式选择信号TMS、JTAG时钟信号TTCK和测试异步复位信号TRST相连。
当PROM 200电路上电时,上电复位电路206能够提供一个短暂的上电复位脉冲POR,用于初始化时钟复位电路205,使得测试异步复位信号TRST变为低电平,从而使JTAG控制器202中的TAP状态机301处于图4所示的TEST LOGIC RESET状态。TAP状态机301的功能设计完全依据IEEE 1149.1标准和IEEE 1532边界扫描标准,其输入的测试模式选择信号TMS和JTAG时钟信号TTCK用于状态转换,测试异步复位信号TRST用于异步复位。测试数据输入信号TDI和测试数据输出信号TDO之间的数据通路选择由指令译码器302输出的寄存器使能信号3001~3007和TAP状态机301输出的选择信号Select共同完成,具体表现为:在载入指令的过程中,TAP状态机301将指令寄存器303置于测试数据输入信号TDI和测试数据输出信号TDO之间的数据通路中;指令生效后,指令译码器302根据当前指令将寄存器使能信号3001~3007中的一个信号置为高电平,从而将相应的测试数据寄存器置于测试数据输入信号TDI和测试数据输出信号TDO之间的数据通路中。指令寄存器303、帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310的功能设计也完全依据IEEE 1149.1标准和IEEE 1532边界扫描标准。JTAG控制器202还通过指令译码器302为写控制总线2001、读控制总线2002、擦除控制总线2003、配置控制总线2004和内建自测试控制总线2010提供相应操作所需的控制信号。
图5所示为图2中FLASH控制器203的模块详图,包括写控制器501、写接口电路502、读控制器503、读接口电路504、擦除控制器505、擦除接口电路506、配置控制器507和缓存508。
工作时钟信号WCLK同时连接到写控制器501的时钟端和擦除控制器505的时钟端,同步复位信号RST同时连接到写控制器501的复位端、读控制器503的复位端和擦除控制器505的复位端,读控制器503的时钟端与JTAG时钟信号TTCK相连,配置控制器507的时钟端与配置时钟信号ICCLK相连,配置控制器507的复位端与输出使能复位信号OE/RSTn相连;JTAG地址总线2005、JTAG数据交换总线2006、输出地址总线2008和输出数据交换总线2009同时与缓存508相连。
写控制器501通过写控制总线2001、JTAG地址总线2005和JTAG数据交换总线2006与所述JTAG控制器202相连,同时通过写地址总线5001和写数据总线5002与写接口电路502相连,写控制器501还输出写使能信号PENA给写接口电路502,并接收写接口电路502输出的写完成信号POK;写接口电路502接收所述FLASH存储器201输出的READY/BUSY信号RDYBSY,并输出地址信号Addr、写使能信号WE和数据输入信号给DIN所述FLASH存储器201。
读控制器503通过读控制总线2002、JTAG地址总线2005和JTAG数据交换总线2006与所述JTAG控制器202相连,同时通过读地址总线5003和读数据总线5004与读接口电路504相连,读控制器503还输出读使能信号RENA给读接口电路504,并接收读接口电路504输出的读完成信号ROK;读接口电路504接收所述FLASH存储器201输出的READY/BUSY信号RDYBSY和数据输出信号DOUT,并输出地址信号Addr和输出使能信号OE给所述FLASH存储器201。
擦除控制器505通过擦除控制总线2003与所述JTAG控制器202相连,擦除控制器505还输出擦除使能信号EENA给擦除接口电路506,并接收擦除接口电路506输出的擦除完成信号EOK;擦除接口电路506接收所述FLASH存储器201输出的READY/BUSY信号RDYBSY,并输出地址信号Addr、写使能信号WE和数据输入信号DIN给所述FLASH存储器201。
配置控制器507通过配置控制总线2004与所述JTAG控制器202相连,同时通过输出控制总线2007、输出地址总线2008和输出数据交换总线2009完成与所述并串转换电路204之间的数据交换,配置控制器507还接收第一控制使能信号CEn、所述FLASH存储器201输出的READY/BUSY信号RDYBSY和数据输出信号DOUT,并输出地址信号Addr给所述FLASH存储器201。
图6为图5中写控制器501、读控制器503、擦除控制器505和配置控制器507的工作状态转移图。
所述写控制器501的具体工作步骤为:
在工作时钟信号WCLK和同步复位信号RST的作用下,写控制器501进入状态601;进入状态601之后,在工作时钟信号WCLK和写控制总线2001中控制信号的作用下,工作步骤依次为:状态602、状态603、状态604和状态605;进入状态605之后,若当前写次数未达到预定最大写次数则进入状态606,否则进入状态607;进入状态606之后,若完成更新缓存过程,则写控制器501进入状态603;
所述状态601为写初始化过程;
所述状态602为取地址及数据过程,该状态下写控制器501从缓存508中取出用于所述FLASH存储器201写入的数据及相关地址信息;
所述状态603为开始写过程,即写控制器501通过所述写接口电路502开始向所述FLASH存储器201写入数据的准备过程;
所述状态604为等待过程,即写控制器501将从缓存508中取出的数据通过所述写接口电路502写入所述FLASH存储器201的过程;
所述状态605为写计数过程,该状态下写控制器501进行写次数统计,并与预定最大写次数进行比较,该最大写次数与缓存508的容量相关;
所述状态606为更新缓存过程,该状态下缓存508通过JTAG地址总线2005和JTAG数据交换总线2006,从所述JTAG控制器202的帧地址寄存器306和帧数据寄存器305中更新地址及数据;
所述状态607为完成过程,该状态标识所述FLASH存储器201的数据写入过程顺利完成。
所述读控制器503的具体工作步骤为:
在JTAG时钟信号TTCK和同步复位信号RST的作用下,读控制器503进入状态611;进入状态611之后,在JTAG时钟信号TTCK和读控制总线2002中控制信号的作用下,工作步骤依次为:状态612、状态613、状态614和状态615;进入状态615之后,若当前读次数未达到预定最大读次数则进入状态616,否则进入状态617;进入状态616之后,若完成更新地址过程,则读控制器503进入状态613;
所述状态611为读初始化过程;
所述状态612为取地址过程,该状态下读控制器503通过JTAG地址总线2005从所述JTAG控制器202的帧地址寄存器306中取出用于读出所述FLASH存储器201中所存储数据的起始地址信息;
所述状态613为开始读过程,即读控制器503通过所述读接口电路504开始从所述FLASH存储器201读出数据的准备过程;
所述状态614为等待过程,即读控制器503通过读接口电路504从所述FLASH存储器201读出数据,并通过JTAG数据交换总线2006写入所述帧数据寄存器305的过程;
所述状态615为读计数过程,该状态下读控制器503进行读次数统计,并与预定最大读次数进行比较;
所述状态616为更新地址过程,该状态下读控制器503通过JTAG地址总线2005从所述JTAG控制器202的帧地址寄存器306中更新地址信息;
所述状态617为完成过程,该状态标识所述FLASH存储器201的数据读出过程顺利完成。
所述擦除控制器505的具体工作步骤为:
在工作时钟信号WCLK和同步复位信号RST的作用下,擦除控制器505进入状态621;进入状态621之后,在工作时钟信号WCLK和擦除控制总线2003中控制信号的作用下,工作步骤依次为:状态622和状态623;进入状态623之后,若擦除未完成则继续保持状态623,否则进入状态624;
所述状态621为擦除初始化过程;
所述状态622为开始擦除过程,即擦除控制器505通过所述擦除接口电路506开始对所述FLASH存储器201进行擦除的准备过程;
所述状态623为等待过程,即擦除控制器505通过所述擦除接口电路506对所述FLASH存储器201进行擦除的过程;
所述状态624为完成过程,该状态标识所述FLASH存储器201的数据擦除过程顺利完成。
所述配置控制器507的具体工作步骤为:
在配置时钟信号ICCLK和输出使能复位信号OE/RSTn的作用下,配置控制器507进入状态631;进入状态631之后,在配置时钟信号ICCLK和配置控制总线2004中控制信号的作用下,工作步骤依次为:状态632和状态633;进入状态633之后,若当前与配置相关的地址计数次数未达到预定最大次数则返回状态632,否则进入状态634;
所述状态631为配置初始化过程;
所述状态632为发送地址过程,即配置控制器507通过所述FLASH存储器201的地址信号端Addr向所述FLASH存储器201发送地址;
所述状态633为返回数据过程,即所述FLASH存储器201通过数据输出信号端DOUT向配置控制器507输出数据,同时配置控制器507通过输出控制总线2007、输出地址总线2008和输出数据交换总线2009完成与所述并串转换电路204之间的数据交换;该状态下配置控制器507进行配置地址计数,并与预定最大计数次数进行比较;
所述状态634为完成过程,该状态标识所述FLASH存储器201的数据配置过程顺利完成。
图7所示为图2中并串转换电路的工作状态转移图,所述并串转换电路204的具体工作步骤为:
在配置时钟信号ICCLK和转换复位信号PS_RST的作用下,并串转换电路204进入状态701;进入状态701之后,在配置时钟信号ICCLK和输出控制总线2007中控制信号的作用下,进入状态702;进入状态702之后,若当前数据转换模式为将N位数据转换为1位串行数据输出,则进入状态703,若当前数据转换模式为将N位数据转换为8位并行数据输出,则进入状态707;进入状态703之后,在配置时钟信号ICCLK和输出控制总线2007中控制信号的作用下,工作步骤依次为:状态704和状态705;进入状态705之后,若取数计数次数未达到预定最大次数则返回状态703,否则进入状态706;进入状态707之后,在配置时钟信号ICCLK和输出控制总线2007中控制信号的作用下,工作步骤依次为:状态708和状态709;进入状态709之后,若取数计数次数未达到预定最大次数则返回状态707,否则进入状态710;所述取数计数次数是指将N位数据串行或者并行输出的计数次数,串行输出的一次计数过程是指从N位数据中取一位数据,并行输出的一次计数过程是指从N位数据中取八位数据;
所述状态701为并串转换电路204初始化过程;
所述状态702为将位宽为N的数据取入并串转换电路204的过程,N的取值可以在设计时自行定义,一般可以定义为8的整数倍,如64位、128位等,该数据一次并行取入并串转换电路204;
所述状态703为在将N位数据转换为1位串行数据输出模式下的数据准备过程;
所述状态704为在将N位数据转换为1位串行数据输出模式下的数据移位过程,该状态下并串转换电路204进行1位数据取数操作,并通过所述第一数据信号D[0]/BIST_DONE端串行输出所取的数据;
所述状态705为取数计数过程,该状态下并串转换电路204进行取数次数统计,并与预定最大次数N次进行比较;
所述状态706为在将N位数据转换为1位串行数据输出模式下的数据转换完成过程,该状态标识并串转换电路204顺利将所取位宽为N的数据转换为1位串行数据输出;
所述状态707为在将N位数据转换为8位并行数据输出模式下的数据准备过程;
所述状态708为在将N位数据转换为8位并行数据输出模式下的数据移位过程,该状态下并串转换电路204同时进行8位数据取数操作,并通过所述第一数据信号端D[0]/BIST_DONE及所述数据信号D[7:1]端并行输出所取的数据;
所述状态709为取数计数过程,该状态下并串转换电路204进行取数次数统计,并于预定最大次数进行比较,若N为8的整数倍,则该预定最大次数为N/8,若N不为8的整数倍,则该预定最大次数为N/8取整加1;
所述状态710为在将N位数据转换为8位并行数据输出模式下的数据转换完成过程,该状态标识并串转换电路204顺利将所取位宽为N的数据转换为8位并行数据输出。
图8所示为图2中BIST控制器的工作状态转移图,所述BIST控制器208的具体工作步骤为:
在内建自测试时钟信号b_clk和内建自测试复位信号b_rst的作用下,BIST控制器208进入状态801;进入状态801之后,在内建自测试时钟信号b_clk和内建自测试控制总线2010中控制信号的作用下,工作步骤依次为:状态802、状态803、状态804和状态805;进入状态805之后,BIST控制器208输出内建自测试标识信号并返回状态801;
所述状态801为BIST控制器208空闲状态;
所述状态802为BIST控制器208通过内建自测试控制总线2010触发所述FLASH控制器203对FLASH存储器201进行数据擦除的过程;
所述状态803为BIST控制器208通过内建自测试控制总线2010触发所述FLASH控制器203对FLASH存储器201进行数据写入的过程;
所述状态804为BIST控制器208通过内建自测试控制总线2010触发所述FLASH控制器203对FLASH存储器201进行数据读的过程;
所述状态805为内建自测试完成过程,该状态下BIST控制器208输出内建自测试标识信号bist。
基于以上设计,本发明所设计的用于FPGA 100配置的PROM 200电路可以通过JTAG指令进行控制,整个电路的写、读、擦除、配置和内建自测试操作都可以通过JTAG控制器202进行初始化,并且FPGA 100器件所需的配置数据是储存在FLASH存储器201中的。
图9所示为使用本发明PROM 200电路在边界扫描模式下配置FPGA的电路结构示意图,包括主PROM 200电路(First PROM)901、从PROM 200电路(Cascaded PROM)902和FPGA 100器件,具体连接方式为:
通过模式选择引脚MODE PINS将FPGA 100器件配置模式置于边界扫描模式下,将FPGA 100器件的配置数据输入信号DIN[0]、FPGA配置时钟信号CCLK、配置完成信号DONE、配置初始化信号INITn和编程使能信号PROGRAMn分别与主PROM 200电路(First PROM)901的第一数据信号D[0]/BIST_DONE、时钟信号CLK、第一控制使能信号CEn、输出使能复位信号OE/RSTn和配置信号CFn相连,如果需要通过级联的方式进行容量扩充,则只需将从PROM 200电路(Cascaded PROM)902的第一数据信号D[0]/BIST_DONE、时钟信号CLK、第一控制使能信号CEn、输出使能复位信号OE/RSTn和配置信号CFn分别与主PROM 200电路(First PROM)901的第一数据信号D[0]/BIST_DONE、时钟信号CLK、第二控制使能信号CEO、输出使能复位信号OE/RSTn和配置信号CFn相连即可,最后通过主PROM200电路(First PROM)901、从PROM 200电路(Cascaded PROM)902和FPGA 100器件各自边界扫描电路的TAP接口将三个器件级联,形成从测试数据输入信号TDI到测试数据输出信号TDO的串行边界扫描通路。
图10所示为使用本发明PROM 200电路在串行模式下配置FPGA的电路结构示意图,包括主PROM 200电路(First PROM)1001、从PROM 200电路(Cascaded PROM)1002和FPGA 100器件,具体连接方式为:
通过模式选择引脚MODE PINS将FPGA 100器件配置模式置于串行模式下,将FPGA 100器件的配置数据输入信号DIN[0]、FPGA配置时钟信号CCLK、配置完成信号DONE、配置初始化信号INITn和编程使能信号PROGRAMn分别与主PROM 200电路(First PROM)1001的第一数据信号D[0]/BIST_DONE、时钟信号CLK、第一控制使能信号CEn、输出使能复位信号OE/RSTn和配置信号CFn相连,如果需要通过级联的方式进行容量扩充,则只需将从PROM 200电路(Cascaded PROM)1002的第一数据信号D[0]/BIST_DONE、时钟信号CLK、第一控制使能信号CEn、输出使能复位信号OE/RSTn和配置信号CFn分别与主PROM 200电路(First PROM)1001的第一数据信号D[0]/BIST_DONE、时钟信号CLK、第二控制使能信号CEO、输出使能复位信号OE/RSTn和配置信号CFn相连即可。
图11所示为使用本发明PROM 200电路在并行模式下配置FPGA的电路结构示意图,包括主PROM 200电路(First PROM)1101、从PROM 200电路(Cascaded PROM)1102和FPGA 100器件,具体连接方式为:
通过模式选择引脚MODE PINS将FPGA 100器件配置模式置于并行模式下,将FPGA 100器件的配置数据输入信号DIN[7:0]、FPGA配置时钟信号CCLK、配置完成信号DONE、配置初始化信号INITn和编程使能信号PROGRAMn分别与主PROM 200电路(First PROM)1101的D[7:0]、时钟信号CLK、第一控制使能信号CEn、输出使能复位信号OE/RSTn和配置信号CFn相连,如果需要通过级联的方式进行容量扩充,则只需将从PROM 200电路(Cascaded PROM)1102的D[7:0]、时钟信号CLK、第一控制使能信号CEn、输出使能复位信号OE/RSTn和配置信号CFn分别与主PROM 200电路(First PROM)1101的D[7:0]、时钟信号CLK、第二控制使能信号CEO、输出使能复位信号OE/RSTn和配置信号CFn相连即可。
基于以上设计,如果无需进行配置数据存储容量扩充,则无需选择从PROM 200电路(Cascaded PROM)进行级联;如果需要进行配置数据存储容量扩充,则只需特别关注从PROM 200电路(Cascaded PROM)的第一控制使能信号CEn和主PROM 200电路(First PROM)的第二控制使能信号CEO即可。

Claims (3)

1.一种用于FPGA配置的PROM电路架构,其特征在于包括:FLASH存储器201、JTAG控制器202、FLASH控制器203、并串转换电路204、时钟复位电路205、上电复位电路206、晶振207和BIST控制器208; 
时钟复位电路205给JTAG控制器202、FLASH控制器203、并串转换电路204和BIST控制器208提供时钟信号和复位信号,同时时钟复位电路205还给晶振207提供使能信号,晶振207给时钟复位电路205提供时钟,上电复位电路206给时钟复位电路205提供上电复位脉冲; 
FLASH存储器201、JTAG控制器202、并串转换电路204和BIST控制器208均与FLASH控制器203连接并且进行数据交互,FLASH存储器201用于存储FPGA配置数据,JTAG控制器202通过FLASH控制器203对存储在FLASH存储器201中的FPGA配置数据进行控制操作,通过FLASH控制器203与并串转换电路204进行数据交互,由并串转换电路204进行数据并串转换并输出给FPGA芯片进行配置; 
所述JTAG控制器202包括TAP状态机301、指令译码器302、指令寄存器303、多路选择器304、帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310; 
JTAG控制器202的测试数据输入信号同时连接到指令寄存器303、帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310的数据输入端;帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310分别接收指令译码器302输出的寄存器使能信号用于寄存器数据通路选择, 
JTAG控制器202通过帧数据寄存器305和帧地址寄存器306分别完成与FLASH控制器203之间的数据交互和地址交互; 
帧数据寄存器305、帧地址寄存器306、边界扫描寄存器307、旁路寄存器308、设备标识寄存器309和用户编码寄存器310的数据输出端同时与多路选择器304的一个输入端相连,多路选择器304的另一个输入端与指令寄存器303的数据输出端相连,多路选择器304的输出信号即为JTAG控制器202的测试数据输出信号; 
多路选择器304的信号选择端与TAP状态机301输出的选择信号相连;指令寄存器303还接收TAP状态机301输出的指令控制信号,同时指令寄存器303输出指令数据信号给指令译码器302;指令译码器302接收TAP状态机301输出的状态控制信号,并与FLASH控制器203进行控制信号的交互; 
所述FLASH控制器203包括写控制器501、写接口电路502、读控制器503、读接口电路504、擦除控制器505、擦除接口电路506、配置控制器507和缓存508; 
时钟复位电路205提供的工作时钟信号同时连接到写控制器501的时钟端和擦除控制器505的时钟端,时钟复位电路205提供的同步复位信号同时连接到写控制器501的复位端、读控制器503的复位端和擦除控制器505的复位端; 
读控制器503的时钟端与时钟复位电路205提供的JTAG时钟信号相连,配置控制器507的时钟端与时钟复位电路205提供的配置时钟信号相连,配置控制器507的复位端与外部输入的输出使能复位信号相连;FLASH控制器203与JTAG控制器202或并串转换电路204之间进行交互的数据和地址均存放在缓存508之中; 
写控制器501和读控制器503均通过缓存508与JTAG控制器202连接,并通过缓存508与JTAG控制器202之间进行数据交互和地址交互;配置控制器507通过缓存508与并串转换电路204连接,并通过缓存508与并串转换电路204之间进行数据交互和地址交互;写控制器501、读控制器503、擦除控制器505和配置控制器507直接与JTAG控制器202连接进行控制信号的交互,配置控制器507还直接与并串转换电路204连接进行控制信号的交互; 
写控制器501、读控制器503和擦除控制器505分别依次通过写接口电路502、读接口电路504和擦除接口电路506与FLASH存储器201连接并进行交互;JTAG控制器202通过FLASH控制器203中的配置控制器507将FLASH存储器201中存储的FPGA配置数据通过缓存508与并串转换电路204进行交互; 
所述写控制器501的具体工作方式为: 
在时钟复位电路205提供的工作时钟信号和同步复位信号的作用下,写控制器501进入状态601;进入状态601之后,在所述工作时钟信号和JTAG控制器202的控制信号的作用下,工作步骤依次为:状态602、状态603、状态604和状态605;进入状态605之后,若当前写次数未达到预定最大写入次数则进入状态606,否则进入状态607;进入状态606之后,若完成更新缓存过程,则写控制器501进入状态603; 
所述状态601为写入初始化过程; 
所述状态602为取地址及数据过程,该状态下写控制器501从缓存508中取出用于所述FLASH存储器201写入的数据及相关地址信息; 
所述状态603为开始写过程,即写控制器501通过所述写接口电路502开始向所述FLASH存储器201写入数据的准备过程; 
所述状态604为等待过程,即写控制器501将从缓存508中取出的数据通过所述写接口电路502写入所述FLASH存储器201的过程; 
所述状态605为写计数过程,该状态下写控制器501进行写次数统计,并与预定最大写次数进行比较,该最大写次数与缓存508的容量相关; 
所述状态606为更新缓存过程,该状态下缓存508从所述JTAG控制器202的帧地址寄存器306和帧数据寄存器305中更新地址及数据; 
所述状态607为完成过程,该状态标识所述FLASH存储器201的数据写入过程顺利完成; 
所述读控制器503的具体工作步骤为: 
在JTAG时钟信号和同步复位信号的作用下,读控制器503进入状态611;进入状态611之后,在JTAG时钟信号和JTAG控制器202的控制信号的作用下,工作步骤依次为:状态612、状态613、状态614和状态615;进入状态615之后,若当前读次数未达到预定最大读次数则进入状态616,否则进入状态617;进入状态616之后,若完成更新地址过程,则读控制器503进入状态613; 
所述状态611为读初始化过程; 
所述状态612为取地址过程,该状态下读控制器503从所述JTAG控制器202的帧地址寄存器306中取出用于读出所述FLASH存储器201中所存储数据的起始地址信息; 
所述状态613为开始读过程,即读控制器503通过所述读接口电路504开始从所述FLASH存储器201读出数据的准备过程; 
所述状态614为等待过程,即读控制器503通过读接口电路504从所述FLASH存储器201读出数据,并写入所述帧数据寄存器305的过程; 
所述状态615为读计数过程,该状态下读控制器503进行读次数统计,并与预定最大读次数进行比较; 
所述状态616为更新地址过程,该状态下读控制器503从所述JTAG控制器202的帧地址寄存器306中更新地址信息; 
所述状态617为完成过程,该状态标识所述FLASH存储器201的数据读出过程顺利完成; 
所述擦除控制器505的具体工作步骤为: 
在工作时钟信号和同步复位信号的作用下,擦除控制器505进入状态621;进入状态621之后,在工作时钟信号和JTAG控制器202的控制信号的作用下,工作步骤依次为:状态622和状态623;进入状态623之后,若擦除未完成则继续保持状态623,否则进入状态624; 
所述状态621为擦除初始化过程; 
所述状态622为开始擦除过程,即擦除控制器505通过所述擦除接口电路506开始对所述FLASH存储器201进行擦除的准备过程; 
所述状态623为等待过程,即擦除控制器505通过所述擦除接口电路506对所述FLASH存储器201进行擦除的过程; 
所述状态624为完成过程,该状态标识所述FLASH存储器201的数据擦除过程顺利完成; 
所述配置控制器507的具体工作步骤为: 
在配置时钟信号和输出使能复位信号的作用下,配置控制器507进入状态631;进入状态631之后,在配置时钟信号和JTAG控制器202的控制信号的作用下,工作步骤依次为:状态632和状态633;进入状态633之后,若当前与配置相关的地址计数次数未达到预定最大次数则返回状态632,否则进入状态634; 
所述状态631为配置初始化过程; 
所述状态632为发送地址过程,即配置控制器507通过所述FLASH存储器201的地址信号端向所述FLASH存储器201发送地址; 
所述状态633为返回数据过程,即所述FLASH存储器201通过数据输出信号端向配置控制器507输出数据,同时配置控制器507完成与所述并串转换电路204之间控制信号交互,并通过缓存508完成与所述并串转换电路204之间的数据交互和地址交互;该状态下配置控制器507进行配置地址计数,并与预定最大计数次数进行比较; 
所述状态634为完成过程,该状态标识所述FLASH存储器201的数据配置过程顺利完成。 
2.根据权利要求1所述的一种用于FPGA配置的PROM电路架构,其特征在于:所述并串转换电路204的具体工作方式为: 
在配置时钟信号和转换复位信号的作用下,并串转换电路204进入状态701;进入状态701之后,在配置时钟信号和配置控制器507的控制信号的作 用下,进入状态702;进入状态702之后,若当前数据转换模式为将N位数据转换为1位串行数据输出,则进入状态703,若当前数据转换模式为将N位数据转换为8位并行数据输出,则进入状态707;进入状态703之后,在配置时钟信号和配置控制器507的控制信号的作用下,工作步骤依次为:状态704和状态705;进入状态705之后,若取数计数次数未达到预定最大次数则返回状态703,否则进入状态706;进入状态707之后,在配置时钟信号和配置控制器507的控制信号的作用下,工作步骤依次为:状态708和状态709;进入状态709之后,若取数计数次数未达到预定最大次数则返回状态707,否则进入状态710;所述取数计数次数是指将N位数据串行或者并行输出的计数次数,串行输出的一次计数过程是指从N位数据中取一位数据,并行输出的一次计数过程是指从N位数据中取八位数据;N为8的整数倍; 
所述状态701为并串转换电路204初始化过程; 
所述状态702为将位宽为N的数据取入并串转换电路204的过程,该数据一次并行取入并串转换电路204; 
所述状态703为在将N位数据转换为1位串行数据输出模式下的数据准备过程; 
所述状态704为在将N位数据转换为1位串行数据输出模式下的数据移位过程,该状态下并串转换电路204进行1位数据取数操作,同时串行输出所取的数据; 
所述状态705为取数计数过程,该状态下并串转换电路204进行取数次数统计,并与预定最大次数N次进行比较; 
所述状态706为在将N位数据转换为1位串行数据输出模式下的数据转换完成过程,该状态标识并串转换电路204顺利将所取位宽为N的数据转换为1位串行数据输出; 
所述状态707为在将N位数据转换为8位并行数据输出模式下的数据准备过程; 
所述状态708为在将N位数据转换为8位并行数据输出模式下的数据移位过程,该状态下并串转换电路204进行8位数据取数操作,同时并行输出所取的数据; 
所述状态709为取数计数过程,该状态下并串转换电路204进行取数次数统计,并与 预定最大次数进行比较,若N为8的整数倍,则该预定最大次数为N/8,若N不为8的整数倍,则该预定最大次数为N/8取整加1; 
所述状态710为在将N位数据转换为8位并行数据输出模式下的数据转换完成过程,该状态标识并串转换电路204顺利将所取位宽为N的数据转换为8位并行数据输出。 
3.根据权利要求1所述的一种用于FPGA配置的PROM电路架构,其特征在于:所述BIST控制器208的具体工作步骤为: 
在内建自测试时钟信号和内建自测试复位信号的作用下,BIST控制器208进入状态801;进入状态801之后,在内建自测试时钟信号和FLASH控制器203的控制信号作用下,工作步骤依次为:状态802、状态803、状态804和状态805;进入状态805之后,BIST控制器208输出内建自测试标识信号并返回状态801;所述内建自测试标识信号表示自测试成功或者不成功; 
所述状态801为BIST控制器208空闲状态; 
所述状态802为BIST控制器208控制所述FLASH控制器203对FLASH存储器201进行数据擦除的过程; 
所述状态803为BIST控制器208控制所述FLASH控制器203对FLASH存储器201进行数据写的过程; 
所述状态804为BIST控制器208控制所述FLASH控制器203对FLASH存储器201进行数据读的过程; 
所述状态805为内建自测试完成过程,该状态下BIST控制器208输出内建自测试标识信号。 
CN201210148171.XA 2012-05-10 2012-05-10 一种用于fpga配置的prom电路架构 Active CN102789815B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210148171.XA CN102789815B (zh) 2012-05-10 2012-05-10 一种用于fpga配置的prom电路架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210148171.XA CN102789815B (zh) 2012-05-10 2012-05-10 一种用于fpga配置的prom电路架构

Publications (2)

Publication Number Publication Date
CN102789815A CN102789815A (zh) 2012-11-21
CN102789815B true CN102789815B (zh) 2015-02-11

Family

ID=47155197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210148171.XA Active CN102789815B (zh) 2012-05-10 2012-05-10 一种用于fpga配置的prom电路架构

Country Status (1)

Country Link
CN (1) CN102789815B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105830159B (zh) * 2014-11-27 2019-04-09 京微雅格(北京)科技有限公司 块存储器配置结构和配置方法
CN105306068B (zh) * 2015-10-30 2018-10-02 南京理工大学 一种基于时钟调相的并串转换电路
CN105549990B (zh) * 2015-12-07 2018-10-26 中国航空工业集团公司西安航空计算技术研究所 一种网络节点远程升级逻辑的多用户竞争控制方法
KR20180076571A (ko) * 2016-12-28 2018-07-06 에스케이하이닉스 주식회사 반도체 장치 및 반도체 시스템
KR20180092476A (ko) * 2017-02-09 2018-08-20 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN107908418B (zh) * 2017-12-12 2021-03-30 上海赛治信息技术有限公司 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备
CN108874720A (zh) * 2018-05-31 2018-11-23 中国兵器装备集团自动化研究所 一种高精度定时串口数据发送方法及系统
CN111338700B (zh) * 2020-02-24 2022-11-25 杭州迪普科技股份有限公司 加载fpga版本的方法及装置、存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于USB2.0的FPGA配置接口及实验开发评估板设计与实现;曹扬;《中国优秀硕士学位论文全文数据库》;20090313;第14-18页 *
基于U盘和单片机的FPGA安全配置的设计与实现;周银祥;《中国优秀硕士学位论文全文数据库》;20101103;第20-32页 *
张承畅等.基于XCF32P的多FPGA配置方案.《计算机工程》.2010,第36卷(第15期), *

Also Published As

Publication number Publication date
CN102789815A (zh) 2012-11-21

Similar Documents

Publication Publication Date Title
CN102789815B (zh) 一种用于fpga配置的prom电路架构
CN101694512B (zh) 测试电路和片上系统
CN100585852C (zh) 使用最少引脚而被测试的半导体器件、以及测试其的方法
CN102970013B (zh) 基于扫描链的芯片内部寄存器复位方法及复位控制装置
US8331163B2 (en) Latch based memory device
US8489780B2 (en) Power saving in NAND flash memory
WO2007109613A1 (en) Ultra low pin count interface for die testing
CN105550119A (zh) 一种基于jtag协议的仿真装置
CN103116551A (zh) 应用于CLB总线的NorFLASH存储接口模块
CN101126794B (zh) 集成电路
CN101436171A (zh) 模块化通信控制系统
CN104238957A (zh) 串行外围接口控制器、串行外围接口快闪存储器及其存取方法和存取控制方法
CN103903651A (zh) 双线串行端口内建自测电路及其通讯方法
CN100368818C (zh) 一种芯片内建电可擦除存储器的测试模块及其测试方法
CN203858630U (zh) Pcie接口切换装置
CN102723107A (zh) 多个闪存的同时操作
CN103135730A (zh) 电源控制器及电源控制方法
CN101788646A (zh) Fpga配置器件的ate测试方法
CN1215391C (zh) 计算机系统
CN101692214A (zh) Cpu与fpga间高速间接存取装置和方法
CN109656350A (zh) 一种基于dft扫描链的低功耗实现方法
CN108197063A (zh) Fpga的spi接口主动串行配置方法及装置
CN104616574A (zh) 一种fpga可拆装且高速运行的验证开发板
CN1982910A (zh) 基于位数可选的EFlash串口测试方法
CN102938642A (zh) 基于扫描链的芯片内部寄存器的复位方法

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