CN100442254C - 对多个可编程逻辑器件进行在线加载的方法和装置 - Google Patents

对多个可编程逻辑器件进行在线加载的方法和装置 Download PDF

Info

Publication number
CN100442254C
CN100442254C CNB031425917A CN03142591A CN100442254C CN 100442254 C CN100442254 C CN 100442254C CN B031425917 A CNB031425917 A CN B031425917A CN 03142591 A CN03142591 A CN 03142591A CN 100442254 C CN100442254 C CN 100442254C
Authority
CN
China
Prior art keywords
pld
programmable logic
logic device
cpld
register
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
CNB031425917A
Other languages
English (en)
Other versions
CN1514377A (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.)
UTStarcom Telecom Co Ltd
Original Assignee
UT SIDAKANG (CHINA) 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 UT SIDAKANG (CHINA) CO Ltd filed Critical UT SIDAKANG (CHINA) CO Ltd
Priority to CNB031425917A priority Critical patent/CN100442254C/zh
Publication of CN1514377A publication Critical patent/CN1514377A/zh
Application granted granted Critical
Publication of CN100442254C publication Critical patent/CN100442254C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种通过扩展IO的方法来对多个PLD进行在线加载的方法和装置,对一个PLD也适用。该在线加载的装置包括一个控制器,多个可被加载的可编程逻辑器件,以及一个扩展寄存器组,所述寄存器组连接在控制器和多个可编程逻辑器件之间。这种装置可以避免对CPU管脚的额外需求,同时由于寄存器可以保持数据因此可以避免管脚复用带来的软件互斥问题。该方法简单灵活,可以降低系统复杂度提供稳定性。

Description

