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

1--
2-- $Id: STD_1149_1_1990 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
110 -- Give pin mapping declarations
111
112 attribute PIN_MAP : string;
113 subtype PIN_MAP_STRING is string;
114
115 -- Give TAP control declarations
116
117 type CLOCK_LEVEL is (LOW, BOTH);
118 type CLOCK_INFO is record
119   FREQ : real;
120   LEVEL: CLOCK_LEVEL;
121 end record;
122
123 attribute TAP_SCAN_IN : boolean;
124 attribute TAP_SCAN_OUT : boolean;
125 attribute TAP_SCAN_CLOCK: CLOCK_INFO;
126 attribute TAP_SCAN_MODE : boolean;
127 attribute TAP_SCAN_RESET: boolean;
128
129 -- Give instruction register declarations
130
131 attribute INSTRUCTION_LENGTH : integer;
132 attribute INSTRUCTION_OPCODE : string;
133 attribute INSTRUCTION_CAPTURE : string;
134 attribute INSTRUCTION_DISABLE : string;
135 attribute INSTRUCTION_GUARD : string;
136 attribute INSTRUCTION_PRIVATE : string;
137 attribute INSTRUCTION_USAGE : string;
138 attribute INSTRUCTION_SEQUENCE : string;
139
140 -- Give ID and USER code declarations
141
142 type ID_BITS is ('0', '1', 'x', 'X');
143 type ID_STRING is array (31 downto 0) of ID_BITS;
144 attribute IDCODE_REGISTER : ID_STRING;
145 attribute USERCODE_REGISTER: ID_STRING;
146
147 -- Give register declarations
148
149 attribute REGISTER_ACCESS : string;
150
151 -- Give boundary cell declarations
152
153 type BSCAN_INST is (EXTEST, SAMPLE, INTEST, RUNBIST);
154 type CELL_TYPE is (INPUT, INTERNAL, CLOCK,
155                      CONTROL, CONTROLR, OUTPUT2,
156                      OUTPUT3, BIDIR_IN, BIDIR_OUT);
157 type CAP_DATA is (PI, PO, UPD, CAP, X, ZERO, ONE);
158 type CELL_DATA is record
159   CT : CELL_TYPE;
160   I : BSCAN_INST;
161   CD : CAP_DATA;
162 end record;
163 type CELL_INFO is array (positive range <>) of CELL_DATA;
164
165 -- Boundary Cell defered constants (see package body)
166
167 constant BC_1 : CELL_INFO;
168 constant BC_2 : CELL_INFO;
169 constant BC_3 : CELL_INFO;
170 constant BC_4 : CELL_INFO;
171 constant BC_5 : CELL_INFO;
172 constant BC_6 : CELL_INFO;
173
174 -- Boundary Register declarations
175
176 attribute BOUNDARY_CELLS : string;
177 attribute BOUNDARY_LENGTH : integer;
178 attribute BOUNDARY_REGISTER : string;
179
180 -- Miscellaneous
181
182 attribute DESIGN_WARNING : string;
183end STD_1149_1_1990; -- End of 1149.1-1990 Package
184
185
186package body STD_1149_1_1990 is -- Standard Boundary Cells
187                                  -- Written 900525
188
189-- Description for f10-12, f10-16, f10-18c, f10-18d, f10-21c
190
191constant BC_1 : CELL_INFO :=
192 ((INPUT, EXTEST, PI), (OUTPUT2, EXTEST, PI),
193  (INPUT, SAMPLE, PI), (OUTPUT2, SAMPLE, PI),
194  (INPUT, INTEST, PI), (OUTPUT2, INTEST, PI),
195  (INPUT, RUNBIST, PI), (OUTPUT2, RUNBIST, PI),
196  (OUTPUT3, EXTEST, PI), (INTERNAL, EXTEST, PI),
197  (OUTPUT3, SAMPLE, PI), (INTERNAL, SAMPLE, PI),
198  (OUTPUT3, INTEST, PI), (INTERNAL, INTEST, PI),
199  (OUTPUT3, RUNBIST, PI), (INTERNAL, RUNBIST, PI),
200  (CONTROL, EXTEST, PI), (CONTROLR, EXTEST, PI),
201  (CONTROL, SAMPLE, PI), (CONTROLR, SAMPLE, PI),
202  (CONTROL, INTEST, PI), (CONTROLR, INTEST, PI),
203  (CONTROL, RUNBIST, PI), (CONTROLR, RUNBIST, PI) );
204
205-- Description for f10-8, f10-17, f10-19c, f10-19d, f10-22c
206
207constant BC_2 : CELL_INFO :=
208 ((INPUT, EXTEST, PI), (OUTPUT2, EXTEST, UPD),
209  (INPUT, SAMPLE, PI), (OUTPUT2, SAMPLE, PI),
210  (INPUT, INTEST, UPD), -- Intest on output2 not supported
211  (INPUT, RUNBIST, UPD), (OUTPUT2, RUNBIST, UPD),
212  (OUTPUT3, EXTEST, UPD), (INTERNAL, EXTEST, PI),
213  (OUTPUT3, SAMPLE, PI), (INTERNAL, SAMPLE, PI),
214  (OUTPUT3, INTEST, PI), (INTERNAL, INTEST, UPD),
215  (OUTPUT3, RUNBIST, PI), (INTERNAL, RUNBIST, UPD),
216  (CONTROL, EXTEST, UPD), (CONTROLR, EXTEST, UPD),
217  (CONTROL, SAMPLE, PI), (CONTROLR, SAMPLE, PI),
218  (CONTROL, INTEST, PI), (CONTROLR, INTEST, PI),
219  (CONTROL, RUNBIST, PI), (CONTROLR, RUNBIST, PI) );
220
221-- Description for f10-9
222
223constant BC_3 : CELL_INFO :=
224 ((INPUT, EXTEST, PI), (INTERNAL, EXTEST, PI),
225  (INPUT, SAMPLE, PI), (INTERNAL, SAMPLE, PI),
226  (INPUT, INTEST, PI), (INTERNAL, INTEST, PI),
227  (INPUT, RUNBIST, PI), (INTERNAL, RUNBIST, PI) );
228
229-- Description for f10-10, f10-11
230
231constant BC_4 : CELL_INFO :=
232 ((INPUT, EXTEST, PI), -- Intest on input not supported
233  (INPUT, SAMPLE, PI), -- Runbist on input not supported
234  (CLOCK, EXTEST, PI), (INTERNAL, EXTEST, PI),
235  (CLOCK, SAMPLE, PI), (INTERNAL, SAMPLE, PI),
236  (CLOCK, INTEST, PI), (INTERNAL, INTEST, PI),
237  (CLOCK, RUNBIST, PI), (INTERNAL, RUNBIST, PI) );
238
239-- Description for f10-20c, a combined Input/Control
240
241constant BC_5 : CELL_INFO :=
242 ((INPUT, EXTEST, PI), (CONTROL, EXTEST, PI),
243  (INPUT, SAMPLE, PI), (CONTROL, SAMPLE, PI),
244  (INPUT, INTEST, UPD), (CONTROL, INTEST, UPD),
245  (INPUT, RUNBIST, PI), (CONTROL, RUNBIST, PI) );
246
247-- Description for f10-22d, a reversible cell
248
249constant BC_6 : CELL_INFO :=
250 ((BIDIR_IN, EXTEST, PI), (BIDIR_OUT, EXTEST, UPD),
251  (BIDIR_IN, SAMPLE, PI), (BIDIR_OUT, SAMPLE, PI),
252  (BIDIR_IN, INTEST, UPD), (BIDIR_OUT, INTEST, PI),
253  (BIDIR_IN, RUNBIST, UPD), (BIDIR_OUT, RUNBIST, PI) );
254
255end STD_1149_1_1990; -- End of 1149.1-1990 Package Body
256

Archive Download this file

Branches:
master



interactive