CN1333357C - 具有非易失性配置储存装置的内电路配置结构 - Google Patents

具有非易失性配置储存装置的内电路配置结构 Download PDF

Info

Publication number
CN1333357C
CN1333357C CNB2004100809173A CN200410080917A CN1333357C CN 1333357 C CN1333357 C CN 1333357C CN B2004100809173 A CNB2004100809173 A CN B2004100809173A CN 200410080917 A CN200410080917 A CN 200410080917A CN 1333357 C CN1333357 C CN 1333357C
Authority
CN
China
Prior art keywords
configuration
integrated circuit
storer
programmable
configurable logic
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.)
Expired - Fee Related
Application number
CNB2004100809173A
Other languages
English (en)
Other versions
CN1637736A (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.)
Macronix International Co Ltd
Original Assignee
Macronix International Co Ltd
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 Macronix International Co Ltd filed Critical Macronix International Co Ltd
Publication of CN1637736A publication Critical patent/CN1637736A/zh
Application granted granted Critical
Publication of CN1333357C publication Critical patent/CN1333357C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Microcomputers (AREA)

Abstract

一系统单芯片集成电路包括一可配置逻辑阵列、一处理器核心以及一存储器用以储存任务功能指令与用于经由在集成电路上的输入端口从外部源加载配置数据到集成电路上的非易失性配置储存装置中的配置加载功能指令,该处理器从该存储器中取得并执行指令,配置功能指令储存在该存储器中,藉由配置功能指令将配置数据从配置储存装置转移到可配置逻辑阵列中的配置点。

Description

