CN100468335C - Method and device for on-line programming logic device - Google Patents

Method and device for on-line programming logic device Download PDF

Info

Publication number
CN100468335C
CN100468335C CNB2007100864916A CN200710086491A CN100468335C CN 100468335 C CN100468335 C CN 100468335C CN B2007100864916 A CNB2007100864916 A CN B2007100864916A CN 200710086491 A CN200710086491 A CN 200710086491A CN 100468335 C CN100468335 C CN 100468335C
Authority
CN
China
Prior art keywords
programming
logical device
jtag
chaining
file
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
CNB2007100864916A
Other languages
Chinese (zh)
Other versions
CN101030147A (en
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.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CNB2007100864916A priority Critical patent/CN100468335C/en
Publication of CN101030147A publication Critical patent/CN101030147A/en
Application granted granted Critical
Publication of CN100468335C publication Critical patent/CN100468335C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

An on-line programming method of logic component includes forming a serial vector format of chaining-programming file containing all logic component information on JTAG chain, analyzing formed chaining-programming file and carrying out on-line programming on each logic component at JTAG chain.

Description

The method and the device of logic device on-line programming
Technical field
The present invention relates to data communication field, relate in particular to a kind of method and device that programmable logic device (PLD) is carried out embedded online programming.
Background technology
In the datacom device of existing middle and high end,, may use different or the polytype logical device of identical producer simultaneously for realizing various functions, satisfying the requirement of cost aspect.Most of logical devices are supported online programmings, in equipment running process, upgrade the content of logical device or power on during logical device is configured.Existing logical device, as: CPLD (Complex ProgrammableLogic Device, abbreviation CPLD), erasable programmable logical device (Erasable ProgrammableLogic Device, abbreviation EPLD), field programmable gate array (Field Programmable GateArray, be called for short FPGA) wait and all supports to pass through the mode (jtag interface meets IEEE 1149.1 standards) that joint test tissue interface (Joint Test ActionGroup, abbreviation jtag interface) is programmed or disposed.To the main at present technical scheme that exists of the JTAG programming of logical device be:
The logical device of different manufacturers is formed different JTAG chains, and the shared JTAG chain of the logical device of same producer carries out online programming.As shown in Figure 1, the JTAG1 chain above the logical device 1-4 of A producer forms, the JTAG2 chain below the logical device 1-4 of B producer forms.4 logical devices among Fig. 1 on the different JTAG chains can be CPLD, the EPLD of identical or different type, FPGA etc.
On the JTAG chain that the logical device of identical producer forms, when each logical device is carried out online programming, to generate the programming file of corresponding form earlier with this producer's programming tool, the information of each logical device on the JTAG chain is included in the programming file of this correspondence form, and then the transplanting code that calls this producer will be programmed in file load each logical device to the JTAG chain.
Illustrate, as shown in Figure 1, the JTAG chain that the logical device 1-4 of A producer forms, (as: A is an ALTERA company to the programming tool that needs elder generation to provide with A producer, the QUARTUS programming tool is provided) generate a programming file (as: the QUARTUS programming tool generates the programming file that corresponding form is .jbc) of corresponding form, the programming content of logical device 1-4 is included, the transplanting code (as: the transplanting code of ALTERA company correspondence is JAM PLAYER) that calls A producer then in the logical device 1-4 of correspondence, is programmed the programming file load of corresponding form or dispose to each logical device.The JTAG chain that the logical device 1-4 of B producer forms, (as: B is a LATTICE company to the programming tool that needs elder generation to provide with B producer, the ispVM programming tool is provided) generate a programming file (as: the ispVM programming tool generates the programming file that corresponding form is .vme) of corresponding form, the programming content of the logical device 1-4 of B producer is included, the transplanting code (as: the transplanting code of LATTICE company correspondence is ispVMEmbedded) that calls B producer then to the JTAG of the B producer chain in the corresponding logical device, is programmed the programming file load of corresponding form or dispose to logical device.
The existing scheme that logical device is programmed need be with taking different JTAG physical connection chains, having increased the complexity of veneer placement-and-routing; When each logical device on the dissimilar JTAG chains is programmed, need to generate the programming file of different-format, and call corresponding transplanting code, different transplanting codes can only be discerned the programming file of set form and (as: transplant code JAM PLAYER and can discern the programming file that form is .jbc, can not discern form is the programming file of .vme), the programming file of different-format is incompatible, the programming process complexity.
Summary of the invention
The objective of the invention is to propose a kind of method and apparatus of logic device on-line programming, effectively solve JTAG chains different in the prior art and take the defective that too much physical resource causes system single board placement-and-routing complexity.Simultaneously, also can effectively solve the defective that the file of programming in the prior art causes the programming process complexity more.
To achieve these goals, the invention provides a kind of method of logic device on-line programming, comprising: with different manufacturers or JTAG chain of each logical device formation different and identical producer;
Generation comprises the positional information of described each logical device of JTAG chain, the positional information that the chaining programming file of a serial vector format of jtag instruction register length information and each logical device programming content or generation comprise described each logical device of JTAG chain, the chaining of several different-formats of identical producer logical device programming content programming file or generate the single programming file that comprises each logical device programming content of described JTAG chain and jtag instruction register length information respectively on jtag instruction register length information and the JTAG chain;
Arbitrary logical device on the described JTAG chain is carried out online programming.
Arbitrary logical device on the described JTAG chain is carried out online programming to be comprised: the chaining programming file to a described serial vector format is resolved, obtain positional information, jtag instruction register length information and each logical device programming content of each logical device on the JTAG chain, each logical device on the JTAG chain is carried out online programming; Chaining programming file to described several different-formats is resolved, obtain positional information, jtag instruction register length information and each logical device programming content of each logical device on the JTAG chain, each logical device on the JTAG chain is carried out online programming or calls the transplanting code of its correspondence respectively, each logical device on the JTAG chain is carried out online programming.
In the technique scheme, the chaining programming file that generates a serial vector format comprising each logical device positional information on the JTAG chain, jtag instruction register length information, each logical device programming content comprises: generate the programming file that comprises the single serial vector format of single logical device programming content and jtag instruction register length information on the JTAG chain respectively; According to the position of each logical device on the programming file of each single serial vector format and the JTAG chain, generate or each individual devices programming file edit generated the chaining programming file of a serial vector format with the programming tool of arbitrary producer.
Each logical device on the JTAG chain is carried out online programming can be comprised: according to positional information, the jtag instruction register length information of each logical device on the JTAG chain instruction is handled, with the selected programming state of the logical device of needs programming, the programming content is added the logical device that needs programming.
To achieve these goals, the present invention also provides a kind of device of logic device on-line programming, comprise: acquisition module, be connected with programming module, be used to obtain the chaining programming file of several different-formats that comprise each logical device positional information on the JTAG chain, jtag instruction register length information and identical producer logical device programming content or comprise the chaining programming file of the serial vector format of each logical device positional information on the JTAG chain, jtag instruction register length information, each logical device programming content; Programming module is connected with acquisition module, is used to resolve chaining programming file, utilizes described chaining programming file that arbitrary logical device on the JTAG chain is carried out online programming.
Programming module comprises: interface module, be connected with parsing module, and read in chaining programming file, the jtag interface of control programming device is carried out programming operation; Parsing module is connected with interface module, according to positional information, jtag instruction register length information and each logical device programming content of the chaining programming document analysis logical device that obtains; And import analysis result into interface module when a certain logical device carried out online programming.Programming module can also comprise: calling module, be connected with interface module, the chaining programming file that is used for the different-format that comprises each logical device positional information on the JTAG chain, jtag instruction register length information and identical producer logical device programming content that obtains according to interface module calls corresponding transplanting code, and the content of will programming is imported interface module into.
Described parsing module further also can comprise: the syndrome module, be connected with the form analyzing sub-module, chaining programming file is carried out verification, verification by the time chaining file of programming sent to the format analysis submodule; The format analysis submodule, be connected with syndrome module and sub module stored, according to the form of chaining programming file, chaining programming file is resolved, obtain the programming data content of positional information, jtag instruction register length information and each logical device of each logical device on the JTAG chain; Sub module stored is connected with the form analyzing sub-module, preserves the programming data content of each logical device of resolving.
The invention provides a kind ofly on a JTAG chain, the logical device of different manufacturers on the JTAG chain is carried out the method and the device of online programming.The JTAG chain that the logical device of different manufacturers is formed, generate the chaining programming file that only comprises identical producer logical device programming content of different-format or the chaining programming file of a serial vector format that comprises all logical device programming contents, and can carry out online programming to logical devices all on the JTAG chain with the chaining programming file that generates.The present invention has strengthened the logical device flexibility of programming; reduced the cost of document management; occupy less physical resource; and simplified the complexity of when a plurality of logical devices of different manufacturers become a JTAG chain logical device being carried out online programming greatly; by resolving each logical device is carried out online programming; be not subjected to producer to transplant the privately owned protection of code; and effectively solve JTAG chains different in the prior art and take too much physical resource and cause the complicated and programming file of system single board placement-and-routing to cause the defective of programming process complexity more; be applicable to embedded programming, carry out remote upgrade and maintenance.
Below by drawings and Examples, technical scheme of the present invention is described in further detail.
Description of drawings
Fig. 1 forms different JTAG programming chain block diagrams for existing different manufacturers logical device;
Fig. 2 forms a JTAG programming chain embodiment block diagram for logical device among the present invention;
Fig. 3 is method embodiment one process flow diagram of logic device on-line programming of the present invention;
Fig. 4 is method embodiment two process flow diagrams of logic device on-line programming of the present invention;
Fig. 5 resolves for the chaining programming file to the different-format that generates among Fig. 4, obtains the programming content embodiment process flow diagram of logical device;
Fig. 6 is method embodiment three process flow diagrams of logic device on-line programming of the present invention;
Fig. 7 is step 1 an embodiment process flow diagram among Fig. 6;
Fig. 8 carries out online programming embodiment one process flow diagram for the present invention to a logical device on the JTAG chain;
Fig. 9 resolves synoptic diagram for Fig. 8 embodiment;
Figure 10 carries out online programming embodiment two process flow diagrams for the present invention to a logical device on the JTAG chain;
Figure 11 is device embodiment one synoptic diagram of logic device on-line programming of the present invention;
Figure 12 is a programming module inner structure embodiment synoptic diagram of the present invention;
Figure 13 is device embodiment two synoptic diagram of logic device on-line programming of the present invention.
Embodiment
Fig. 2 forms a JTAG programming chain embodiment block diagram for logical device among the present invention.As shown in Figure 2, the JTAG chain of logical device 1-8 composition with difference and/or same type producer carries out online programming.The present invention mainly becomes a JTAG chain with each logical device of different and/or identical producer, and each logical device on the described JTAG chain is carried out online programming.
Behind JTAG chain of each logical device formation, can adopt four kinds of modes that each logical device is carried out online programming:
First kind of online programming mode generates respectively and comprises on the JTAG chain the single programming file of single logical device programming content on each logical device positional information, jtag instruction register length and the JTAG chain; Described each single programming file calls corresponding transplanting code respectively, and the respective logic device is carried out online programming;
Fig. 2 comprises 8 logical devices, and logic of propositions device 1 is the device of ALTERA company, and logical device 3 is the device of LATTICE; Then to generate the form of transplanting code JAMPLAYER identification be that the single programming file of .jbc (comprises each logical device positional information on the JTAG chain to the 1.pof of the logical device 1 correspondence programming file programming tool that need call ALTERA company, the programming content of logical device 1 on jtag instruction register length and the JTAG chain), in like manner, to generate the form of transplanting code ispVMEmdedded identification be that the single programming file of .vme (comprises each logical device positional information on the JTAG chain to the 3.jed of the logical device 3 correspondences programming file programming tool that need call LATTICE company, the programming content of logical device 3 on jtag instruction register length and the JTAG chain).This programming mode need generate eight of respective devices programming files, the transplanting code by calling different manufacturers the programming file load that comprises individual devices programming content that generates in the respective logic device.
Second kind of online programming mode, the different manufacturers programming tool generates the chaining programming file of several different-formats respectively on the JTAG chain; Described chaining programming file comprises on the JTAG chain identical producer logical device programming content on each logical device positional information, jtag instruction register length and the JTAG chain; Each chaining programming file calls corresponding transplanting code respectively, and each logical device on the JTAG chain is carried out online programming;
As shown in Figure 3, be second kind of online programming mode process flow diagram:
Step 1 ': the different manufacturers logical device utilizes producer's instrument to generate the chaining programming file of several different-formats respectively on the JTAG chain; Described chaining programming file comprises on the JTAG chain programming content and the positional information of identical producer logical device on each logical device positional information, jtag instruction register length and the JTAG chain;
Step 2 ': the chaining of different-format programming file calls corresponding transplanting code respectively, and the logical device of the correspondence on the JTAG chain is carried out online programming.
Now illustrate in conjunction with the process to second kind of online programming mode below Fig. 2:
In the JTAG chain as shown in Figure 2, logical device 1,3 is the device of ALTERA company, and logical device 2,4 is the device of LATTICE company; Below programming process is described:
A) generate the single programming file that comprises individual devices programming content respectively.Utilize the programming tool of ALTERA company to generate single programming file 1.pof, the 3.pof of corresponding form respectively as logical device 1 and 3; Logical device 2 and 4 utilizes the programming tool of LATTICE company to generate single programming file 2.jed, the 4.jed of corresponding form respectively;
B) generate the chaining programming file of the .jbc form comprise each logical device positional information on the JTAG chain, jtag instruction register length and logical device 1,3 programming contents, generate the chaining programming file of the .vme form that comprises each logical device positional information on the JTAG chain, jtag instruction register length and logical device 2,4 programming contents;
1.pof, generate to transplant the form of code JAMPLAYER identification be that the chaining programming file of .jbc (only comprises device 1 3.pof single programming file need call the programming tool of ALTERA company, each logical device position on 3 programming content and the JTAG chain, jtag instruction register length information), in like manner, logical device 2, the 2.jed of 4 correspondences, generate to transplant the form of code ispVMEmdedded identification be that the programming file of .vme (only comprises device 2 4.jed single programming file need call the programming tool of LATTICE company, each logical device positional information on 4 programming content and the JTAG chain, jtag instruction register length information);
C) chaining of various forms programming file calls corresponding transplanting code respectively, and the logical device on the JTAG chain is carried out online programming:
The chaining programming file of .jbc form that only comprises the programming content information of each logical device positional information on the JTAG chain, jtag instruction register length and device 1,3 calls corresponding transplanting code JAMPLAYER logical device 1,3 is carried out online programming; The chaining programming file of .vme form that only comprises the programming content of each logical device positional information on the JTAG chain, jtag instruction register length and device 2,4 calls corresponding transplanting code ispVMEmdedded logical device 2,4 is carried out online programming.
As from the foregoing, article one, several different producers are arranged on the JTAG chain, need several of generations to comprise the chaining programming files of identical producer logical device programming content, the chaining that generates is programmed file load in the counterlogic device by the transplanting code that calls different manufacturers.
The third online programming mode, the different manufacturers logical device utilizes producer's instrument to generate the chaining programming file of several different-formats respectively on the JTAG chain; Described chaining programming file comprises on the JTAG chain programming content of identical producer logical device on each logical device positional information, jtag instruction register length and the JTAG chain; Chaining programming file to the different-format that generates is resolved, and obtains the programming content of each logical device on the JTAG chain, and each logical device on the JTAG chain is carried out online programming;
As shown in Figure 4, be the third online programming mode process flow diagram:
Step 1 ": utilize different manufacturers programming tool on the JTAG chain to generate the chaining programming file of several different-formats respectively;
Step 2 ": the chaining programming file to the different-format that generates is resolved, and obtains the programming content of respective logic device, and the respective logic device on the JTAG chain is carried out online programming.
Utilize the programming tool of different manufacturers on the JTAG chain generate respectively several different-formats chaining programming file concrete generative process can referring in second kind of online programming mode a) and b) description of part.
Below the chaining programming file of the different-format that generates is resolved, the programming content of obtaining the respective logic device describes, and referring to Fig. 5, the programming content of chaining programming document analysis being obtained the respective logic device comprises:
Step 21:, carry out cyclic redundancy (CRC) verification of corresponding form according to the form of chaining programming file; As: the chaining programming file layout of input is .jbc, then carries out jbc form corresponding check, jbc_crc_check;
Step 22: judge whether cyclic redundancy check (CRC) is correct, when cyclic redundancy check (CRC) is correct, execution in step 23; Otherwise finish;
Step 23:, resolve the programming content of positional information, jtag instruction register length information and the respective logic device of each logical device on the JTAG chain according to the form of chaining programming file.
After generating described chaining programming file, the resolving of different-format is set according to the form (forms such as .jbc .vme) of each chaining programming file, parse logical device information, instruction length and programming content etc. on the concrete JTAG chain, finish loading and programming logical device on the JTAG chain.
Concrete: after obtaining chaining programming file,, carry out the parsing of corresponding form as .jbc form, vme form according to the form of chaining programming file.The chaining programming file of every kind of form can store fixing information in the fixed position, and table 1 is depicted as the chaining programming file layout of .jbc form:
The chaining programming file format table of table 1 .jbc form
Last table has just carried out some simple analysis to the form of .jbc file, and the left side one row target is the address.First_word (4A414D01) fixes, and also might be 4A414D00, in the first address of chaining programming file if these two values then can parse the chaining programming file into the .jbc form, and be to be generated by the QUARTUS programming tool.Ensuing action_table, procdure_table, storages such as string_table be the address of variable, these variablees all are meant the aciculiform formula, retrieve the corresponding value of information according to the address of pointer indication from the relevant position of chaining programming file.Therefore the chaining of .jbc form programming file is to form according to a kind of arrangement architecture of this pointer basically, in all useful informations are included in entirely.After correspondence position reads corresponding information, can obtain the positional information of each logical device on the form, version information, compilation tool, JTAG chain of file, the data programmed content of respective logic device etc. according to the chaining of this form programming file.
In the present embodiment step 22, if chaining programming file layout is the .jbc form, cyclic redundancy data Crc_section in jbc_crc_check check results of carrying out and the chaining programming file compares, deposit the position cyclic redundancy data Crc_section as 0x28-0x2b in the table 1, for follow-up parsing and online programming provide the accuracy assurance.Other as.Though the implication of data is different in the deposit position of the chaining of forms such as vme programming file and the chaining programming file data of .jbc form and each position, just deposits the form difference, resolving is similar, exemplifies no longer one by one at this.
Behind programming Context resolution to different-format chaining programming file, obtain the programming content of positional information, jtag instruction length and each logical device of each logical device, then each logical device is carried out online programming, back extended meeting is specifically described the programme process of load content of logical device.
The 4th kind of online programming mode generates a chaining programming file that comprises the serial vector format of all logical device information on the JTAG chain, utilizes described chaining programming file that arbitrary logical device on the JTAG chain is carried out online programming.
Below in conjunction with Fig. 2 and Fig. 6 the method for the 4th kind of online programming of logical device is described.
Fig. 6 is method embodiment three process flow diagrams of logic device on-line programming of the present invention.As shown in Figure 6, present embodiment comprises:
Step 1: the chaining programming file that generates a serial vector format that comprises each logical device positional information on the JTAG chain, jtag instruction register length, each logical device programming content;
Step 2: described chaining programming file is resolved, obtain the programming content of each logical device, each logical device on the JTAG chain is carried out online programming.
Present embodiment step 1 need to generate a chaining programming file, and all logical devices programming content, jtag instruction register length and the positional informations etc. of similar and different producer on the JTAG chain are included.Step 1 generates the process of a chaining programming file that meets the demands referring to Fig. 7, comprising:
Step 11: generate the programming file comprise the single serial vector format of single logical device programming content and jtag instruction register length on the JTAG chain;
Step 12:, generate or each single programming file edit is generated the chaining programming file of a serial vector format with arbitrary programming tool according to the position of each logical device on the programming file of above-mentioned single serial vector format and the JTAG chain.
Below in conjunction with Fig. 2 the generative process of serial vector format chaining programming file is illustrated: for example, 1,3 is the device of ALTERA company among Fig. 2, and 2,4 is the device of LATTICE company; Generating a chaining programming file that comprises the serial vector format of logical device 1-4 comprises:
A) generate the single programming file that comprises individual devices programming content and jtag instruction register length respectively.Utilize the programming tool of ALTERA company to generate single programming file 1.pof, the 3.pof of corresponding form respectively as logical device 1 and 3; Logical device 2 and 4 utilizes the programming tool of LATTICE company to generate single programming file 2.jed, the 4.jed of corresponding form respectively;
B) the single programming file of each logical device different-format on the JTAG chain to be generated a chaining programming file, need earlier the single programming file of different-format to be generated the programming file of serial vector format, as: utilize the programming tool of LATTICE company 2.jed and 4.jed to be converted to programming file 2.svf, the 4.svf of serial vector format (Serial Vector Format is abbreviated as svf).The serial vector format is the file layout that different programming tools can generate, and all logical devices are all supported the programming file of this form;
C) use arbitrary programming tool, as: the programming tool ispVM of LATTICE company, the single programming file of 4 serial vector formats is generated a chaining programming file that comprises device 1-4 serial vector format, perhaps each single programming file edit is generated a chaining programming file that comprises device 1-4 serial vector format:
Utilize the chain editting function of programming tool, position priority according to logical device, the single programming file of 4 single serial vector formats is generated the chaining programming file of a serial vector format, perhaps, each single serial vector format programming file edit is merged the chaining programming file that generates a serial vector format according to the location order of each logical device on the JTAG chain.
Therefore, utilize arbitrary programming tool or edit can generate the chaining programming file of a serial vector format, comprise the position of each logical device on the JTAG chain in this chaining programming file, programming content and jtag instruction register length.After generating the chaining programming file of a serial vector format, described chaining programming file is resolved, obtain the programming content of each logical device, then arbitrary logical device on the JTAG chain is carried out online programming.
The serial vector format has defined a cover grammer, in order to the scanning sequency and the process of description jtag instruction and data, and the content of instruction and data, be the descriptive language of JTAG channel link action.It is different with the chaining programming file of .jbc or .vme form that (the chaining programming file as the .jbc form that table one exemplified is the binary code that is difficult to distinguish, be difficult for recognition), it is equally readable than higher that the files classes of serial vector format are similar to the C language file, the content of the chaining programming file of this form is readable, even can edit as required, therefrom can directly parse programming instruction, data content and the positional information etc. of each logical device, obtain again each logical device to be loaded corresponding programming content after each logical device information.
First kind and second kind of online programming mode need generate several single programming files or chaining programming file; And call corresponding transplanting code respectively, and each logical device on the JTAG chain is carried out online programming, these two kinds of programming modes and programming process are fairly simple, but are subjected to the restriction that code is transplanted by each producer; The third online programming mode also needs to generate the chaining programming file of several different-formats, transplants code but never call producer during later programmed, and the chaining programming file of the different-format that generates is resolved, and has removed producer to transplanting the privately owned protection of code; The 4th kind of online programming mode realized the online programming to logical device on the JTAG chain equally, generate the chaining programming file of a serial vector format, and, can finish loading and programming to all logical devices with the chaining file of programming to the chaining of described serial vector format programming document analysis.
In the third and the 4th kind of online programming mode, after chaining programming document analysis obtained programming content, instruction length and the positional information of each logical device, can carry out online programming to each logical device on the JTAG chain, referring to Fig. 8, each logical device on the JTAG chain is carried out online programming comprises:
Step 31: according to each logical device positional information, jtag instruction register length instruction is handled, with the selected programming state of the logical device of needs programming;
Step 32: data content is added the logical device that needs programming.
According to each logical device positional information, jtag instruction register length the logical device of needs programming is sent programming instruction in the step 31, the logical device that does not need to programme is sent bypass instruction, to the instruction of each logical device be sent successively according to the position, then only to the selected programming state of the logical device of needs programming.
Fig. 9 resolves synoptic diagram for Fig. 8 embodiment.As shown in Figure 9, three devices become a JTAG chain, from test data input (Test Data Input is called for short TDI) mouthful input data, from test data output (Test Data Out put is called for short TDO) mouthful output data.Device 2 is programmed, suppose knowing that the jtag instruction register length of device 1 is 6 behind the chaining programming document analysis; The jtag instruction register length of device 3 is 8; The jtag instruction register length of device 2 is 10, and the binary command of online programming (ISC_PROGRAM) is " 0000010010 ".To device 2 programmings the time, need give the order register of device 2 online programming (ISC_PROGRAM) instruction, device 1 and 3 all needs bypass (according to the IEEE1149.1 standard, bypass instruction is " 1 " entirely), therefore in the scan instruction cycle, the binary command of sending into from TDI should be " 111111000001001011111111 ", totally 24.The instruction that device 1 receives is exactly " 111111 ", and the instruction that device 2 receives is exactly " 0000010010 ", and the instruction that device 3 receives is exactly " 11111111 ".Device 1 and 3 is carried out bypass operation, and device 2 begins to carry out the online programming operation, and the programming data content is given device 2 from TDI, and device 1 and 3 is in bypass condition.
In like manner, the programming content being added the logical device process that needs to programme is: the logical device that does not need to programme is sent bypass data (according to IEEE 1149.1 and IEEE 1532 standards, bypass data send " 0 " to get final product).To the logical device of needs programming, the data content of this logical device moves into device serially by the TDI mouth of jtag interface, obtains the programming content.Programming data as device 2 is 97 " * * * * ... .** ", totally 97 bit data, when then device 2 being write the programming content, need give the data register of device 2 the programming content, device 1 and 3 all needs bypass (only need send " 0 " gets final product), and therefore the binary data of sending into from TDI should be " 0****....**0 ", totally 99, device 1 and device 3 are bypass datas, have only device 2 to receive 97 programming data.Concrete operations in the IEEE1149.1 standard criterion, have been stipulated the operation of serial-shift and bypass with reference to IEEE1149.1 and IEEE 1532 standards, are not described in detail in this.
Figure 10 carries out embodiment two process flow diagrams of online programming to a logical device on the JTAG chain for the present invention.Comprise the chaining programming file of several different-formats that the chaining programming file of a serial vector format of each logical device positional information on the JTAG chain, jtag instruction register length, each logical device programming content or generation comprise each logical device positional information on the JTAG chain, jtag instruction register length and identical producer logical device programming content in generation after, by parsing to chaining programming file, after obtaining the position, programming data, instruction length of each logical device on the JTAG chain, when a certain logical device is programmed on to the JTAG chain, comprising:
Step 310: call the JTAG control function, make whole JTAG chain be in programming state;
Step 311: programming instruction is handled, and non-programming device substitutes with bypass instruction;
Step 312: the instruction after output is additional, the selected logical device that needs programming;
Step 32: the output programming data, programme;
Step 4: the programming data that the logical device serial-shift is read carries out verification, judges whether to be then to finish correctly, otherwise judge whether to surpass default number of times, present embodiment is set at 3 times, if be no more than 3 times then execution in step 310, reprogramming, otherwise finish the expression program fail.
After a certain logical device was carried out online programming, the programming data that the logical device serial-shift is read carried out verification, judge the data programmed content whether with want the loaded data content consistent, guarantee accuracy to logic device on-line loaded.
Figure 11 is device embodiment one synoptic diagram of logic device on-line programming of the present invention.As shown in figure 10, present embodiment comprises:
Acquisition module 1, be connected with programming module 2, be used to obtain the chaining programming file of the different-format that comprises each logical device positional information on the JTAG chain, jtag instruction register length and identical producer logical device programming content or comprise the chaining programming file of the serial vector format of all logical device positional informations on the JTAG chain, jtag instruction register length, logical device programming content;
Programming module 2 is connected with acquisition module 1, is used to resolve chaining programming file, obtains the programming content of each logical device and arbitrary logical device on the JTAG chain is carried out online programming.
Figure 11 embodiment is for realizing the device of logic device on-line programmed method among the present invention, can be implemented on the JTAG chain, with chaining programming file the logical device of different manufacturers on the JTAG chain is carried out online programming, strengthened the logical device flexibility of programming, occupy less physical resource, reduce the cost and the programming complexity of document management.
Figure 12 is a programming module inner structure embodiment synoptic diagram of the present invention.As shown in figure 12, in the present embodiment, programming module comprises:
Interface module 21 is connected with parsing module 22, reads in chaining programming file, and the jtag interface of steering logic device is finished programming operation; Described interface module 21 is connected with the jtag interface of programming device, with output and control programming data content;
Parsing module 22 is connected with interface module 21, according to the programming content of each logical device of chaining programming document analysis that obtains; And import analysis result into interface module 21 when a certain logical device carried out online programming; Parsing module 22 further comprises:
Syndrome module 221 is connected with form analyzing sub-module 222, and chaining programming file is carried out verification, by the time import the chaining file of programming into format analysis submodule 222;
Format analysis submodule 222, be connected with syndrome module 221 and sub module stored 223, form according to chaining programming file, chaining programming file is resolved, obtain positional information, jtag instruction register length information and each logical device data programmed content of each logical device on the JTAG chain;
Sub module stored 223 is connected with form analyzing sub-module 222, preserves each logical device data programmed content of resolving.
The verification submodule can carry out verification to the chaining file of programming in the present embodiment, has increased accuracy; The format analysis module can be carried out corresponding parsing according to the chaining different form of file of programming, and concrete operations can be referring to the explanation of the inventive method embodiment.
Among Figure 12 embodiment, described programming module can also comprise: calling module 23, be connected with interface module 21, the chaining programming file that is used for the different-format that comprises each logical device positional information on the JTAG chain, jtag instruction register length and identical producer logical device programming content that obtains according to interface module calls corresponding transplanting code, and the content of will programming is imported interface module 21 into.
After the satisfied chaining that only comprises identical producer logical device programming content of generation is programmed file, the transplanting code that can call producer carries out online programming to logical device on the chain, perhaps the chaining programming file of different-format is resolved, then logical device on the chain is carried out online programming, so programming module can comprise parsing module or calling module, also can both include, realize programming mode flexibly.
Figure 13 is device embodiment two synoptic diagram of logic device on-line programming of the present invention.Parsing module inner structure and Figure 12 are similar among Figure 13, difference is, also comprise in the parsing module: data processing submodule 224, be connected with sub module stored 223, according to each logical device positional information, jtag instruction register length programming instruction or data are handled, instruction or data after handling are sent to interface module 21.Other with Figure 12 in identical specific functional modules no longer describe in detail.
The embodiment of the invention forms a JTAG chain for the logical device of different manufacturers, does not need to transplant the programming code that different manufacturers provides, and can carry out online programming to the logical device on the JTAG chain, has strengthened the logical device flexibility of programming; Can generate a chaining programming file that comprises the serial vector format of all logical device information, utilize a chaining programming file that logical device is programmed, reduced document management cost, occupy less physical resource, and when having simplified a plurality of logical device chaining of different manufacturers greatly logical device is carried out the complexity of online programming, be specially adapted to embedded programming, carry out remote upgrade and maintenance.
It should be noted that at last: above embodiment is only unrestricted in order to technical scheme of the present invention to be described, although the present invention is had been described in detail with reference to preferred embodiment, those of ordinary skill in the art is to be understood that, can make amendment or be equal to replacement technical scheme of the present invention, and not break away from the spirit and scope of technical solution of the present invention.