对多个可编程逻辑器件进行在线加载的方法和装置
技术领域
本发明涉及电子设备领域,尤其涉及一种对多个可编程逻辑器件(PLD,Programmable Logic Device)进行在线加载装置和方法。
背景技术
PLD广泛应用于电子设备中。可以通过JTAG(联合测试行动小组,Joint Test Action Group)对其进行在线加载,或者其他途径进行在线加载。一般采用CPU(Central Processing Unit)或者控制芯片的IO脚产生波形的方法实现在线加载,每个PLD至少需要4个脚。如果有n个PLD需要同一个CPU加载,那么CPU至少需要提供4×n个IO管脚或者通过管脚的复用来给多个PLD进行加载。
如果PLD数量很多,则该方法几乎不可行。
本发明的方法,不需要使用CPU的额外IO管脚,且可以避免通过管脚复用带来的互斥问题。
发明内容
针对现有技术中的缺陷,本发明的目的在于提供一种不需要消耗CPU额外IO管脚可以对多个PLD进行在线加载的方法。
根据本发明的一个方面,提供了一种对多个可编程逻辑器件进行在线加载的装置,该加载装置包括一个控制器,多个可被加载的可编程逻辑器件,以及一个扩展寄存器组,所述寄存器组连接在控制器和多个可编程逻辑器件之间。
根据本发明的另一个方面,提供了一种可编程逻辑器件在线加载装置中的在线加载方法,所述的在线加载装置包括一个控制器,多个可被加载的可编程逻辑器件,以及一个扩展寄存器组,所述寄存器组连接在控制器和多个可编程逻辑器件之间,所述的方法包括步骤:
(1)控制器根据加载文件,向相应扩展寄存器组中的寄存器写入相应数据;
(2)寄存器输出信号控制可编程逻辑器件的相应管脚变高变低产生所需波形,完成加载。
本发明的基本构思在于,通过CPU对外部寄存器的操作,使PLD的相应管脚产生相应波形完成加载。
在本发明中,没有额外占用CPU的IO管脚,且不受PLD数量的限制,同时由于软件控制产生波形,因而灵活性大大提高。
附图说明
图1是根据本发明一种实施方式的加载装置的原理图;以及
图2是根据本发明的一种实施方式的加载过程的波形图。
具体实施方式
图1是根据本发明一种实施方式的加载装置的原理图。如图1所示,在一个电子设备中包括一个控制器CPU,一个扩展寄存器组CPLD(复杂可编程逻辑器件,Complex Programmable Logic Device),以及8个PLD(图中以XILINX公司的FPGA举例)。显然该电子设备还包括其它器件或装置,但由于它们与本发明无关,所以略去。如图1所示,CPU通过地址、数据、控制总线与扩展寄存器组连接,寄存器的输入输出与对应FPGA的相应管脚连接。其中CPU通过地址总线、数据总线、片选、读写等常规接口完成对扩展寄存器组CPLD的寄存器的访问;扩展寄存器组CPLD将CPU写入的内容通过本发明的方法送到扩展寄存器组CPLD的IO管脚上,这些输出管脚连到FPGA的加载管脚。在本优选实施方式中,用复杂可编程器件CPLD来实现可扩展寄存器组,并且FPGA使用PS(Passive Serial)模式加载,复杂可编程器件的输出IO连到FPGA的时钟管脚CCLK、数据输入管脚DIN、编程设定管脚/PROG;FPGA的DONE管脚接到扩展寄存器组的输入IO上。如果以包括4个寄存器的扩展寄存器组为例,可以将寄存器分配如下:
Figure C0314259100071
其中地址表示寄存器的地址,类型表示对寄存器读写类型的设定,位表示每个寄存器的各个位,名称体现了与相应FPGA的管脚的连接方式,描述部分对管脚的功能进行了说明。
图2是根据本发明的一种实施方式的加载过程的波形图。下面举例描述用图1所示的装置对FPGA进行加载的过程。
假设对第x片(x取值1到8)FPGA进行加载。
1通过CPU一个存储装置(未示出)中读入第x片FPGA的bit文件;
2通过CPU向0x03寄存器的第(x-1)位写入0并且随后写入1,形成/program时序,表示要清除FPGA;
3通过判断0x00寄存器的第(x-1)位变成0来判断出清除已经完成;
(1)从bit文件的串行数据流中读入一个bit;
(2)通过CPU向0x01寄存器的第(x-1)位写入0,形成时钟信号CCLK的下降沿;
(3)通过CPU向0x02寄存器的第(x-1)位写入所读入的bit,时序波形如DIN所示;
(4)再向0x01寄存器的第(x-1)位写入1产生CCLK时钟上沿;
(5)重复(1)-(4),直到文件全部读完;
4读取0x00寄存器的第(x-1)位,看是否变成1;若为1则加载成功。
以上针对附图1和2描述了本发明的一种优选实施方式。在本发明的另一个优选实施方式中,还可以对多个PLD并行写入,从而大大提高写入效率。并行写入的方法包括如下步骤(以同时写入两片举例说明):
假设要对第x,y片FPGA进行加载。
1通过CPU一个存储装置(未示出)中分别读入第x,y片FPGA的xbit和ybit文件;
2通过CPU向0x03寄存器的第(x-1),(y-1)位写入0并且随后写入1,形成/program时序,表示要清除FPGA;
3通过判断0x00寄存器的第(x-1),(y-1)位都已经变成0来判断出清除已经完成;
(1)分别从xbit文件和ybit文件的串行数据流中读入一个xbit和一个ybit;
(2)判断xbit文件和ybit文件中的任一个是否已经结束,如果结束,则设相应标志位ENDX或ENDY为1。
(3)通过CPU分别向0x01寄存器的第(x-1)位和第(y-1)位写入0+ENDX和0+ENDY,形成时钟信号CCLK的下降沿;
(4)通过CPU向0x02寄存器的第(x-1)位和第(y-1)位写入所读入的xbit和ybit,时序波形分别如DIN所示;
(5)再向0x01寄存器的第(x-1)位和第(y-1)位分别写入1+ENDX和1+ENDY产生CCLK时钟上沿;
(6)重复(1)-(5),直到两个文件全部读完;
4读取0x00寄存器的第(x-1)位和第(y-1)位,看是否变成1;
若为1则表示相应PLD加载成功。
本领域的普通技术人员显然可以对具体的实施细节进行改变来进行并行加载。
根据本发明的进一步教导,还可以通过将同一个寄存器的不同位与相同PLD的不同写入相关管脚连接来降低对CPU的地址占用。例如,如果只需要对两个PLD进行写入,那么用图1的装置将会占用4个CPU的地址,而且对寄存器的浪费也大。根据一个优选实施方式的教导,可以只采用两个寄存器,其连接方式可以如下:
用以上连接方式,也完全可以完成对两片的写入。至于如何在这种连接方式下产生适当的写入时序,对本领域的普通技术人员应该是显而易见的,这里不再详细描述。并且对于各管脚的分配,本领域的普通技术人员也可以很容易进行改变。

Claims (7)