具有非易失性配置储存装置的内电路配置结构
技术领域
本发明涉及一种系统单芯片集成电路与其它包括嵌入式可配置逻辑阵列作为特定用途或客户芯片逻辑的处理器装置。
背景技术
包括例如已知的可编程逻辑装置(PLD)及场可编程栅极阵列(FPGA)的可配置逻辑阵列,以及更广为熟知的可编程逻辑阵列(PLA),具有愈来愈高密度的设计,配置此类高密度装置的技术通常需要特定的逻辑在芯片上或在与可配置逻辑阵列经系统总线连通的主机处理器上执行。可配置逻辑阵列核心的配置数据管理需要复杂的逻辑,参见颁给laqman的美国专利第6,049,222号,配置装置用的特定技术限制该技术可应用的环境。
可配置逻辑阵列可经由使用者载入一配置数据以设定在装置上的可编程组件的指定配置,并将配置数据交付于其中的可编程配置点以完成使用者指定的功能,例如场可编程栅极阵列包括一逻辑组件的阵列及大量可使用配置数据加以编程的联机。在芯片中配置数据储存于以存储元件所构成的配置点中,通常以静态随机存取存储器(SRAM)之类的存储单元实现,其它可配置逻辑阵列包括非易失性配置存储器,使用只读存储器(ROM)、快闪存储器(flash)或可擦洗可编程只读存储器(EPROM)之类的存储单元实现。
可电荷编程、非易失性存储元件已经被用来作为可编程的开关及可配置逻辑阵列中的其它配置点。参见美国专利第5,247,478号、第5,764,096号及第6,122,209号。
有关可配置逻辑阵列的一个问题是将配置数据加载安装在印刷电路板上的芯片或以其它方式结合到功能系统中。参见美国专利第4,879,688号“系统中可编程的逻辑装置”、第5,995,744号“可编程电路的网络装置”。、第6,028,445号“场可编程栅极阵列结构的译码器构造与方法”、第6,049,222号“使用嵌入式存储器配置场可编程栅极阵列”以及第6,102,963号“具有在系统中可编程及确认功能的电气式可擦除及可编程的非易失性整合储存装置以支持可编程逻辑装置在系统中的再配置。
系统单芯片(system-on-a-chip;SOC)装置增加了系统的复杂度,因此即SOC系统不易设计且改变费用昂贵。籍由在处理器核心增加一可配置逻辑阵列与该处理器核心连接可使得改变及设计较为容易,因此,可配置逻辑阵列中的逻辑可利用工业上的工具结合可编程逻辑的使用而进行配置,同时处理器核心可使用公知的软件程序技术而编程,但是可配置逻辑阵列模块的配置数据管理的问题依旧存在。系统单芯片技术在复杂系统上遇到的典型问题是不易设计且改变费用昂贵,将可配置逻辑阵列与处理器核心结合在一起,逻辑的组合可随着处理器的改良而改变,亦即经由可编程逻辑阵列的配置工具可达成逻辑的配置。
使系统单芯片在设计上更具弹性以及改良可配置逻辑中管理配置的技术有所需求。
本发明提供使用于嵌入式可配置逻辑的系统单芯片的设计具有更大的弹性以及提供可配置逻辑的配置加载。
发明内容
本发明要解决的技术问题是提供一种系统单芯片集成电路,包括一可配置逻辑阵列、一处理器核心以及一存储器用以储存系统单芯片的任务功能指令与用于经由集成电路上的输入端口从外部源加载配置数据到集成电路中的配置加载功能指令,处理器从存储器中呼叫并执行指令。
在一些实施例中,存储器亦储存了配置功能指令以加载配置数据到可配置逻辑阵列中的电气式可编程配置点,在另一些实施例中,使用与可配置逻辑阵列结合的专用一逻辑执行配置功能,一接口介于处理器与芯片中可配置逻辑阵列或配置逻辑之间以支持配置功能。
存储器包括第一存储阵列以储存配置载入功能指令,在一实施例中该存储器为非易失性存储器,如只读存储器、浮动栅极存储器及氮化金属氧化半导体(nitride MOS)存储器等,同样地,配置功能指令亦可储存于第一存储阵列中,较佳者,配置加载功能指令储存在可编程存储器中,使得在电路中可以改变配置加载功能以适应不同配置数据的远程源以及与远程源建立沟通管道的协议。
经由在芯片上提供配置功能及/或配置加载功能指令并由处理器核心执行,本发明的系统单芯片集成电路可以轻易地广泛应用于的各种希冀可配置逻辑阵列的配置加载的环境中。
任务功能包括达成系统使用任务的特定使用者及/或特定用途指令。在使用非易失性存储器的实施例中,如高速静态随机存取存储器(high-speedSRAM)或动态随机存取存储器(DRAM),该存储器包括一存储阵列以储存任务功能指令。在其它的实施例中,储存任务功能指令的存储器包括非易失性存储器,如只读存储器、浮动栅极存储器、氮化金属氧化半导体存储器或类似的存储器。在一些实施例中,储存任务功能指令的存储器可能包括易失性与非易失性存储器的组合。
在另外的实施例中,系统中配置加载及任务功能的配置加载的指令均储存于芯片中的非易失性存储器,如此,可配置逻辑阵列的配置数据与任务功能指令二者的加载可以被写入位于电路板或其它系统中的系统单芯片里。
在一些实施例中,配置加载功能及/或配置功能包括使用看门狗定时器的程序,且集成电路中包括与处理器结合在一起的看门狗计时器电路。
可配置逻辑阵列具有一由储存于可配置逻辑阵列内的电气式可编程配置点中的配置数据所定义的可编程配置,例如电气式可编程配置点包括浮动栅极存储单元或其它可电荷编程、非易失性存储单元,在可配置逻辑阵列的配置程序中配置数据会转移到配置点中。
在一些实施例中,可编程配置存储器被包含在集成电路上用以储存配置数据,根据这些实施例,配置功能包括从配置存储器中转移配置数据到可配置逻辑阵列中的可编程配置点,同样地,配置加载功能包括经由在系统单芯片集成电路中的输入端口从资料的远程源载入配置数据到配置存储器中。在一些实施例中,可编程配置存储器使用非易失性、可编程存储单元,例如浮动栅极存储器或其它可电荷编程非易失性存储器。在一些实施例中使用高速静态随机存取存储器作为可编程配置存储器以支持可配置逻辑阵列的快速配置改变。同样地,一些实施例包括非易失性存储器与高速易失性存储器二者,以支持配置数据在芯片上的储存与处理。
在其它的实施例中,处理器核心响应一初始化事件,例如重置以执行配置加载及配置功能。根据本发明的系统单芯片集成电路的一个实施例包括一看门狗计时器,依据该看门狗计时器的时间间隔引发一初始化事件,该配置加载功能包括设定看门狗计时器的时间间隔使其适用于从远程源接收配置数据的程序,以及若到达时间间隔时则执行包括重试配置加载功能的初始化功能。
在另外的实施例中,存储器储存配置加载功能、任务功能及配置功能的指令。在诸如此类的实施例中,第一配置加载功能储存于免于受配置加载功能而覆写或修改的受保护存储器中,第一配置加载功能提供一信道以供配置数据从一预设位置嵌入受保护的存储器中。第二配置加载功能储存于未受保护的存储器中,用来和配置数据远程源沟通,该配置数据可以不在预设位置。假如初始化事件发生于配置加载操作到改变第二配置加载功能的执行期问,则第一配置载入功能可以用来回复配置加载操作。
附图说明
图1为根据本发明的系统单芯片集成电路的一个实施例的简化方块图;
图2为根据本发明的系统单芯片集成电路的另一实施例的简化方块图;
图3为根据本发明的系统单芯片集成电路的又一实施例的简化方块图;
图4为根据本发明的系统单芯片集成电路的较详细的功能示意图;
图5为根据本发明在芯片上包括配置数据存储器的系统单芯片集成电路的一个实施例的功能示意图;
图6为根据本发明在芯片上包括配置数据存储器的系统单芯片集成电路的另一实施例的功能示意图;
图7为根据本发明在芯片上包括配置数据存储器并支持加密/解密及/或压缩/解压缩的系统单芯片集成电路的一个实施例的功能示意图;
图8为根据本发明所提供系统单芯片集成电路环境部署的理论图,其中配置数据由远程源提供且系统单芯片集成电路允许配置加载功能的配置加载,以建立与远程源的沟通管道。
10系统单芯片集成电路
11微控制器核心模块
12输入/输出结构
13受保护存储器
14可编程存储器
15可配置逻辑阵列
15A可配置逻辑阵列的程序段
16配置存储器
100微控制器核心
101启动向量
102计时器
103开门狗计时器
104输入/输出端口
105中断线
106其它信号输入与输出
107第一存储阵列
108第二存储阵列
109第三存储阵列
110可配置逻辑阵列
111数据记录
112配置记录
113计时记录
114多工器
115状态记录
150可配置逻辑阵列
151配置数据存储阵列
152控制电路
160可配置逻辑阵列
161配置数据存储阵列
162控制电路
170数据路径
171数据路径
172存储阵列
200非易失性存储器
202启动程序
204公用程序
206内电路编程操作装置
208随机存取存储器
210多工器
212中央处理器(CPU)
214周边装置
216跳跃启动向量
218内电路编程/配置加载状态
220远程主机地址记录
222内电路编程/配置加载看门狗
224计时器
226到期周期记录
228匹配逻辑
230读/写路径
232重置线
234网际网络
236远程主机
238远程主机
240远程主机
242磁盘片
244使用者
250配置操作装置
251可配置逻辑阵列
具体实施方式
本发明实施例的详细说明参考图1-8。一基本的系统单芯片集成电路10如图1所示,包括微控制器核心模块11,例如已知标准的8051或先进精简指令集运算器(ARM)模块,或者,微控制核心模块11亦可由其它数据处理器核心例如数字信号处理器核心、高效率精简指令集运算(high-performance RISC)处理器核心或其它微处理器或数字信号处理器模块所取代或补充,受保护存储器13及可编程存储器14包括在集成电路10中,典型的受保护存储器13储存启动功能及其类似功能的指令避免被覆写或修改,典型的可编程存储器14储存集成电路10的任务功能指令,输出/输入结构12亦包括在集成电路10中,以支持输入与输出集成电路10的串联数据信道及并联数据信道其中一个或二者。
在集成电路10中包括可配置逻辑阵列15以支持处理器核心11,可配置逻辑阵列15使用场可编程栅极阵列或其它形式的可配置逻辑模块实现,可配置逻辑阵列15包括许多配置点用以储存可配置逻辑阵列15的配置数据并定义其功能,典型地,可配置逻辑阵列15包含在一系统单芯片集成电路中以支持任务功能及执行特定的逻辑。根据本发明,受保护存储器13与可编程存储器14其中之一所储存的指令经由处理器核心11执行,该指令包括逻辑以完成转移配置数据到可配置逻辑阵列15中的配置点的配置功能,该指令亦包含逻辑以完成配置加载以确定经由输入/输出端口12从远程源加载配置数据到集成电路中的沟通管道。
图2是系统单芯片集成电路10替代实施例的简化方块图,根据图2的实施例,在芯片上的处理器经由可配置逻辑阵列15的程序段15A实现,程序段15A的配置数据储存在程序段15A中非易失性配置点或集成电路中受保护存储器13内,在本实施例中,根据集成电路的初始化,配置数据从受保护存储器13转移到程序段15A中,处理器经由可配置逻辑阵列的程序段15A实现,其执行指令类似于公知微处理器核心11或其它处理器核心。
图3是根据本发明的系统单芯片集成电路10另一替代实施例的简化方块图,在图3的实施例中,一配置存储器16被包括在芯片中,配置存储器储存可配置逻辑阵列15的配置数据且该配置数据根据初始化或在微控制器核心11的控制下或其它在芯片上的配置逻辑转移到可配置逻辑阵列中,配置存储器16可使用只读存储器实现,以确定可配置逻辑阵列在制造过程中具有最小集合的配置数据。在另一系统中,配置存储器16是可编程的且在控制指令经由微控制器核心11执行下可利用配置加载功能从远程源加载。在另一系统中,配置存储器16可结合只读存储器与可编程存储器。
图4是根据本发明的系统单芯片集成电路实施例的详细功能图,根据本发明的较佳实施例,所有在单一集成电路中实施的构成要素如图4所示,该芯片包括一微控制器核心100利用一特定目的的电路或如图2中所述的可配置逻辑阵列中的一程序段所实现,微控制器核心100包括启动向量101及计时器电路102以支持看门狗计时器103,微控制器核心100支持输入/输出端口104、至少一中断线105及其它信号的输入与输出106,在集成电路上的存储器用以储存指令并经由微控制器核心执行,该存储器包括第一存储阵列107用以储存配置操作装置的指令,其包括配置加载功能及配置功能以支持在集成电路上的可配置逻辑阵列110。在一些实施例中,配置操作装置包括一初始化功能的执行以响应一初始化事件,像是经由一中断信号或一看门狗计时器重置所引发的重置。该存储器尚包括第二存储阵列108用以储存系统单芯片集成电路的任务功能指令,以及第三存储阵列109用以储存受保护的功能,包括启动功能、内电路编程(in-circuit program)功能及可配置逻辑阵列配置加载备份功能。第三存储阵列109被保护免于经由一内电路编程(ICP)功能而覆写或修改,并在例如重置事件及内电路编程或配置加载程序失败时的初始化功能期间回复系统。
该存储器可使用变化多样的记忆单元技术,包括屏蔽式只读存储器(maskROM)、快闪存储器、静态随机存取存储器以及类似的适合特定实施装置来实现,典型的受保护存储阵列109经由非易失性存储器例如屏蔽式只读存储器或快闪存储器来实现,当经由快闪存储器或其它电气式可编程存储器所实现时,逻辑结构可保护存储阵列109免于因配置加载的操作或意外而被覆写或修改。
在集成电路中可配置逻辑阵列110如图4的实施例,经由一以快闪存储器为基础的可配置逻辑阵列来实现,在以快闪存储器的可配置逻辑阵列中,配置点为非易失性,使得配置数据在重置或断电时仍会保留下来。
在集成电路中有一接口介于微控制器核心100与可配置逻辑阵列110之间,该接口包括其它在此技术中已知的结构、数据记录111、配置记录112以及计时记录113,且该数据、配置数据以及计时信号经由该接口在模块间进行交换,状态记录115经由协议的配置功能确认使用配置数据的可配置逻辑阵列的配置成功。
微控制器核心100可经由如多工器114所示的指令路径从包括存储阵列107、108、109的存储器中检索指令,其它包括如静态随机存取存储器或存储阵列的存储器结构包含在集成电路中,以支持经由微控制器核心100或可配置逻辑阵列110的执行功能。
在图4的实施例中,配置操作装置的配置加载功能储存于第一存储阵列107中,以确定介于系统单芯片集成电路与配置数据的远程源的间的沟通管道,该沟通管道藉由输入/输出端口104接收配置数据,该配置数据经由在配置操作装置中的配置功能通过配置记录112到达在可配置逻辑阵列110中以快闪存储器为基础的配置点。
在配置加载演算的过程中发生重置的事件或其它初始化事件,则配置加载功能将会重新执行。
一内电路编程(ICP)程序亦可储存于存储器中,例如储存于受保护存储器109中或其它位置,用于覆写或修改配置操作装置,使得配置加载功能可适用于从使用者选定的远程源接收配置数据,根据本发明的这些实施例,可配置逻辑阵列的配置加载备份功能储存于受保护存储阵列109中,当储存于存储阵列107中的配置操作装置发生错误时,系统可利用储存于受保护存储阵列109中的功能回复原状,根据美国专利第6,401,221号、第6,493,788号以及第5,901,330号中所揭露的内电路编程功能是适合使用的。
图5是根据本发明的系统单芯片集成电路的替代结构,相似的构成要素给予图4中使用的相同编号。根据如图5所示的替代结构,可配置逻辑阵列150不需使用以快闪存储器或其它非易失性配置点为基础的可配置逻辑阵列实现,例如,可配置逻辑阵列150可使用具有以静态随机存取存储器(SRAM)为基础的配置点的标准型场可程序栅极阵列(FPGA)来实现。
可配置逻辑阵列150的配置数据储存在非易失性配置数据存储阵列151中,并由微控制器核心100取得集成电路的部份存储器而实现,在本实施例中使用控制电路152作为配置数据存储器151与微控制器核心100之间的接口,在阵列107中配置操作装置的配置加载功能用以确定远程源与配置数据存储器151问的信道,在配置演算过程中阵列107中配置操作装置的配置功能从配置数据存储器151经过微控制器心100转移配置数据到可配置逻辑阵列150。
图6是根据本发明的系统单芯片集成电路的替代结构,相似的构成要素给予图5中使用的相同编号。根据如图6所示的替代结构,可配置逻辑阵列160可使用可编程逻辑装置(PLD)模块来实现,可配置逻辑阵列160的配里数据储存在非易失性配置数据存储阵列161中,并由微控制器核心100取得集成电路的部份存储器而实现,控制电路162作为配置数据存储器161与可配置逻辑阵列160之间的接口,使得配置操作装置107的配置功能直接经由配置功能专用的资料路径170、171从配置数据存储器161转移配置数据到可配置逻辑阵列160中,资料路径170、171可使用宽频并联资料路径或其它适用于配置功能的高速、特别配置的资料路径来实现,在本实施例中,配置操作装置107中的配置功能可以简化或忽略,且其更多的功能由控制电路162来达成。
在阵列107中配置操作装置的配置加载功能用以确定远程源与配置数据存储器161间的信道。
图7是根据本发明的系统单芯片集成电路的替代结构,相似的构成要素给予图6中使用的相同编号。根据如图7所示的替代结构,存储器增加一存储阵列172用以储存加密/解密功能及压缩/解压缩功能指令其中至少之一,根据如图7所示的实施例,配置加载功能确定一远程源与配置数据存储器161间的信道,配置数据以加密形式、压缩形式或加密及压缩形式从远程源接收,当加载配置数据到配置数据存储器161时,配置加载功能从阵列172中进行解密及/或解压缩功能,或者,当转移配置数据到可配置逻辑阵列中的配置点时,配置加载功能从阵列172中进行解密及/或解压缩功能,增加的存储阵列172储存加密/解密功能及压缩/解压缩功能其中至少之一,以用于不同的系统单芯片集成电路的实施例,包括如图4及图5所示的实施例。
图8是一些与本发明观点相同的内电路编程及配置加载的容错系统的主要功能构成要素的方块图,一系统单芯片集成电路包括一处理器核心(CPU212)及一可配置逻辑阵列251。内电路编程程序及配置加载系统包括非易失存储器200、随机存取存储器(RAM)208、CPU212及周边装置214。该内电路编程程序及配置加载系统亦包括容错系统的构成要素,包括跳跃启动向量216、多工器(MUX)210、内电路编程/配置加载(ICP/CL)状态记录218、远程主机地址记录220及ICP/CL看门狗222。
更明确地,CPU212是任何形式的处理系统,包括微控制器、微处理器或数字信号处理器。CPU212与RAM208结合在一起且随机存取存储器所包含的编码及数据经由CPU212执行,此外,CPU212亦经过由MUX210所表示的数据路径与非易失性存储器200结合在一起。
非易失性存储器200是当系统断电时仍可保存数据的任何形式的存储器,包括快闪存储器、可擦除可编程只读存储器(EPROM)、电气式可擦除可编程只读存储器(EEPROM)及只读存储器,非易失性存储器200包括启动程序202、公用程序204、内电路编程ICP操作装置206、配置操作装置250以及微启动码207。启动程序202包括在系统初始化的程序中执行程序的收集以将系统的硬件及软件资源初始化,启动程序202储存于可编程存储器中并可在配置加载的过程中被修正。非易失性存储器200亦包括公用程序204,该公用程序204在系统的演算过程中包括许多程序经由CPU212执行以完成任务功能,公用程序204亦可被包含于经由内电路编程加载程序中可被编程的存储器中。非易失性存储器200亦包括配置操作装置250以进行系统的配置加载功能且其可被包含于经由配置加载程序中可被编程的存储器中,非易失性存储器200中所包括的配置操作装置250可被包含于经由内电路编程程序中可被编程的存储器中。配置操作装置250所执行的功能如的前图4-7所述。
非易失性存储器200同时包括位于受保护存储器内的微启动码207,微启动码207在相同内电路正常启动程序程序与配置操作装置程序中不会被修改,微启动码207可替代系统初始化指令以完成许多如启动程序202的相同功能,然而,当有一个可能由启动程序202引起的错误发生于内电路编程程序中,即内电路编程程序206或配置操作装置功能250失败及不稳定时,微启动码207只是一个跳脱的行为,因此,微启动码207必须储存在相同内电路正常启动程序的编程过程中不会被修改的存储器中。在本发明的一个实施例中,当启动程序202、公用程序204、配置操作装置250及ICP操作装置206储存在可编程快闪存储器时,微启动码207储存在递罩式只读存储器中。
在ICP程序中,CPU212同时结合硬件构成要素以帮助容错,CPU212结合MUX210作为非易失性存储器200及跳跃启动向量216的输入且控制从ICP/CL状态记录218的输入,MUX210视ICP/CL状态218的状况选择性切换CPU212于跳跃启动向量216及非易失性存储器200之间,若ICP/CL状态218是脏的,表示之前的ICP演算或演算修正配置加载运算没有完成,则CPU212在系统初始化的程序中输入一个跳跃指令给启动向量216以指向微启动码207,另一方面,若ICP/CL状态218是干净的,表示没有配置载入运算在进行,则CPU212在系统初始化的程序中输入非易失性存储器200的初始加载,CPU212同时结合远程主机地址记录220并包含备份远程主机地址,避免在内电路编程程序中发生系统重置,CPU212亦通过读/写路径230及重置线232与ICP/CL看门狗222结合,ICP/CL看门狗222包括到期周期(timeout period)记录226及计时器224与匹配逻辑228,计时器224及到期周期226二者可通过读/写路径230经由CPU212而被初始化,当计时器224的值与到期周期226相同时,匹配逻辑228引发一个重置信号经由重置线232传送到CPU212。在一实施例中,上述提到的硬件构成要素提供的容错包括保护可编程存储元件免受内电路编程程序的影响。
此外,CPU212结合周边装置214,包括连接系统使用者的输入及输出装置,如图中周边装置214左边的双箭号所示,周边装置214亦包括一接口通过周边装置214与网际网络234、或其它沟通管道或网络结合。网际网络234本身结合了远程主机236、238及240,远程主机238结合了包含新版本的启动及公用程序的磁盘片242,包括例如新的内电路编程功能或新的配置加载功能并经由网际网络234下载到系统中。
配置加载程序通常运作如下,首先CPU212通过周边装置214与使用者244连接,使用者244引发CPU212开始执行配置操作装置206进行配置加载程序,配置操作装置250引发通过周边装置214到网际网络234及通过网际网络234到远程主机238之间的连接,接着远程主机238开始从磁盘片242通过网际网络234下载数据到非易失性存储器200中,同时数据开始转移、在ICP/CL看门狗222中的到期周期226设定一估计值及计时器224开始计时。
若配置加载程序进行顺利,则本发明的容错特征为非活性化的,另一方面,若在配置加载程序中发生过度延迟,则计时器224最终将与到期周期226相同而引发一重置信号经由重置线232到达CPU212,并引发CPU212开始进行一连串的启动。若系统在配置加载程序中重新启动,则ICP/CL状态记录218设定为脏的值,因而引发MUX210直接跳跃启动向量216到CPU212中,使得微启动码207代替启动程序202引发CPU212启动。若ICP/CL状态218设定为干净的值,表示配置加载程序已全部完成且MUX210从启动程序202引发CPU212启动。
微启动码207引发CPU212重新开始配置加载程序,是经由从远程主机地址记录220的第一个读取值决定远程主机的连接以重新开始配置加载程序,然后配置加载程序即重新开始。在另一实施例中,微启动码207包括一配置加载编程的设计,用以从预设位置存取配置数据的设定,例如芯片中的非易失性存储器或经由连接一预定的主机与系统单芯片集成电路结合。
ICP程序通常运作如下,首先CPU212透过周边装置214与使用者244连接,一些非典型系统单芯片集成电路是经由输入/输出端口而与使用者连接,使用者244引发CPU212开始执行ICP装置206进行ICP程序,ICP装置206引发通过周边装置214到网际网络234及通过网际网络234到远程主机238之间的连接,接着远程主机238开始从磁盘片242通过网际网络234下载数据到非易失性存储器200中,同时数据开始转移、在ICP/CL看门狗222中的到期周期226设定一估计值及计时器224开始计时。
若ICP程序进行俱利,则本发明的容错特征为非活性化的,另一方面,若在ICP程序中发生过度延迟,则定时器224最终将与到期周期226相同而引发一重置信号经由重置线232至达CPU212,并引发CPU212开始进行一连串的启动。若系统在ICP程序中重新启动,则ICP/CL状态记录218设定为脏的值,因而引发MUX210直接跳跃启动向量2I6到CPU212中,使得微启动码207代替启动程序202引发CPU212启动。若ICP/CL状态218设定为干净的值,表示ICP程序已全部完成,且MUX210从启动程序202引发CPU212启动。
微启动码207引发CPU212重新开始ICP程序,是经由从远程主机地址记录220的第一个读取值决定远程主机的连接以重新开始ICP程序,然后ICP程序即重新开始。
在一些实施例中,ICP程序可以覆写或修改配置操作装置,在这些实施例中,ICP程序首先备份配置操作装置250到非易失性存储器中以确定在系统单芯片上配置加载的二份备份,其中一份备份是修改过的,若修改完全成功则另一份备份会被删除,不过,若修改没有完全成功则配置操作装置的安全备份可用来回复系统操作。
以上对于本发明的较佳实施例所作的叙述是以阐明为目的,而无意限定本发明精确地为所揭露的形式,基于以上的教导或从本发明的实施例学习而作修改或变化是可能的,实施例是为解说本发明的原理以及让熟习该项技术者以各种实施例利用本发明在实际应用上而选择及叙述,本发明的技术思想企图由专利要求书所述的范围来决定。

