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
The SIG_RENAME_RULES Config Setting selects a file in the local directory named diffPairRenameRules.txt which contains the following replace_rules to Fix the diff_pair names for the clocks into something the downstream EDA tools can support as pin_names.
Code Block | ||
---|---|---|
| ||
#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
|