1、对多个可编程逻辑器件进行在线加载的装置,包括一个控制器CPU,多个可被加载的可编程逻辑器件,其特征在于还包括一个扩展寄存器组复杂可编程逻辑器件,所述寄存器组复杂可编程逻辑器件连接在控制器CPU和多个可编程逻辑器件之间,其中由所述控制器CPU读取加载文件,并经由所述扩展寄存器组复杂可编程逻辑器件对可编程逻辑器件进行加载。
2、如权利要求1所述的装置,其特征在于所述的寄存器组复杂可编程逻辑器件中的寄存器被分成两类,一类是只读,另一类可读写,并且将只读寄存器中的位与可编程逻辑器件的表示加载完成的信号输出端相连,其可读写寄存器中的位与可编程逻辑器件中的其它与加载有关的信号端相连。
3、如权利要求1所述的装置,其特征在于所述的寄存器组复杂可编程逻辑器件包括4个寄存器,第一个寄存器的各位分别与可编程逻辑器件的时钟端相连,第二寄存器的各位分别与可编程逻辑器件的表示加载完成的信号端相连,第三个寄存器的各位分别与可编程逻辑器件的数据输入端相连,第四个寄存器的各位分别与可编程逻辑器件的加载控制端相连。
4、如权利要求1或2所述的装置,其特征在于所述的寄存器组复杂可编程逻辑器件包括2个寄存器,所述可编程逻辑器件的个数是两个,其中第一个寄存器中有两位分别与可编程逻辑器件的时钟端相连,有两位分别与可编程逻辑器件的数据输入端相连,有两位分别与可编程逻辑器件的加载控制端相连,第二寄存器中有两位分别与可编程逻辑器件的表示加载完成的信号端相连。
5、一种可编程逻辑器件在线加载装置中的在线加载方法,所述的在线加载装置包括一个控制器CPU,多个可被加载的可编程逻辑器件,以及一个扩展寄存器组复杂可编程逻辑器件,所述寄存器组复杂可编程逻辑器件连接在控制器CPU和多个可编程逻辑器件之间,所述的方法包括步骤:控制器CPU读取加载文件,并根据加载文件向相应扩展寄存器组复杂可编程逻辑器件中的寄存器写入相应数据;寄存器输出信号控制可编程逻辑器件的相应管脚变高变低产生所需波形,完成加载。
6、如权利要求5所述的方法,其特征在于所述的方法进一步包括步骤:
1)用控制器CPU读入某个可编程逻辑器件的比特文件;
2)通过控制器CPU向寄存器组复杂可编程逻辑器件中与该可编程器件的清除信号对应的位进行预定形式的写入,形成可编程逻辑器件的清除信号;
3)读取寄存器组复杂可编程逻辑器件中与该可编程器件的清除完成信号对应的位的值并根据该值判断出清除已经完成;
i.从所述比特文件的串行数据流中读入一个比特;
ii.控制器CPU向寄存器组复杂可编程逻辑器件中与可编程逻辑器件的时钟信号对应的位写入第一值,形成时钟信号CCLK的第一沿;
iii.控制器CPU向寄存器组复杂可编程逻辑器件中与该可编程逻辑器件的数据输入端对应的位写入所读入的比特;
iv.控制器CPU向寄存器组复杂可编程逻辑器件中与该可编程寄存器的时钟信号对应的位写入第二值产生时钟信号的第二沿;
v.重复(i)-(iv),直到文件全部读完;
4)读取寄存器组复杂可编程逻辑器件中与该可编程寄存器的表示加载完成的位的值,看是否变成表示加载完成的值;若是,则加载成功。
7、如权利要求5所述的方法,其特征在于所述的方法进一步包括步骤:
1)用控制器CPU读入多个可编程逻辑器件的比特文件;
2)通过控制器CPU向寄存器组复杂可编程逻辑器件中分别与所述多个可编程器件的清除信号对应的位进行预定形式的写入,分别形成所述多个可编程逻辑器件的清除信号;
3)读取寄存器组复杂可编程逻辑器件中分别与所述多个可编程逻辑器件的清除完成信号对应的位的值并根据这些值判断出所述多个可编程逻辑清除已经完成;
i.从所述多个比特文件的串行数据流中各读入一个比特;
ii.控制器CPU向寄存器组复杂可编程逻辑器件中与所述多个可编程逻辑器件的时钟信号对应的位写入第一值,形成时钟信号CCLK的第一沿;
iii.控制器CPU向寄存器组复杂可编程逻辑器件中与所述多个可编程逻辑器件的数据输入端对应的位分别写入所读入的比特;
iv.控制器CPU分别向寄存器组复杂可编程逻辑器件中与所述多个可编程寄存器的时钟信号对应的位写入第二值产生时钟信号的第二沿;
v.重复(i)-(iv),直到文件全部读完,在这期间先读完的文件则先退出写入;
4)读取寄存器组复杂可编程逻辑器件中与所述多个可编程寄存器的表示加载完成的位的值,看是否变成表示加载完成的值;若是,则表示相应的可编程逻辑器件加载成功。
CNB031425917A 2003-06-13 2003-06-13 对多个可编程逻辑器件进行在线加载的方法和装置 Expired - Fee Related CN100442254C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031425917A CN100442254C (zh) 2003-06-13 2003-06-13 对多个可编程逻辑器件进行在线加载的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031425917A CN100442254C (zh) 2003-06-13 2003-06-13 对多个可编程逻辑器件进行在线加载的方法和装置

