Hardware Design: SIE
Sign in or create your account | Project List | Help
Hardware Design: SIE Git Source Tree
Root/
| 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; |
| 183 | end STD_1149_1_1990; -- End of 1149.1-1990 Package |
| 184 | |
| 185 | |
| 186 | package 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 | |
| 191 | constant 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 | |
| 207 | constant 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 | |
| 223 | constant 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 | |
| 231 | constant 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 | |
| 241 | constant 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 | |
| 249 | constant 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 | |
| 255 | end STD_1149_1_1990; -- End of 1149.1-1990 Package Body |
| 256 |
Branches:
master
