GB2253277A - Testing programmable logic devices - Google Patents
Testing programmable logic devices Download PDFInfo
- Publication number
- GB2253277A GB2253277A GB9103112A GB9103112A GB2253277A GB 2253277 A GB2253277 A GB 2253277A GB 9103112 A GB9103112 A GB 9103112A GB 9103112 A GB9103112 A GB 9103112A GB 2253277 A GB2253277 A GB 2253277A
- Authority
- GB
- United Kingdom
- Prior art keywords
- pld
- decoder
- output
- computer
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318516—Test of programmable logic devices [PLDs]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
To test a programmable logic device (15), a decoder device (10) is attached (11) to the PLD; each PLD terminal is sequentially tested as in Fig 2 to determine whether it is an input or an output; and all possible input combination are sequentially applied (13) to each input. For each combination the condition of each output is determined (13), and the conditions of the output are processed (14) to determine the function of the output. In Figure 2 the resistors (16) are chosen so that input pins of PLD (15) change state when an input is switched from low to high whereas output pins do not change state when the same switched input is applied thereto. <IMAGE>
Description
PROGRAMMABLE LOGIC DEVICE DECODER
The present invention relates to Programmable Logic Device (PLD)
Decoders for use in testing programmed PLDs.
Conventionally, circuit designers construct circuits from a plurality of standardised chips each of which contain a plurality of items many of which, in the completed circuit, are redundant. This inevitably results in unnecessary expense and complications. However the characteristics of components constructed in this way are known to all, and can be held in a component tester's library, and facilities are usually available for testing such components.
Recently devices known as Programmable Logic Devices (PLD) have appeared on the market. These devices contain a large number of items and are intended to enable a circuit designer to create his own customised logic circuits on one component. Normally all possible connections between items on a PLD are made. The device is programmed by the designer according to a computer programme which blows all redundant connections, thereby creating a customised circuit.
Normally the software verifies the completed device by checking internal connections. However this verification does not guarantee that the device is functioning as the device may well include faulty elements which are not identified. The characteristics of a customised circuit will be unique and therefore unknown to current component testers. There is an inadequacy in that PLDs cannot be tested after programming.
Furthermore PLDs all look the same, but, once programmed, will function differently. A user must therefore label his devices for identification purposes. When a label is lost the PLD programming software (if still available) can be used to establish the nature of the internal connections, but even with this information specialist knowledge and a great deal of time is necessary to establish the function of the circuit.
A further complication is that PLDs frequently have a security bit which is normally blown once the device has been programmed, after which not even the state of the internal connections can be read.
There is therefore a need for a device for testing programmed
PLDs.
According to the present invention a PLD decoder includes means for attachment to a PLD, means for sequentially testing each PLD terminal to determine whether the terminal is an input or an output, means for sequentially applying all possible input combinations to the inputs and, for each combination, determining the condition of each output, and means for processing the conditions in order to determine the function of the output. All input combinations will normally be applied for each output in turn.
The decoder preferably includes a test socket, ideally a zero insertion force variant, capable of accepting devices having a plurality of pins, and means whereby the decoder can be informed of the number of pins on the device so that power supplies can be automatically routed to the correct pins.
Preferably the decoder also contains a versatile interface to the test socket, and a first computer (Z80-based for example) with interconnection by which the decoder can be connected to act in partnership with a second, host computer which has a visual display.
The test programme can be controlled with the aid of a mouse driven menu which offers the facilities to modify the component test conditions, select#specific outputs, manipulate results and load differing device sizes.
According to another aspect of the invention a method of testing a programmed PLD includes the steps of connecting the device to a
PLD decoder, sequentially testing each terminal of the device to determine whether it is an input or an output, sequentially applying all possible input combinations to the inputs and, for each combination, determining the condition at the outputs, and processing the conditions to determine the full function of the PLD.
Some embodiments of the invention will now be described, by way of example only, with reference to the accompanying diagramatic drawings, of which:
Figure 1 is an elevation of a decoder according to the invention
in association with a second computer,
Figure 2 is a circuit diagram indicating the method of
determining input and output terminals,
Figure 3 is a diagram indicating a method of passing information
from the decoder to the second computer, and
Figure 4 is a diagram of a logic circuit associated with the
method of figure 3.
A decoder 10 according to the invention (Figure 1) contains a test socket 11, a Versatile Interface 12 and a first computer 13 which might be, for example, a Z80. The test socket 11 is preferably a zero insertion force variant capable of accepting programmable logic devices of sizes up to, for example, 40 pins.
In use the decoder 10 is connected to a second computer 14 which might be, for example, a IBM XT/AT computer, and a programmed
PLD which it is desired to test, 15, is plugged into the test socket 11. The size of the device 15 (for example, 20 pin device, 24 pin device etc.) is declared to the decoder 10 and the test sequence is initiated.
In test sequence the program stored within the first computer 13 systematically applies to each terminal of the device 15 a sequence of high and low (for example, plus 5 volts and zero volts) voltages through resistors 16 (Figure 2). The resistors 16 are of such a size that whichever voltage is supplied to an output pin insufficient current flows to change the state of the pin. By contrast when a pin is an input the pin will be high when connected to the high voltage and low when connected to the low voltage.
A diagram of the device with input and output pins labelled is displayed on a screen of the second computer 14. A user of the decoder is guided by a simple mouse driven menu which offers the facilities to modify the component test conditions by, for example, placing certain input pins to 5 volts or zero volts before testing occurs. The user then clicks the mouse over the output pin(s) of interest and executes the analysis of the component.
The decoder 10 then presents every possible input condition to the device 15 and monitors each response of each output. The first computer 13 applies the input conditions and transfers the response of the output for each, as it gets them, to the second computer 14 for processing. When all input conditions have been applied, the second computer produces a transfer function for each output which is presented in sum of products boolean algebra. A minimisation process such as, for example, the Sharp Product System is used to produce the boolean function.
Knowing the function which the device 15 is intended to perform a user of the decoder 10 will immediately recognise from the transfer functions of the output whether or not the device 15 is functioning correctly.
The tasks of the computers 13, 14 will be such that each will be heavily loaded with tasks at differing times to each other. In a preferred method of passing data from the first computer 13 to the second computer 14, a pseudo ring 20 (Figure 3) of data slots 21 is used. The first computer 13 places data on one element 21 and moves along the ring without hesitation. The second processor 14 follows behind picking off the data at its own pace. Progression of the computers 13, 14 is programmed so that neither can overtake the other. This allows the first computer 13 to proceed with compiling more data when the second computer 14 is temporarily too busy to accept data. Furthermore, it allows the second computer 14 to process piled up data when the first computer 13 has temporarily stopped issuing data. The ring 20 resides in volatile memory, accessible to both computers 13, 14.
A problem with this system is that the second computer 14, which is the master computer must instruct the first computer 13 to leave the circuit when it requires access to the ring 20. Thus a situation may be reached where the second computer 14 is persistantly disturbing the first computer 13 whilst waiting for data, thereby preventing the first computer from computing the data.
To prevent this an external counter circuit (Figure 4) is used.
This circuit allows the second computer 14 to check for waiting data on the ring 20 without accessing the ring 20.
According to this circuit whenever the first computer 13 places data on the ring 20 the counter is incremented, and whenever the second computer 14 takes data off the counter is decremented. The counter always displays the relative position between the two computers 13, 14. When the counter shows zero the second computer 14 must wait, whilst if the counter is showing full displacement then the first computer 13 must wait. When the first computer 13 clocks the counter to the maximum state (that is when information is contained on each element 21) the counter suspends the first computer 13 from operating until the second computer 14 removes information.
Claims (12)
- What is claimed is: 1. A Programmable Logic Device (PLD) decoder including means for attachment to a PLD, means for sequentially testing each PLD terminal to determine whether the terminal is an input or an output, means for sequentially applying all possible input combinations to the inputs and, for each combination, determining the condition of each output, and means for processing the conditions in order to determine the function of the output.
- 2. A PLD decoder as claimed in Claim 1 wherein input combinations are applied for each output in turn.
- 3. A PLD decoder as claimed in Claim 1 or in Claim 2 wherein the decoder includes a test socket capable of accepting devices having a plurality of pins, and means whereby the decoder can be informed of the number of pins on the device so that power supplies can be automatically routed to the correct pins.
- 4. A PLD decoder as claimed in Claim 3 wherein the test socket is a zero insertion force variant.
- 5. A PLD decoder as claimed in Claim 3 or in Claim 4 wherein the decoder also contains a versatile interface to the test socket, and a first computer with interconnections by which the decoder can be connected to act in partnership with a second, host computer.
- 6. A PLD decoder as claimed in Claim 4 or in Claim 5 wherein the first computer is Z80 - based
- 7. A PLD decoder as claimed in Claim 5 or in Claim 6 wherein the second computer has a visual display.
- 8. A PLD decoder as claimed in any one of claims 1 to 7 wherein a test programme is controlled with the aid of a mouse driven menu which offers the facilities to modify the component test conditions, select specific outputs, manipulate results and load differing device sizes.
- 9. A PLD decoder as claimed in any one of Claims 5 to 7 including a pseudo ring of data slots whereby data can be passed between the first and second computers.
- 10. A method of testing a programmed PLD including the steps of connecting the device to a PLD decoder, sequentially testing each terminal of the device to determine whether it is an input or an output, sequentially applying all possible input combinations to the inputs and, for each combination, determining the condition at the outputs, and processing the conditions to determine the full function of the PLD.
- 11. A PLD decoder substantially as herein described with reference to Figure 1 to 4 of the accompanying drawing.
- 12. A method of testing a programmed PLD substantially as herein described with reference to Figuresl to 4 of the accompanying drawings.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9103112A GB2253277B (en) | 1991-02-14 | 1991-02-14 | Programmable logic device decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9103112A GB2253277B (en) | 1991-02-14 | 1991-02-14 | Programmable logic device decoder |
Publications (3)
Publication Number | Publication Date |
---|---|
GB9103112D0 GB9103112D0 (en) | 1991-04-03 |
GB2253277A true GB2253277A (en) | 1992-09-02 |
GB2253277B GB2253277B (en) | 1995-05-10 |
Family
ID=10690008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB9103112A Expired - Fee Related GB2253277B (en) | 1991-02-14 | 1991-02-14 | Programmable logic device decoder |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2253277B (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4539517A (en) * | 1982-12-07 | 1985-09-03 | Burroughs Corporation | Method for testing an integrated circuit chip without concern as to which of the chip's terminals are inputs or outputs |
US4544882A (en) * | 1982-12-07 | 1985-10-01 | Burroughs Corporation | Apparatus for testing an integrated circuit chip without concern as to which of the chip's terminals are inputs or outputs |
US4571724A (en) * | 1983-03-23 | 1986-02-18 | Data I/O Corporation | System for testing digital logic devices |
-
1991
- 1991-02-14 GB GB9103112A patent/GB2253277B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4539517A (en) * | 1982-12-07 | 1985-09-03 | Burroughs Corporation | Method for testing an integrated circuit chip without concern as to which of the chip's terminals are inputs or outputs |
US4544882A (en) * | 1982-12-07 | 1985-10-01 | Burroughs Corporation | Apparatus for testing an integrated circuit chip without concern as to which of the chip's terminals are inputs or outputs |
US4571724A (en) * | 1983-03-23 | 1986-02-18 | Data I/O Corporation | System for testing digital logic devices |
Also Published As
Publication number | Publication date |
---|---|
GB2253277B (en) | 1995-05-10 |
GB9103112D0 (en) | 1991-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100302888B1 (en) | Devices and methods for automatic recognition and configuration of peripherals | |
US5254940A (en) | Testable embedded microprocessor and method of testing same | |
US6125417A (en) | Hot plug of adapters using optical switches | |
US6438738B1 (en) | System and method for configuring a programmable logic device | |
US4066882A (en) | Digital stimulus generating and response measuring means | |
KR100600211B1 (en) | Integrated circuit comprising a self-test device for performing self-test of the integrated circuit | |
US6182247B1 (en) | Embedded logic analyzer for a programmable logic device | |
US5715433A (en) | Dynamic software model for emulating hardware | |
AU637431B2 (en) | Method of organizing programmable logic array devices for board testability | |
EP0464433A2 (en) | Microcontroller device having remotely programmable EPROM & method of programming | |
US20020116168A1 (en) | Method and system for design verification of electronic circuits | |
US4771428A (en) | Circuit testing system | |
US4752928A (en) | Transaction analyzer | |
EP0416669A2 (en) | Logic compiler for design of circuit models | |
EP1088274B1 (en) | Verification of compatibility between modules | |
JPH0324608A (en) | Expanded function board | |
US5862368A (en) | Process to allow automatic microprocessor clock frequency detection and selection | |
US6584560B1 (en) | Method and system for booting a multiprocessor computer | |
US7313730B1 (en) | Configuration logic for embedded software | |
US6028996A (en) | Method and apparatus for virtualizing system operation | |
JP2001101017A (en) | Method and system for programming fpga on pc card without additional hardware | |
JPH08180098A (en) | Apparatus and method for discrimination of false timing route in digital circuit | |
US6530050B1 (en) | Initializing and saving peripheral device configuration states of a microcontroller using a utility program | |
US5940783A (en) | Microprocessor and method of testing the same | |
US5623674A (en) | Method for determining steerable interrupt request lines used by PCMCIA controllers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 19970214 |