Publications (2)

Publication Number Publication Date
CN1514377A CN1514377A (zh) 2004-07-21
CN100442254C true CN100442254C (zh) 2008-12-10

Family

ID=34240365

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031425917A Expired - Fee Related CN100442254C (zh) 2003-06-13 2003-06-13 对多个可编程逻辑器件进行在线加载的方法和装置

Country Status (1)

Country Link
CN (1) CN100442254C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100340983C (zh) * 2005-07-18 2007-10-03 杭州华三通信技术有限公司 对非易失可编程逻辑器件在线升级的方法及装置
CN100373369C (zh) * 2005-07-19 2008-03-05 杭州华三通信技术有限公司 控制器及多个可编程逻辑器件的组合访问装置及方法
CN100386748C (zh) * 2006-04-04 2008-05-07 杭州华三通信技术有限公司 一种在单板中对外围器件进行片选的方法和系统
CN101458624B (zh) * 2007-12-14 2012-05-30 华为技术有限公司 可编程逻辑器件的加载方法、处理器和装置
CN104461620B (zh) * 2014-11-27 2017-12-29 北京时代民芯科技有限公司 一种SoPC芯片自主重构软配置方法
CN111857867B (zh) * 2020-06-30 2024-03-08 新华三技术有限公司 一种逻辑文件的加载方法、装置和网络设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2548537Y (zh) * 2002-05-27 2003-05-07 刘阿根 坐式便器卫生垫圈

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2548537Y (zh) * 2002-05-27 2003-05-07 刘阿根 坐式便器卫生垫圈

Also Published As

Publication number Publication date
CN1514377A (zh) 2004-07-21

Similar Documents

Publication Publication Date Title
US5263149A (en) Integrated circuit logic functions simulator for selectively connected series of preprogrammed PLA devices using generated sequence of address signals being provided between simulated clock cycles
CN103744009B (zh) 一种串行传输芯片测试方法、系统及集成芯片
CN201374060Y (zh) 一种iic总线扩展系统结构
CN105279127B (zh) 一种基于PCI或PCIe总线的FPGA程序下载系统及方法
US7610528B2 (en) Configuring flash memory
US7290186B1 (en) Method and apparatus for a command based bist for testing memories
CN105224345A (zh) 一种可编程逻辑器件远程更新系统及其方法
CN101645055B (zh) 逻辑器件在线加载的方法、系统和处理器
US7333909B1 (en) Method of and circuit for verifying a data transfer protocol
CN108062267A (zh) 一种可配置寄存器文件自测试方法及生成装置
CN100442254C (zh) 对多个可编程逻辑器件进行在线加载的方法和装置
CN102201022A (zh) 用于fpga验证的方法和装置
CN102929755A (zh) 一种cpu模块地址和数据总线的故障检测方法
CN102043747A (zh) Jtag下载方式下fpga逻辑代码的下载方法
CN113705140A (zh) 芯片验证方法、系统、设备及存储介质
CN1251244C (zh) 电子电路内装自测试的方法
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
US20130036394A1 (en) Vectorless IVD Analysis Prior to Tapeout to Prevent Scan Test Failure Due to Voltage Drop
ITRM20010644A1 (it) Apparecchiatura di collaudo di memorie con post-decodifica incrementata.
US9672094B1 (en) Interconnect circuitry fault detection
US7912693B1 (en) Verifying configuration memory of a programmable logic device
CN100524274C (zh) 控制多个eeprom的控制电路及方法
JP2001159986A (ja) システムlsiのテストデータ最適化生成方式
CN101706731B (zh) 一种程序的加载方法及系统
EP4052373A1 (en) Programmable device configuration memory system

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
ASS Succession or assignment of patent right

Owner name: UT STARCOM COMMUNICATION CO., LTD.

Free format text: FORMER OWNER: UTSTARCOM (CHINA) INCORPORATED

Effective date: 20121218

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100027 CHAOYANG, BEIJING TO: 310053 HANGZHOU, ZHEJIANG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20121218

Address after: Hangzhou City, Zhejiang province Binjiang District 310053 Spring Road No. 1576 Leton Technology Park Building No. 3

Patentee after: UT Starcom Communication Co., Ltd.

Address before: 100027 Beijing city Dongsishitiao Beihai Manhattan building B block 11 layer

Patentee before: UT Sidakang (China) Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081210

Termination date: 20150613

EXPY Termination of patent right or utility model