Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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. The DAP Pin number was also manually changed from DAP to 39. 

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.

We will also make use of RENAME_RULES See SIG_RENAME_RULES For More Information in this example to rename the clock diff_pairs from  

CLKoutA0, ClkoutA0*

to

CLKoutA0_P CLKoutA0_N 

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 following replace_rules to Fix 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. 

Code Block
titlediffPairRenameRules.txt
#rename rules for clock out diff_pairs #we are trying to rename clkouta0 to clockouta0_p and clkouta0* to clkouta0_n #the $ in the regular expression match says that the name must end with a \d which is a digit... the match gets captured in $1 and then the _P is appended to the $1 (CLKOUT[AB]\d+)$:$1_P (CLKOUT[AB]\d+)[*]$:$1_N (CLKIN\d+)$:$1_P (CLKIN\d+)[*]$:$1_N #These rules could be simplified to not use the fancy regular expressions, but then we will require one rule per pin CLKOUTA0:CLKOUTA0_P CLKOUTA0*:CLKOUTA0_N CLKOUTA1:CLKOUTA1_P CLKOUTA1*:CLKOUTA1_N CLKOUTA2:CLKOUTA2_P CLKOUTA2*:CLKOUTA2_N CLKOUTA3:CLKOUTA3_P CLKOUTA3*:CLKOUTA3_N CLKOUTA1:CLKOUTA1_P CLKOUTA1*:CLKOUTA1_N CLKOUTA2:CLKOUTA2_P CLKOUTA2*:CLKOUTA2_N CLKOUTA3:CLKOUTA3_P CLKOUTA3*:CLKOUTA3_N