icid
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
icid [2020/04/24 15:18] – [sources] kingkevin | icid [2022/01/27 14:34] – [searching] kingkevin | ||
---|---|---|---|
Line 14: | Line 14: | ||
====== database ====== | ====== database ====== | ||
- | I created a database of part pinouts based on the models provided by the chip vendors. | + | I created a database of part pinouts based on the models provided by the chip vendors, distributors, |
- | The [[https:// | + | The [[https:// |
- | To build the database, I used following model types provided by the vendor: | + | To build the database, I parse models in the following file format: |
* IBIS: used to do analogue simulations (e.g. *spice). The model quality is very mixed (it does not often provide the complete pinout). | * IBIS: used to do analogue simulations (e.g. *spice). The model quality is very mixed (it does not often provide the complete pinout). | ||
* BSDL: used to do boundary scan electronic testing. This is generally of good quality, but is only provided for micro-controllers which support JTAG. | * BSDL: used to do boundary scan electronic testing. This is generally of good quality, but is only provided for micro-controllers which support JTAG. | ||
- | * BXL: a proprietary symbol and footprint library. This is not provided by all vendors and for all parts, | + | * BXL: a proprietary symbol and footprint library. This is not provided by all vendors and for all parts, and often intended/ |
+ | * EAGLE: most part search engines (UltraLibrarian, | ||
====== searching ====== | ====== searching ====== | ||
Here are a couple of tips to improve the search results. | Here are a couple of tips to improve the search results. | ||
- | First select the file type. since parts can be described by different | + | First select the file type. since parts can be described by different file types, you might have duplicate parts in the final list: |
- | * if you are looking for a micro-controller which supports JTAG, select only the BSDL file type. This already remove a lot of candidates. The pinout provided in the BSDL models is often good, thus the pins constraints rule can be used precisely. | + | * if you are looking for a micro-controller which supports JTAG, select only the BSDL file type. This already remove a lot of candidates. The pinout provided in the BSDL models is often good, thus the pins constraints rule can be used precisely. But only few manufacturer provide it. |
- | * if you are look for a micro-controller which does not supports JTAG, not a micro-controller, | + | * if you are look for a micro-controller which does not supports JTAG, not a micro-controller, |
- | * finally, | + | * if you did not find any result in BSDL and BXL, try with EAGLE files. These are provided by part search engine and cover more manufacturers (which don't provide models themselves). But the quality is very mixed. |
+ | * you can still try the IBIS file type. IBIS files are also provided for older parts, mostly for high-end or analogue parts, but the pinout provided is terrible. Often only some pins are described (the most relevant for an analogue simulation), | ||
+ | |||
+ | package: | ||
+ | * to improve the search, select the corresponding package family, but not all models provide this package information, | ||
+ | * sometimes the package information the database has is wrong, so just reset the selection to select all. | ||
+ | * some packages also has an exposed pad (such as QFN), thus also select pin counts with one more pin (e.f. 48 and 49 for QFN-48). | ||
writing pins constraint rules: | writing pins constraint rules: | ||
- | * the rules are written as conditionals | + | * the rules are written as conditionals using = (is), != (is not), and, or. |
- | * to select | + | * the possible pin types are: pwr (power), gnd (ground), in (input), out (output), bidir (bidirectional), |
- | * the pin types are: power, ground, input, output, bidir | + | * if you want to search for parts where pin 1 is connected to ground and pin 2 to power (e.g. VCC), us the expression: |
+ | * for more complex constraint us parenthesis conditionals, | ||
+ | * for BGA array you can also use non-numeric pin numbers: '' | ||
* instead of writing what a pin type should be, I recommend to write what is can't be. When you see ground connected to a pin, this pin could be an actual ground pin, but it could also be an input, or bi-directional used as input. What it can't be though, is a power pin. | * instead of writing what a pin type should be, I recommend to write what is can't be. When you see ground connected to a pin, this pin could be an actual ground pin, but it could also be an input, or bi-directional used as input. What it can't be though, is a power pin. | ||
- | * keep in mind that not all pins are described correctly by the models | + | * keep in mind that not all pins are described correctly by the models |
results: | results: | ||
Line 42: | Line 50: | ||
* this is the complete part information stored in the database | * this is the complete part information stored in the database | ||
* it is created by parsing the models provided by the vendor | * it is created by parsing the models provided by the vendor | ||
- | * a link you the source file (e.g. model provided by the vendor) is also available (next to the " | + | * a link you the source file (e.g. model provided by the vendor) is also available (next to the " |
+ | * a pinout preview is generated to facilitate the comparison (with pin directions), | ||
* if you find discrepancies between the " | * if you find discrepancies between the " | ||
icid.txt · Last modified: 2024/01/07 17:49 by 127.0.0.1