Claims (16)

1. the method for a logic device on-line programming is characterized in that, comprising:
With different manufacturers or JTAG chain of each logical device formation different and identical producer;
Generation comprises the positional information of described each logical device of JTAG chain, the positional information that the chaining programming file of a serial vector format of jtag instruction register length information and each logical device programming content or generation comprise described each logical device of JTAG chain, the chaining of several different-formats of identical producer logical device programming content programming file or generate respectively and comprise each logical device positional information on the described JTAG chain on jtag instruction register length information and the JTAG chain, the single programming file of single logical device programming content on jtag instruction register length information and the JTAG chain; Arbitrary logical device on the described JTAG chain is carried out online programming.
2. the method for logic device on-line according to claim 1 programming is characterized in that, describedly arbitrary logical device on the described JTAG chain is carried out online programming comprises:
Chaining programming file to a described serial vector format is resolved, and obtains positional information, jtag instruction register length information and each logical device programming content of each logical device on the JTAG chain;
Each logical device on the JTAG chain is carried out online programming.
3. the method for logic device on-line according to claim 1 programming is characterized in that, describedly arbitrary logical device on the described JTAG chain is carried out online programming comprises:
Chaining programming file to described several different-formats is resolved, and obtains positional information, jtag instruction register length information and each logical device programming content of each logical device on the JTAG chain, and each logical device on the JTAG chain is carried out online programming.
4. the method for logic device on-line according to claim 1 programming is characterized in that, describedly arbitrary logical device on the described JTAG chain is carried out online programming comprises:
The chaining of described several different-formats programming file is called the transplanting code of its correspondence respectively, each logical device on the JTAG chain is carried out online programming.
5. the method for logic device on-line according to claim 1 programming is characterized in that, describedly arbitrary logical device on the described JTAG chain is carried out online programming comprises:
Call the transplanting code of each single programming file correspondence, each logical device on the JTAG chain is carried out online programming.
6. the method for logic device on-line programming according to claim 2, it is characterized in that described generation comprises that the chaining programming file of a serial vector format of each logical device positional information of described JTAG chain, jtag instruction register length information and each logical device programming content comprises:
Generate the programming file comprise the single serial vector format of single logical device programming content and jtag instruction register length information on the JTAG chain respectively;
According to the position of each logical device on the programming file of each single serial vector format and the JTAG chain, generate or the programming file edit of each single serial vector format generated the chaining programming file of a serial vector format with arbitrary programming tool.
7. the method for logic device on-line programming according to claim 3, it is characterized in that, described chaining programming file to described several different-formats is resolved, and positional information, jtag instruction register length information and each logical device programming content of obtaining each logical device on the JTAG chain comprise:
According to the form of the chaining of described several different-formats programming file, carry out the cyclic redundancy check (CRC) of corresponding form;
Judge whether described cyclic redundancy check (CRC) is correct, when verification is correct, carry out the parsing of the corresponding form of chaining programming file of described several different-formats, obtain the programming content of positional information, jtag instruction register length information and each logical device of each logical device on the JTAG chain.
8. according to the method for claim 2, the programming of 3 or 6 described logic device on-line, it is characterized in that, describedly each logical device on the JTAG chain is carried out online programming comprise:
According to positional information, the jtag instruction register length information of each logical device on the JTAG chain instruction is handled,, the programming content is added the logical device that needs programming the selected programming state of the logical device of needs programming.
9. the method for logic device on-line programming according to claim 8, it is characterized in that, describedly instruction is handled, is the selected programming state of the logical device of needs programming according to positional information, the jtag instruction register length information of each logical device on the JTAG chain:
According to positional information, the jtag instruction register length information of each logical device on the JTAG chain logical device of needs programming is sent programming instruction, the logical device that does not need to programme is sent bypass instruction, will the instruction of each logical device be sent successively according to the position.
10. the method for logic device on-line programming according to claim 9 is characterized in that, the described content of will programming adds needs the logical device of programming to be:
The logical device that does not need to programme is sent bypass data, the logical device of needs programming is sent programming data, will the data content of each logical device be sent successively according to the position.
11. the method according to claim 2,3,6, the programming of 9 or 10 described logic device on-line is characterized in that, described arbitrary logical device on the JTAG chain is carried out also comprising after the online programming:
Programming content to the logical device of online programming is carried out verification, judges whether verification correct, when verification not by and during less than default number of times, again logical device is carried out online programming.
12. the device of a logic device on-line programming is characterized in that, comprising:
Acquisition module, be connected with programming module, be used to obtain the chaining programming file of several different-formats that comprise each logical device positional information on the JTAG chain, jtag instruction register length information and identical producer logical device programming content or comprise the chaining programming file of the serial vector format of each logical device positional information on the JTAG chain, jtag instruction register length information and each logical device programming content;
Programming module is connected with acquisition module, is used to resolve chaining programming file, and arbitrary logical device on the JTAG chain is carried out online programming.
13. the device of logic device on-line programming according to claim 12 is characterized in that described programming module comprises:
Interface module is connected with parsing module, reads in chaining programming file, and the jtag interface of steering logic device is carried out programming operation;
Parsing module is connected with interface module, according to positional information, jtag instruction register length information and each logical device programming content of the chaining programming document analysis logical device that obtains; And import analysis result into interface module when a certain logical device carried out online programming.
14. the device of logic device on-line programming according to claim 13 is characterized in that described programming module further comprises:
Calling module, be connected with interface module, the chaining programming file that is used for the different-format that comprises each logical device positional information on the JTAG chain, jtag instruction register length information and identical producer logical device programming content that obtains according to interface module calls corresponding transplanting code, and the content of will programming is imported interface module into.
15. the device according to claim 13 or 14 described logic device on-line programmings is characterized in that described parsing module comprises:
The syndrome module is connected with the form analyzing sub-module, and chaining programming file is carried out verification, verification by the time chaining file of programming sent to the format analysis submodule;
The format analysis submodule, be connected with syndrome module and sub module stored, according to the form of chaining programming file, chaining programming file is resolved, obtain the programming content of positional information, jtag instruction register length information and each logical device of each logical device on the JTAG chain;
Sub module stored is connected with the form analyzing sub-module, preserves the programming content of each logical device of resolving.
16. the device of logic device on-line programming according to claim 15 is characterized in that described parsing module further comprises:
The data processing submodule is connected with sub module stored, according to each logical device positional information, jtag instruction register length information programming instruction or data is handled, and instruction or data after handling are sent to interface module.
CNB2007100864916A 2007-03-13 2007-03-13 Method and device for on-line programming logic device Active CN100468335C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100864916A CN100468335C (en) 2007-03-13 2007-03-13 Method and device for on-line programming logic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100864916A CN100468335C (en) 2007-03-13 2007-03-13 Method and device for on-line programming logic device

