Simple example of the Symbol Description Language
An example SDL file to describe a fictitious x16 DRAM Part
- PartBuilder reads this 35 line SDL file and divides up the pins of this 200 pin DRAM into 5 schematic symbols.
- The SDL File Is shown on the Left
- It was created in Excel and saved off as a .csv file for partBuilder to read.
- Excel makes it easy to build logical looking MATCH_STATEMENTS broken across multiple columns
- When PartBuilder reads the .csv file, it recombines all the columns to create a single MATCH_STATEMENT
- Its purpose is to tell partBuilder how to arrange all the part pins found in the PIN_REPORT_FILE into symbols
- It was created in Excel and saved off as a .csv file for partBuilder to read.
- The PIN_REPORT_FILE for this part uses the SIMPLE_BGA PIN_REPORT_TYPE, and is shown on the right
- The SDL contains SYMBOL_NAME_DEFINITIONS, MATCH_STATEMENTS and SPACER_COMMANDS.
- It can also include loop directives and variables but there are none present in this simple example
- SYMBOL_NAME_DEFINITION start with SymbolName= and are terminated with a ';'
- The first SYMBOL_NAME_DEFINITION is DRAM_ACTL_PINS= on row 3 and ends with the ';' at row 13
- It tells partBuilder to create a Symbol named DRAM_ACTL_PINS containing the pins that match the MATCH_STATEMENTS between row 4 and row 13
- The 2nd is DRAM_DQ_PINS= and starts at row 15 and ends at row 26
- The 3rd is POWER= and starts on row 28 and ends at row 31
- The last one is GROUND= and starts at row 33 and ends at row 35
- The first SYMBOL_NAME_DEFINITION is DRAM_ACTL_PINS= on row 3 and ends with the ';' at row 13
- The MATCH_STATEMENTS contain a locator, optional modifiers and a pin_match definitions.
- The syntax for a MATCH_STATEMENT is locator:opt_modifier:opt_modifier=>pin_match
- In this file, the locators are in column B, the optional modifiers are in Column C and the pin_match is in column E
- For explanation purposes, each MATCH_STATEMENT is appended with a comment #xxxxxx to describe its purpose
- The first MATCH_STATEMENT is left :dpair => ck_p on line 4
- The syntax for a MATCH_STATEMENT is locator:opt_modifier:opt_modifier=>pin_match
SDL FILE | PIN_REPORT_FILE (PIN_REPORT_TYPE=SIMPLE_BGA ) |
---|---|
Screenshot of PartBuilder Tool
Below is a screenshot of the PartBuilder Tool after building the parts using the example SDL FILE
Symbols Created
Below are the Symbols that PartBuilder created after reading the PIN_REPORT_FILE and organizing the symbols and pins according to the rules in the Example SDL File
Above each symbol is an expandable block which contains the MATCH_STATEMENTS that were found between the Start and End of the SYMBOL_NAME_DEFINITION
Schematic Symbols Created |
---|
Download the example to try with PartBuilder
Attached is a zip file containing the example files needed to create the symbols
Download the file and extract the folder to your computer (a good place might be: C:/cadEnhance/workdir/myParts)
Select the symGenCtl.txt file from your new folder and double-click the BUILD_SYMBOLS operation.
If you want to modify the SDL, make a backup copy of the simpleBGA.xlsx file. Open the simpleBGA.xlsx file and go to the symbolOrder tab.
Make your changes and then save the sheet as symbolOrder.csv