GENERIC_CSV_FILE Example 3

The following link is a zip file that contains all the files necessary to build this example part :LMK00338_GENERIC_CSV.zip

This file for a TI LMK00338 PCIE Clock generator was converted from pdf using the nitrocloud https://www.pdftoexcelonline.com/ free online converter. 

It shows an example where multiple pin_numbers and pin_names are contained in one cell of the spreadsheet. 

Here is a snapshot of the table from the pdf datasheet:


The Pinout Table was split across 2 pages in the PDF, so we manually copied the rows containing pins 20-38 to the first page to make one table.

Here is the resulting spreadsheet:

The GENERIC_CSV_COLUMN_DEF is: PIN_NUM:PIN_NAME:PIN_TYPE:IGNORE 

PartBuilder will extract pin numbers  from the first column, pin_names from the 2nd column and pin types from the 3rd Column. the 4th description column will be ignored 

THE GENERIC_PIN_TYPE_MAPPING Config Setting must be filled out to translate the pin types provided in the TI datasheet to pin types that partBuilder (and the downstream EDA tools support) Looking at the TI Data Sheet, the PIN_TYPES they supply  are GND, PWR, I, and O The Proper 

The Proper Value for the GENERIC_PIN_TYPE_MAPPING should be: GND:GROUND,PWR:POWER,O:OUTPUT,I:INPUT

SIG_RENAME_RULES

We will use the SIG_RENAME_RULES to fix the strange diff_pair signal names that TI provided. An example of their diff_pair name is CLKoutA0 and CLKoutA0*. The * character is not acceptable for some of the EDA tools, so we want to change the CLKoutA0 and CLKoutA0* pair to something more conventional like CLKoutA0_P and CLKoutA0_N. 

Rather than manually renaming the pins in the spreadsheet which we would have to do anytime the spreadsheet is updated, we use the SIG_RENAME_RULES to do the work for us.

The SIG_RENAME_RULES Config Setting selects a file in the local directory named diffPairRenameRules.txt  which contains the replace_rules described at this link: Regular Expression Rename Rules DiffPair Renaming... Example 1 to fix the diff_pair names for the clocks into something the downstream EDA tools can support as pin_names.