Claims (15)

1.一种集成电路,其特征在于,该集成电路包括:
一可配置逻辑阵列,具有经由储存在该可配置逻辑阵列中电气式可编程配置点中的配置数据所定义的可编程配置;
一可编程配置存储器,用以储存该配置数据;
一存储器,用以储存关于该集成电路中任务功能的指令及储存关于用于从该可编程配置存储器转移该配置数据到该配置逻辑阵列中的该可编程配置点的配置功能的指令;
一与该存储器耦合的处理器,用以从该存储器中取得并执行该任务功能的指令及该配置功能的指令。
2.按照权利要求1所述的集成电路,其特征在于:其中该存储器包括非易失性储存装置。
3.按照权利要求1所述的集成电路,其特征在于:其中该存储器包括浮动栅极储存装置。
4.按照权利要求1所述的集成电路,其特征在于:其中该存储器包括只读储存装置。
5.按照权利要求1所述的集成电路,其特征在于:其中该存储器包括用于该配置功能的第一非易失性储存装置及用于该任务功能的第二非易失性储存装置。
6.按照权利要求1所述的集成电路,其特征在于:其中该存储器包括用于该配置功能的第一易失性储存装置及用于该任务功能的第二易失性储存装置。
7.按照权利要求1所述的集成电路,其特征在于:包括一看门狗计时器与该处理器耦合,其中该配置功能包括使用该看门狗计时器。
8.按照权利要求1所述的集成电路,其特征在于:其中该配置功能包括经由该集成电路上的输入端口加载该可编程配置存储器。
9.按照权利要求1所述的集成电路,其特征在于:其中该配置功能包括经由该集成电路上的输入端口接收加密的配置数据,解密该配置数据以及将该解密的配置数据加载该可编程配置存储器。
10.按照权利要求1所述的集成电路,其特征在于:其中该配置功能包括经由该集成电路上的输入端口接收压缩的配置数据,解压缩该配置数据以及将该解压缩的配置数据加载该可编程配置存储器。
11.按照权利要求1所述的集成电路,其特征在于:其中该可编程配置存储器包括非易失性储存装置。
12.按照权利要求1所述的集成电路,其特征在于:其中该可编程配置存储器包括易失性储存装置。
13.按照权利要求1所述的集成电路,其特征在于:其中该电气式可编程配置点包括非易失性、可电荷编程存储单元。
14.按照权利要求1所述的集成电路,其特征在于,其中该配置功能包括经由该集成电路上的输入端口载入该可编程配置存储器,以及该集成电路更包括:
一第一接口介于该处理器与该可编程配置存储器之间以支持该载入;以及
一第二接口介于该可编程配置存储器与该可配置逻辑阵列之间以支持该配置数据转移到该可配置逻辑阵列。
15.按照权利要求1所述的集成电路,其特征在于,其中该配置功能包括经由该集成电路上的输入端口加载该可编程配置存储器,以及该集成电路更包括:
一第一接口介于该处理器与该可编程配置存储器之间以支持该载入及该配置数据转移到该可配置逻辑阵列;以及
一第二接口介于该处理器与该可配置逻辑阵列之间以支持该配置数据转移到该可配置逻辑阵列。
CNB2004100809173A 2003-11-03 2004-09-27 具有非易失性配置储存装置的内电路配置结构 Expired - Fee Related CN1333357C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/699,766 2003-11-03
US10/699,766 US20050097499A1 (en) 2003-11-03 2003-11-03 In-circuit configuration architecture with non-volatile configuration store for embedded configurable logic array

