Root/sie_fs/usr/local/share/urjtag/bsdl/STD_1149_1_1994

1--
2-- $Id: STD_1149_1_1994 943 2008-01-22 21:14:43Z arniml $
3--
4-- Email header accompanying the original Yacc code:
5-- http://www.eda.org/vug_bbs/bsdl.parser
6--
7-- -----------------------------------8<--------------------------------------
8--
9-- Hello All,
10--
11-- This is this first mailing of the BSDL* Version 0.0 parser specifications
12-- we are sending to people who request it from our publicized E-Mail address;
13--
14-- bsdl%hpmtlx@hplabs.HP.com
15--
16-- You are free to redistribute this at will, but we feel that it would be
17-- better if respondents asked for it directly so that their addresses can
18-- be entered into our list for future mailings and updates.
19--
20-- It would be helpful if you could confirm receipt of this transmission.
21-- We also would be very interested to hear about your experiences with this
22-- information and what you are planning to do with BSDL.
23--
24-- Regards,
25--
26-- Ken Parker
27-- Hewlett-Packard Company
28--
29--
30-- *Boundary-Scan Description Language - as documented in:
31--
32-- "A Language for Describing Boundary-Scan Devices", K.P. Parker
33-- and S. Oresjo, Proceedings 1990 International Test Conference,
34-- Washington DC, pp 222-234
35--
36--
37-- - -----------------cut here---------------------------------------------------
38--
39--
40-- 901004.0721 Hewlett-Packard Company
41-- 901016.1049 Manufacturing Test Division
42-- P.O. Box 301
43-- Loveland, Colorado 80537
44-- USA
45--
46-- October 1990
47-- Hello BSDL Parser Requestor,
48--
49-- This Electronic Mail reply contains the computer specifications for
50-- Hewlett-Packard's Version 0.0 BSDL parser. This section of the reply
51-- explains the contents of the rest of this file.
52--
53-- This file is composed of seven (7) parts:
54--
55-- 1) How to use this file
56--
57-- 2) UNIX* Lex source (lexicographical tokenizing rules)
58--
59-- 3) UNIX* Yacc source (BNF-like syntax description)
60--
61-- 4) A sample main program to recognize BSDL.
62--
63-- 5) A BSDL description of the Texas Instruments 74bct8374 that is
64-- recognized by the parser, for testing purposes.
65--
66-- 6) The VHDL package STD_1149_1_1990 needed by this parser.
67--
68-- 7) [added 901016] Porting experiences to other systems.
69--
70--
71-- RECOMMENDATION: Save a copy of this file in archival storage before
72-- processing it via the instructions below. This will
73-- allow you to recover from errors, and allow you to
74-- compare subsequently released data for changes.
75--
76-- DISCLAIMERS:
77--
78-- 1. The IEEE 1149.1 Working Group has not endorsed BSDL Version 0.0 and
79-- therefore no person may represent it as an IEEE standard or imply that
80-- a resulting IEEE standard will be identical to it.
81--
82-- 2. The IEEE 1149.1 Working Group recognizes that BSDL Version 0.0 is a
83-- well-conceived initiative that is likely to excelerate the creation
84-- of tools that support the 1149.1 standard. As such, changes and
85-- enhancements will be carefully considered so as not to needlessly
86-- disrupt these development efforts. The overriding goal is the
87-- ultimate success of the 1149.1 standard.
88--
89-- LEGAL NOTICES:
90--
91-- Hewlett-Packard Company makes no warranty of any kind with regard to
92-- this information, including, but not limited to, the implied
93-- waranties of merchantability and fitness for a particular purpose.
94--
95-- Hewlett-Packard Company shall not be liable for errors contained
96-- herein or direct, indirect, special, incidental, or consequential
97-- damages in connection with the furnishing, performance, or use of
98-- this material.
99--
100--
101-- *UNIX is a trademark of AT&T in the USA and other countries.
102--
103
104-- STD_1149_1_1990 VHDL Package and Package Body in support of
105-- BSDL Version 0.0
106--
107
108-- package STD_1149_1_1990 is -- Created 900525
109 package STD_1149_1_1994 is
110
111 -- Give pin mapping declarations
112
113 attribute PIN_MAP : string;
114 subtype PIN_MAP_STRING is string;
115
116 -- Give TAP control declarations
117
118 type CLOCK_LEVEL is (LOW, BOTH);
119 type CLOCK_INFO is record
120   FREQ : real;
121   LEVEL: CLOCK_LEVEL;
122 end record;
123
124 attribute TAP_SCAN_IN : boolean;
125 attribute TAP_SCAN_OUT : boolean;
126 attribute TAP_SCAN_CLOCK: CLOCK_INFO;
127 attribute TAP_SCAN_MODE : boolean;
128 attribute TAP_SCAN_RESET: boolean;
129
130 -- Give instruction register declarations
131
132 attribute INSTRUCTION_LENGTH : integer;
133 attribute INSTRUCTION_OPCODE : string;
134 attribute INSTRUCTION_CAPTURE : string;
135 attribute INSTRUCTION_DISABLE : string;
136 attribute INSTRUCTION_GUARD : string;
137 attribute INSTRUCTION_PRIVATE : string;
138 attribute INSTRUCTION_USAGE : string;
139 attribute INSTRUCTION_SEQUENCE : string;
140
141 -- Give ID and USER code declarations
142
143 type ID_BITS is ('0', '1', 'x', 'X');
144 type ID_STRING is array (31 downto 0) of ID_BITS;
145 attribute IDCODE_REGISTER : ID_STRING;
146 attribute USERCODE_REGISTER: ID_STRING;
147
148 -- Give register declarations
149
150 attribute REGISTER_ACCESS : string;
151
152 -- Give boundary cell declarations
153
154 type BSCAN_INST is (EXTEST, SAMPLE, INTEST, RUNBIST);
155 type CELL_TYPE is (INPUT, INTERNAL, CLOCK,
156                      CONTROL, CONTROLR, OUTPUT2,
157                      OUTPUT3, BIDIR_IN, BIDIR_OUT);
158 type CAP_DATA is (PI, PO, UPD, CAP, X, ZERO, ONE);
159 type CELL_DATA is record
160   CT : CELL_TYPE;
161   I : BSCAN_INST;
162   CD : CAP_DATA;
163 end record;
164 type CELL_INFO is array (positive range <>) of CELL_DATA;
165
166 -- Boundary Cell defered constants (see package body)
167
168 constant BC_1 : CELL_INFO;
169 constant BC_2 : CELL_INFO;
170 constant BC_3 : CELL_INFO;
171 constant BC_4 : CELL_INFO;
172 constant BC_5 : CELL_INFO;
173 constant BC_6 : CELL_INFO;
174
175 -- Boundary Register declarations
176
177 attribute BOUNDARY_CELLS : string;
178 attribute BOUNDARY_LENGTH : integer;
179 attribute BOUNDARY_REGISTER : string;
180
181 -- Miscellaneous
182
183 attribute DESIGN_WARNING : string;
184--end STD_1149_1_1990; -- End of 1149.1-1990 Package
185end STD_1149_1_1994;
186
187
188--package body STD_1149_1_1990 is -- Standard Boundary Cells
189                                  -- Written 900525
190package body STD_1149_1_1994 is
191
192-- Description for f10-12, f10-16, f10-18c, f10-18d, f10-21c
193
194constant BC_1 : CELL_INFO :=
195 ((INPUT, EXTEST, PI), (OUTPUT2, EXTEST, PI),
196  (INPUT, SAMPLE, PI), (OUTPUT2, SAMPLE, PI),
197  (INPUT, INTEST, PI), (OUTPUT2, INTEST, PI),
198  (INPUT, RUNBIST, PI), (OUTPUT2, RUNBIST, PI),
199  (OUTPUT3, EXTEST, PI), (INTERNAL, EXTEST, PI),
200  (OUTPUT3, SAMPLE, PI), (INTERNAL, SAMPLE, PI),
201  (OUTPUT3, INTEST, PI), (INTERNAL, INTEST, PI),
202  (OUTPUT3, RUNBIST, PI), (INTERNAL, RUNBIST, PI),
203  (CONTROL, EXTEST, PI), (CONTROLR, EXTEST, PI),
204  (CONTROL, SAMPLE, PI), (CONTROLR, SAMPLE, PI),
205  (CONTROL, INTEST, PI), (CONTROLR, INTEST, PI),
206  (CONTROL, RUNBIST, PI), (CONTROLR, RUNBIST, PI) );
207
208-- Description for f10-8, f10-17, f10-19c, f10-19d, f10-22c
209
210constant BC_2 : CELL_INFO :=
211 ((INPUT, EXTEST, PI), (OUTPUT2, EXTEST, UPD),
212  (INPUT, SAMPLE, PI), (OUTPUT2, SAMPLE, PI),
213  (INPUT, INTEST, UPD), -- Intest on output2 not supported
214  (INPUT, RUNBIST, UPD), (OUTPUT2, RUNBIST, UPD),
215  (OUTPUT3, EXTEST, UPD), (INTERNAL, EXTEST, PI),
216  (OUTPUT3, SAMPLE, PI), (INTERNAL, SAMPLE, PI),
217  (OUTPUT3, INTEST, PI), (INTERNAL, INTEST, UPD),
218  (OUTPUT3, RUNBIST, PI), (INTERNAL, RUNBIST, UPD),
219  (CONTROL, EXTEST, UPD), (CONTROLR, EXTEST, UPD),
220  (CONTROL, SAMPLE, PI), (CONTROLR, SAMPLE, PI),
221  (CONTROL, INTEST, PI), (CONTROLR, INTEST, PI),
222  (CONTROL, RUNBIST, PI), (CONTROLR, RUNBIST, PI) );
223
224-- Description for f10-9
225
226constant BC_3 : CELL_INFO :=
227 ((INPUT, EXTEST, PI), (INTERNAL, EXTEST, PI),
228  (INPUT, SAMPLE, PI), (INTERNAL, SAMPLE, PI),
229  (INPUT, INTEST, PI), (INTERNAL, INTEST, PI),
230  (INPUT, RUNBIST, PI), (INTERNAL, RUNBIST, PI) );
231
232-- Description for f10-10, f10-11
233
234constant BC_4 : CELL_INFO :=
235 ((INPUT, EXTEST, PI), -- Intest on input not supported
236  (INPUT, SAMPLE, PI), -- Runbist on input not supported
237  (CLOCK, EXTEST, PI), (INTERNAL, EXTEST, PI),
238  (CLOCK, SAMPLE, PI), (INTERNAL, SAMPLE, PI),
239  (CLOCK, INTEST, PI), (INTERNAL, INTEST, PI),
240  (CLOCK, RUNBIST, PI), (INTERNAL, RUNBIST, PI) );
241
242-- Description for f10-20c, a combined Input/Control
243
244constant BC_5 : CELL_INFO :=
245 ((INPUT, EXTEST, PI), (CONTROL, EXTEST, PI),
246  (INPUT, SAMPLE, PI), (CONTROL, SAMPLE, PI),
247  (INPUT, INTEST, UPD), (CONTROL, INTEST, UPD),
248  (INPUT, RUNBIST, PI), (CONTROL, RUNBIST, PI) );
249
250-- Description for f10-22d, a reversible cell
251
252constant BC_6 : CELL_INFO :=
253 ((BIDIR_IN, EXTEST, PI), (BIDIR_OUT, EXTEST, UPD),
254  (BIDIR_IN, SAMPLE, PI), (BIDIR_OUT, SAMPLE, PI),
255  (BIDIR_IN, INTEST, UPD), (BIDIR_OUT, INTEST, PI),
256  (BIDIR_IN, RUNBIST, UPD), (BIDIR_OUT, RUNBIST, PI) );
257
258--end STD_1149_1_1990; -- End of 1149.1-1990 Package Body
259end STD_1149_1_1994;
260

Archive Download this file

Branches:
master



interactive