CuVoodoo

the sorcery of copper

User Tools

Site Tools


icid

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
icid [2020/04/23 16:13] – add source links kingkevinicid [2024/01/07 17:49] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +[[https://icid.cuvoodoo.info/|Integrated Circuit IDentifier]] (aka. ICID) is a tool to help identifying ICs based on their pinout.
 +
 +====== background ======
 +
 +The best way to [[https://www.cuvoodoo.info/?podcast=cuvoodoo-001-how-to-identify-electronic-components|identify ICs]] is by its [[iclogos|top marking]].
 +But sometimes this is scrubbed away.
 +Is this case, you have to use its location on the board, its package, and a lot of experience.
 +In the end you will often use the datasheet of the candidate, and manually check if the pinout matches.
 +
 +The website of distributors (DigiKey, Mouser, element14, ...) or search part search engines (octopart) already allow you to look for possible ICs based on the package and number of pins.
 +But what is missing is a search based on the pinout.
 +ICID solves this issue.
 +
 +====== database ======
 +
 +I created a database of part pinouts based on the models provided by the chip vendors, distributors, and other part search engines.
 +The [[https://icid.cuvoodoo.info/|ICID search engine]] allows to search parts by manufacturer, package, pin count, and most importantly by setting pin constrains.
 +
 +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).
 +  * 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, and often intended/reserved for UltraLibrarian (which provides exports for most CAD software)
 +  * EAGLE: most part search engines (UltraLibrarian, SnapEDA, Octopart, ...) all to export the footprint to the Fusion format (previously known as EAGLE, and the format has been kept)
 +====== searching ======
 +
 +Here are a couple of tips to improve the search results.
 +
 +The database is focused on active parts such as micro-controllers.
 +Other parts (such as amplifiers, memory, ...) might not be present.
 +
 +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. But only few manufacturer provide it.
 +  * if you are look for a micro-controller which does not supports JTAG, not a micro-controller, or did not find the result using BSDL (because the vendor does not provide a BSDL for it), select BXL as file type. This database is quite large and the pinout provided in BXL models is generally good.
 +  * 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), thus I recommend also selecting as pin count all numbers under the actual pin count.
 +
 +package:
 +  * to improve the search, select the corresponding package family, but not all models provide this package information, thus also select "unknown".
 +  * 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:
 +  * the rules are written as conditionals using = (is), != (is not), and, or.
 +  * the possible pin types are: pwr (power), gnd (ground), in (input), out (output), bidir (bidirectional), pas (passive), nc (noconnect)
 +  * 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: ''1=gnd and 2=pwr''
 +  * for more complex constraint us parenthesis conditionals, for example: ''(1=gnd and 2=pwr) or (13=gnd and 14=pwr)''
 +  * for BGA array you can also use non-numeric pin numbers: ''A1=gnd''.
 +  * 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 (input, output, bidirectional), but ground and power pins are most often defined (as the easiest to identity)
 +
 +results:
 +  * once you select a part, the details of it will be displayed
 +  * this is the complete part information stored in the database
 +  * 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 "details" header). Use this source file to get more information about the part, and double check if the pinout is correct.
 +  * a pinout preview is generated to facilitate the comparison (with pin directions), but only use it as indication (package and pin order might be wrong).
 +  * if you find discrepancies between the "details" and the source file, the parsing might be erroneous. please contact me (icid@cuvoodoo.info) so I can fix it.
 +
 +====== sources ======
 +
 +To create the databases I use files provided by the manufacturers themselves and part search engines.
 +But these are not 100% correct (even from the manufacturers themselves) and contain errors (more often than you would think).
 +I don't have the resources to check each model individually.
 +So use the search engine as best effort rather than perfect source.
 +Still, my parsing of these models surely also contains bugs.
 +In the later case, just contact me and I will fix it (be sure that the issue is not in the source file in the first place).
 +
 Here is a list of the resources for the source files used to created the IC database: Here is a list of the resources for the source files used to created the IC database:
  
-^  vendor  ^  IBIS  ^  BXL  ^  BSDL  ^ +^  vendor  ^  IBIS  ^  BXL  ^  BSDL  ^ EAGLE 
-| STMicroelectronics | [[https://www.st.com/content/st_com/en/search.html#q=ibis-t=resources-page=1|here]] (mixed quality, lots commented out) | [[https://www.st.com/content/st_com/en/search.html#q=cad-t=resources-page=1|here]] (almost only available for STM32/STM8 micro-controllers. other only available as OrCAD) | [[https://www.st.com/content/st_com/en/search.html#q=bsdl-t=resources-page=1|here]] (only available for STM32 micro-controllers) | +| STMicroelectronics | [[https://www.st.com/content/st_com/en/search.html#q=ibis-t=resources-page=1|here]] (mixed quality, lots commented out) | [[https://www.st.com/content/st_com/en/search.html#q=cad-t=resources-page=1|used to be here]], now they use UltraLibrarian | [[https://www.st.com/content/st_com/en/search.html#q=bsdl-t=resources-page=1|here]] (only available for STM32 micro-controllers) | 
-| Microchip | [[https://www.microchip.com/doclisting/TechDoc.aspx?type=IBIS|here]] (good) | [[https://www.microchip.com/development-tools/reference-designs/cad-cae-symbols|here]] (good) | [[https://www.microchip.com/doclisting/TechDoc.aspx?type=BSDL|here]] (good) | +| Microchip (includes Atmel) | [[https://www.microchip.com/doclisting/TechDoc.aspx?type=IBIS|here]] (good) | [[https://www.microchip.com/development-tools/reference-designs/cad-cae-symbols|here]] (good) | [[https://www.microchip.com/doclisting/TechDoc.aspx?type=BSDL|here]] (good) | 
-| Texas Instruments | go to the product page using the [[https://www.ti.com/packaging/docs/partlookup.tsp|part number]] (should be (go to the product page using the [[https://www.ti.com/packaging/docs/partlookup.tsp|part number]]) [[https://www.ti.com/design-resources/design-tools-simulation/models-simulators/overview.html|here]] but it does not seem to exist anymore) | go to the product page using the [[https://www.ti.com/packaging/docs/partlookup.tsp|part number]] (alternatively [[https://webench.ti.com/cad/cad.cgi?partno=|here]]) | go to the product page using the [[https://www.ti.com/packaging/docs/partlookup.tsp|part number]] (should be [[https://www.ti.com/tool/BSDL|here]], but nothing is listed) |+| Texas Instruments | go to the product page using the [[https://www.ti.com/packaging/docs/partlookup.tsp|part number]] (should be [[https://www.ti.com/design-resources/design-tools-simulation/models-simulators/overview.html|here]] but it does not seem to exist anymore) | go to the product page using the [[https://www.ti.com/packaging/docs/partlookup.tsp|part number]] (alternatively [[https://webench.ti.com/cad/cad.cgi?partno=|here]]) | go to the product page using the [[https://www.ti.com/packaging/docs/partlookup.tsp|part number]] (should be [[https://www.ti.com/tool/BSDL|here]], but nothing is listed) |
 | NXP | [[https://www.nxp.com/search?category=softwaretools&keyword=ibis|here]] | [[https://www.nxp.com/search?category=softwaretools&keyword=bxl|here]] (very limited) | [[https://www.nxp.com/search?category=softwaretools&keyword=bsdl|here]] | | NXP | [[https://www.nxp.com/search?category=softwaretools&keyword=ibis|here]] | [[https://www.nxp.com/search?category=softwaretools&keyword=bxl|here]] (very limited) | [[https://www.nxp.com/search?category=softwaretools&keyword=bsdl|here]] |
-| Cypress | [[https://www.cypress.com/documentation/models/ibis|here]] (good) | doesn't offer BXL (but Cadence, Altium, OrCAD, Mentor symbol/footprint) | [[https://www.cypress.com/documentation/models/bsdl|here]] | +| Cypress | [[https://www.cypress.com/documentation/models/ibis|here]] (good) | doesn't offer BXL (but Cadence, Altium, OrCAD, Mentor symbol/footprint) | [[https://www.cypress.com/documentation/models/bsdl|here]] (very limited) 
 +| Silicon Laboratories | [[https://www.silabs.com/search?q=ibis;page=1;x6=searchHeader;q6=Documents|here]] | [[https://www.silabs.com/support/resources/cad-cae-schematic-footprints-and-symbols|here]] | [[https://www.silabs.com/search?q=bsdl;page=1;x6=searchHeader;q6=Documents|here]] (very limited) | 
 +| [[https://www.maximintegrated.com/en/design/design-tools.html|Maxim]] | [[https://www.maximintegrated.com/en/design/design-tools/modeling-simulation/ibis.html|here]] | [[https://www.maximintegrated.com/en/design/design-tools/cad-and-layout/cad.html|here]] (forwards to UltraLibrarian, which does not provide the BXL source file) | [[https://www.maximintegrated.com/en/design/design-tools/modeling-simulation/bsdl.html|here]] | 
 +| [[https://www.renesas.com/eu/en/search/keyword-search.html|Renesas]] | [[https://www.renesas.com/eu/en/search/keyword-search.html?#q=ibis|here]] | [[https://www.renesas.com/eu/en/support/technical-resources/eda-data.html|here]] | [[https://www.renesas.com/eu/en/search/keyword-search.html?#q=bsdl|here]] | 
 +| [[https://www.analog.com/|Analog Devices]] (includes Linear Technology) | [[https://www.analog.com/en/design-center/simulation-models/ibis-models.html|here]] | [[https://www.analog.com/en/design-center/packaging-quality-symbols-footprints/symbols-and-footprints.html|here]]| [[https://www.analog.com/en/design-center/simulation-models/bsdl-model-files.html|here]] | | 
 +| [[https://www.diodes.com/|Diodes]] | [[https://www.diodes.com/search/|here]] | | [[https://www.diodes.com/search/|here]] | | 
 +| [[https://www.onsemi.com/|onsemi]] | [[https://www.onsemi.com/design/resources/design-resources/models|here]] | | | | 
 +| [[https://www.snapeda.com/|SnapEDA]] (the search is very limited, and the quality inconsistent), also referred by DigiKey (which I use to select product categories) | | | | allows to export to Fusion/EAGLE | 
 +| [[https://octopart.com/|Octopart]] (uses [[https://upverter.com/|Upverter]]) | | | | allow to save to EAGLE | 
 +| [[https://www.ultralibrarian.com/|Ultra Librarian]], limits to 50 downloads | | although BXL is their format, they don't allow to get the files they use to convert to other CAD formats | | allows to export to Fusion/EAGLE |
icid.1587658435.txt.gz · Last modified: 2024/01/07 17:49 (external edit)