Publications (2)

Publication Number Publication Date
CN101030147A CN101030147A (en) 2007-09-05
CN100468335C true CN100468335C (en) 2009-03-11

Family

ID=38715519

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100864916A Active CN100468335C (en) 2007-03-13 2007-03-13 Method and device for on-line programming logic device

Country Status (1)

Country Link
CN (1) CN100468335C (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508777A (en) * 2011-11-04 2012-06-20 杭州中天微系统有限公司 In-circuit emulator device supporting multiple lower layer interfaces

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894029A (en) * 2010-06-21 2010-11-24 中兴通讯股份有限公司 Method and device for upgrading complex programmable logic device on line
CN103680608A (en) * 2012-09-18 2014-03-26 英业达科技有限公司 System and method for improving chip burning speed of boundary scan technology

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CPLD器件的在系统动态配置. 陈德军,李小兵.单片机与嵌入式系统应用. 2005
CPLD器件的在系统动态配置. 陈德军,李小兵.单片机与嵌入式系统应用. 2005 *
边界扫描板级链路测试性设计方法研究. 刘明云,李桂祥,张贤志,杨江平.半导体技术,第29卷第11期. 2004
边界扫描板级链路测试性设计方法研究. 刘明云,李桂祥,张贤志,杨江平.半导体技术,第29卷第11期. 2004 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508777A (en) * 2011-11-04 2012-06-20 杭州中天微系统有限公司 In-circuit emulator device supporting multiple lower layer interfaces

Also Published As

Publication number Publication date
CN101030147A (en) 2007-09-05

Similar Documents

Publication Publication Date Title
CN106227668B (en) Data processing method and device
Zadegan et al. Design automation for IEEE P1687
CN101883991B (en) Method and apparatus for describing components adapted for dynamically modifying scan path for system-on-chip testing
US6415430B1 (en) Method and apparatus for SAT solver architecture with very low synthesis and layout overhead
CN108874438B (en) Patch generation method and device, electronic equipment and computer storage medium
KR100555997B1 (en) A memory engine for the inspection and manipulation of data
US8332715B2 (en) Test pattern generating method, device, and program
CN112630622B (en) Method and system for pattern compiling, downloading and testing of ATE (automatic test equipment)
CN100468335C (en) Method and device for on-line programming logic device
US5587919A (en) Apparatus and method for logic optimization by redundancy addition and removal
CN105468797A (en) Information processing method and apparatus
CN106611084A (en) Integrated circuit designing method and apparatus
CN113157597A (en) Structure analysis method, structure analysis device, electronic equipment and storage medium
CN101226502A (en) Automatization test method and system
CN103218297A (en) Screening method and device of test data
US20040154004A1 (en) Web application code conversion system
US7185330B1 (en) Code optimization method and system
CN100478914C (en) Symbol debug method and system in cross integration development environment
EP0670552B1 (en) Design automation method for digital electronic circuits
CN106560797B (en) A kind of unit test system and method based on debugger
US20090064092A1 (en) Visual programming language optimization
CN102280141A (en) Programming method for flash memory chip, and apparatus thereof
Graics et al. Integration test generation and formal verification for distributed controllers
CN106095663B (en) Program based on hierarchical model returns location of mistake method
CN114239459B (en) Processing method, device, equipment and medium for FPGA prototype design file

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230529

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.