Publications (2)

Publication Number Publication Date
CN1637736A CN1637736A (zh) 2005-07-13
CN1333357C true CN1333357C (zh) 2007-08-22

Family

ID=34465634

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100809173A Expired - Fee Related CN1333357C (zh) 2003-11-03 2004-09-27 具有非易失性配置储存装置的内电路配置结构

Country Status (4)

Country Link
US (1) US20050097499A1 (zh)
EP (1) EP1536345A3 (zh)
JP (1) JP4659371B2 (zh)
CN (1) CN1333357C (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190190B1 (en) * 2004-01-09 2007-03-13 Altera Corporation Programmable logic device with on-chip nonvolatile user memory
WO2006052738A2 (en) * 2004-11-04 2006-05-18 Fabbrix, Inc. A method and process for design of integrated circuits using regular geometry patterns to obtain geometrically consistent component features
JP2007251329A (ja) * 2006-03-14 2007-09-27 Matsushita Electric Ind Co Ltd プログラマブルロジックデバイス
TWI316184B (en) * 2006-08-03 2009-10-21 Etron Technology Inc Programmable system-chip device and method of programming firmware
JP5883699B2 (ja) * 2011-04-13 2016-03-15 株式会社半導体エネルギー研究所 プログラマブルlsi
US9830964B2 (en) * 2012-09-10 2017-11-28 Texas Instruments Incorporated Non-volatile array wakeup and backup sequencing control
JP5994679B2 (ja) * 2013-02-26 2016-09-21 株式会社ソシオネクスト 処理装置、及び処理装置の制御方法
US9251006B2 (en) 2013-11-22 2016-02-02 Qualcomm Incorporated Apparatus, system and method for autonomous recovery from failures during system characterization on an environment with restricted resources
EP3274851B1 (en) * 2015-03-27 2020-06-17 Intel Corporation Dynamic configuration of input/output controller access lanes
ITUB20150760A1 (it) 2015-05-25 2016-11-25 St Microelectronics Srl Procedimento per riconfigurare unita' digitali, sistema, apparecchiatura e prodotto informatico corrispondenti
CN105224503B (zh) * 2015-10-10 2017-12-15 浙江大学 一种增加fpga动态配置可选程序数量的电路
JP2017135698A (ja) * 2015-12-29 2017-08-03 株式会社半導体エネルギー研究所 半導体装置、コンピュータ及び電子機器
US10606520B2 (en) * 2016-06-29 2020-03-31 Intel IP Corporation Methods and apparatus to read from a nonvolatile memory device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6102963A (en) * 1997-12-29 2000-08-15 Vantis Corporation Electrically erasable and reprogrammable, nonvolatile integrated storage device with in-system programming and verification (ISPAV) capabilities for supporting in-system reconfiguring of PLD's
US6255849B1 (en) * 2000-02-04 2001-07-03 Xilinx, Inc. On-chip self-modification for PLDs
WO2001098922A1 (en) * 2000-06-21 2001-12-27 Derivation Systems, Inc. Dynamically configurable processor core and method for making the same
CN1397891A (zh) * 2002-08-30 2003-02-19 清华大学 现场可编程门阵列程序在线升级系统及其实现方法
WO2003034199A2 (en) * 2001-10-16 2003-04-24 Leopard Logic, Inc. Interface architecture for embedded field programmable gate array cores

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4879688A (en) * 1985-03-04 1989-11-07 Lattice Semiconductor Corporation In-system programmable logic device
US5042004A (en) * 1986-03-06 1991-08-20 Advanced Micro Devices, Inc. Programmable logic device with subroutine stack and random access memory
US5015885A (en) * 1986-09-19 1991-05-14 Actel Corporation Reconfigurable programmable interconnect architecture
US4871930A (en) * 1988-05-05 1989-10-03 Altera Corporation Programmable logic device with array blocks connected via programmable interconnect
US5412785A (en) * 1990-04-09 1995-05-02 Motorola, Inc. Microprogrammed data processor which includes a microsequencer in which a next microaddress output of a microROM is connected to the or-plane of an entry PLA
EP0464433A3 (en) * 1990-06-29 1994-05-18 Nat Semiconductor Corp Microcontroller device having remotely programmable eprom & method of programming
US5515540A (en) * 1990-08-27 1996-05-07 Dallas Semiconducter Corp. Microprocessor with single pin for memory wipe
DE69228887T2 (de) * 1991-01-17 1999-08-26 Texas Instruments Inc Nicht-flüchtige Speicherzellenstruktur und ihr Herstellungsverfahren
US5276839A (en) * 1991-03-07 1994-01-04 United States Of America As Represented By The Secretary Of The Air Force System for programming EEPROM with data loaded in ROM by sending switch signal to isolate EEPROM from host system
US5251169A (en) * 1991-05-06 1993-10-05 Lattice Semiconductor Corporation Non-volatile erasable and programmable interconnect cell
US5739569A (en) * 1991-05-15 1998-04-14 Texas Instruments Incorporated Non-volatile memory cell with oxide and nitride tunneling layers
US5247478A (en) * 1992-03-06 1993-09-21 Altera Corporation Programmable transfer-devices
US5444861A (en) * 1992-06-01 1995-08-22 United Technologies Corporation System for downloading software
US5359570A (en) * 1992-11-13 1994-10-25 Silicon Storage Technology, Inc. Solid state peripheral storage device
JPH07114497A (ja) * 1993-10-14 1995-05-02 Hitachi Ltd 半導体集積回路装置
GB2301747A (en) * 1995-06-02 1996-12-11 Dsc Communications Remotely programmable subscriber terminal in a wireless telecommunications system
US5640344A (en) * 1995-07-25 1997-06-17 Btr, Inc. Programmable non-volatile bidirectional switch for programmable logic
KR100192430B1 (ko) * 1995-08-21 1999-06-15 구본준 비휘발성 메모리 및 이 비휘발성 메모리를 프로그램하는 방법
US6005806A (en) * 1996-03-14 1999-12-21 Altera Corporation Nonvolatile configuration cells and cell arrays
US6023564A (en) * 1996-07-19 2000-02-08 Xilinx, Inc. Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions
US5768192A (en) * 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US5761120A (en) * 1996-08-27 1998-06-02 Peng; Jack Zezhong Floating gate FPGA cell with select device on drain
US5825202A (en) * 1996-09-26 1998-10-20 Xilinx, Inc. Integrated circuit with field programmable and application specific logic areas
US6282675B1 (en) * 1997-08-06 2001-08-28 Macronix International Co., Ltd. Fault-tolerant architecture for in-circuit programming
KR100226746B1 (ko) * 1996-12-30 1999-10-15 구본준 다중비트셀의데이타센싱장치및방법
US5901330A (en) * 1997-03-13 1999-05-04 Macronix International Co., Ltd. In-circuit programming architecture with ROM and flash memory
US6009496A (en) * 1997-10-30 1999-12-28 Winbond Electronics Corp. Microcontroller with programmable embedded flash memory
US5995744A (en) * 1997-11-24 1999-11-30 Xilinx, Inc. Network configuration of programmable circuits
US6049222A (en) * 1997-12-30 2000-04-11 Xilinx, Inc Configuring an FPGA using embedded memory
US6028445A (en) * 1997-12-30 2000-02-22 Xilinx, Inc. Decoder structure and method for FPGA configuration
US6172520B1 (en) * 1997-12-30 2001-01-09 Xilinx, Inc. FPGA system with user-programmable configuration ports and method for reconfiguring the FPGA
US6118869A (en) * 1998-03-11 2000-09-12 Xilinx, Inc. System and method for PLD bitstream encryption
US6272655B1 (en) * 1998-06-11 2001-08-07 Actel Corporation Method of reducing test time for NVM cell-based FPGA
TW386314B (en) * 1998-09-19 2000-04-01 United Microelectronics Corp Structure of low power, high efficiency programmable erasable non-volatile memory cell and production method thereof
US6345101B1 (en) * 1998-10-07 2002-02-05 Jayant Shukla Cryptographic method and apparatus for data communication and storage
KR100283909B1 (ko) * 1998-12-15 2001-03-02 김영환 비휘발성 메모리의 전하 이득 스트레스 테스트 회로 및 그 테스트 방법
US6181597B1 (en) * 1999-02-04 2001-01-30 Tower Semiconductor Ltd. EEPROM array using 2-bit non-volatile memory cells with serial read operations
US6414871B1 (en) * 2000-05-12 2002-07-02 Xilinx, Inc. Systems and methods for programming programmable devices
US6751723B1 (en) * 2000-09-02 2004-06-15 Actel Corporation Field programmable gate array and microcontroller system-on-a-chip
US6459646B1 (en) * 2000-12-21 2002-10-01 Triscend Corporation Bank-based configuration and reconfiguration for programmable logic in a system on a chip
US6792527B1 (en) * 2000-12-22 2004-09-14 Xilinx, Inc. Method to provide hierarchical reset capabilities for a configurable system on a chip
US7386046B2 (en) * 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
TWI234737B (en) * 2001-05-24 2005-06-21 Ip Flex Inc Integrated circuit device
US20030226029A1 (en) * 2002-05-29 2003-12-04 Porter Allen J.C. System for protecting security registers and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6102963A (en) * 1997-12-29 2000-08-15 Vantis Corporation Electrically erasable and reprogrammable, nonvolatile integrated storage device with in-system programming and verification (ISPAV) capabilities for supporting in-system reconfiguring of PLD's
US6255849B1 (en) * 2000-02-04 2001-07-03 Xilinx, Inc. On-chip self-modification for PLDs
WO2001098922A1 (en) * 2000-06-21 2001-12-27 Derivation Systems, Inc. Dynamically configurable processor core and method for making the same
WO2003034199A2 (en) * 2001-10-16 2003-04-24 Leopard Logic, Inc. Interface architecture for embedded field programmable gate array cores
CN1397891A (zh) * 2002-08-30 2003-02-19 清华大学 现场可编程门阵列程序在线升级系统及其实现方法

Also Published As

Publication number Publication date
JP2005141717A (ja) 2005-06-02
JP4659371B2 (ja) 2011-03-30
EP1536345A3 (en) 2008-01-02
CN1637736A (zh) 2005-07-13
EP1536345A2 (en) 2005-06-01
US20050097499A1 (en) 2005-05-05

Similar Documents

Publication Publication Date Title
CN1333358C (zh) 具有配置初始化功能的内电路配置结构
CN1333357C (zh) 具有非易失性配置储存装置的内电路配置结构
CN100421099C (zh) 集成电路及其配置方法及加载配置资料时的错误恢复方法
US7237145B2 (en) Fault-tolerant architecture for in-circuit programming
US7050859B1 (en) Systems and methods to port controller state and context in an open operating system
US7725746B2 (en) Apparatus and method for restoring working context
CN101887393B (zh) 基于半虚拟化技术的设备故障复现方法及系统
CN101981541B (zh) 使用闪存和有限功能存储器控制器来引导电子设备
US8612973B2 (en) Method and system for handling interrupts within computer system during hardware resource migration
US7363544B2 (en) Program debug method and apparatus
CN101937376A (zh) 一种数据管理方法及数据存储装置
CN101410807A (zh) 用于与存储器装置一起使用的软件断点
US6157979A (en) Programmable controlling device with non-volatile ferroelectric state-machines for restarting processor when power is restored with execution states retained in said non-volatile state-machines on power down
CN104699478A (zh) 改变电子控制单元的存储器中的软件的方法和计算机系统
CN109614153A (zh) 多核芯片及系统
CN107315449B (zh) 计算机设备、读取时间的方法和写入时间的方法
WO2018212870A1 (en) High-volume, low-latency data processing in flexibly configured local heterogeneous computing environments
US20090307454A1 (en) Method and device for switching over in a memory for a control device
US7340561B2 (en) Computer memory initialization
CN114489743A (zh) 一种片上可编程系统的程序烧写及加载运行方法
CN111404750B (zh) 一种高级在轨系统的集中式参数管理装置及方法
Pan et al. A fault-tolerant program memory unit for on-board computer
CN118212958A (zh) 外挂存储芯片的现场可编程门阵列电路和控制方法
JPH11250031A (ja) プログラマブルロジックおよび情報処理装置
CN104156241A (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070822

Termination date: 20190927