Monday 4th July 2022
I'm using the LayoutEditor Full Version, build: 20211015, and the XFab PDK version xh035-stdformats-iPDK-6.6.2.3
This is being run in WSL Linux Ubunto 20.04.4
When I try to run RTL to GDS for X-Fab, I get the following Error Message:
No digital library defined. Please set it inside the ProjectSettings.tcl file in your project folder. Execution terminated!
I have all the correct files (I think) in the working project directory, including autoLoadMacro.layout. I launch layout in the working directory using:
sudo layout -a
It appears the X-Fab settings are getting properly configured; here is the output at startup:
<> -------------------------------------------
<>
<> Loading XFAB PDK components
<> generic O.K
<> juspertor O.K
<> basic O.K
<> exports O.K
<> custom O.K
<> cdf O.K
<> xh035 O.K
<>
<> -------------------------------------------
<>
<> Technology xh035
<> Version v6_6_2_3
<> LibCode 1021
<> Core MOS
<> Mos5A no Mos5A
<> Mim MIM
<> Metal METAL4
<>
<> -------------------------------------------
Here is the ProjectSettings.tcl file:
#----------------------------------------------------------------------------
#do not modify this file
#----------------------------------------------------------------------------
proc ProjectSettings {} {
global Project
set Project [list \
[list KitFlowVersion v3_1_3] \
[list Technology xh035] \
[list libCode 1021] \
[list Version v6_6_2_3] \
[list Type new] \
[list AnalogLibs {}] \
[list Core MOS] \
[list DRCTool {}] \
[list DigitalLibs {}] \
[list DrcRunsetFile {}] \
[list EsdLibs {}] \
[list GatesPcell {}] \
[list HspiceLib {{./Hspice/mos/xh035.lib tm} {./Hspice/mos/param.lib 3s}}] \
[list HspiceModule mos] \
[list HspiceVersion {v6_6 v6_6_2}] \
[list LVSSchNetlistFormat CDL] \
[list LVSTool {}] \
[list LvsRunsetFile {}] \
[list Metal METAL4] \
[list Mim MIM] \
[list Mos5A {no Mos5A}] \
[list PRIMLIB PRIMLIB] \
[list Primlib PRIMLIB_1021] \
[list PrimlibDataSheetVersion {v6_6 v6_6_1}] \
[list RunsetCode MOS_MET4_MIM] \
[list StreamLayerMapFile ./strmInOut.layertable] \
[list StreamObjectMapFile ./strmOutObjects.map] \
[list TechFile TECH_XH035_1021] \
[list XticFlow new] \
[list edaTool XFABiPDK.F1] \
[list warn {no Info}] \
]
}
It appears the error is getting triggered because the rtl2gds-xfab.layout script wants something in the [list DigitalLibs {}] field, which is empty.
Any suggestions on a fix?
Thank You
Jürgen LayoutEditorFull Monday 4th July 2022
The package 'xh035-stdformats-iPDK-6.6.2.3' contains the technology setup and the primary cells for the xh035 technology. However it does not contains any digital cells like a AND2 gate. These digital libraries are in a separate package and need to be downloaded from X-Fab and installed separately. Once installed you need to edit your ProjectSettings file and add the digital library you want to use under *DigitalLibs* like
```[list DigitalLibs {"D_CELLSL"}] \```
The rtl2gds-xfab.layout macro will then be able to find the library on your system and forwards the xh035_D_CELLSL.lef file the OpenRoad. OpenRoad is an open source tool doing a RTL to a DEF file. The LayoutEditor will then read the DEF file and can perform a LVS.
M
Monday 4th July 2022
Thanks for quick response Jurgen,
Is it just the .lef file(s) that are needed?
The instructions in the X-fab info files says this:
------------------------
Installation:
cd $X_DIR
tar -xvfz xh035-D_CELLS-LEF-v5_0_2.tar.gz
************************************************************************************
In our case using LayoutEditor, is the $X_DIR -> /root/xh035/ (this is the directory where stdformats directory was installed under)?
In this case, I assume the project file would be modified to:
[list DigitalLibs {"D_CELLS"}] \
Just wondering where the expression "D_CELLS" would be defined to point to xh035_D_CELLS.lef? Does that need to be specified with a path in the ProjectSettings file as well?
Thanks, Tim
Jürgen LayoutEditorFull Monday 4th July 2022
You will need the LEF file, the liberty file and the OpenAccess database with the D-CELLS. Like the other package the shipped macro *X-Fab Installer* will extract and put anything to the correct place. It is located in the layout window under Utilities/Technology/X-Fab.
LEF-file and Liberty file will be needed for OpenRoad to perform a RTL to DEF and LayoutEditor will need the OpenAccess database to perform the DEF to GDS.
M
Tuesday 5th July 2022
Is the OpenAccess database specific to the X-Fab D-CELLS modules? I didn't see any downloadable OA files from X-Fab.
Are any verilog files needed such as D_CELLS-verilog?
Thanks
Jürgen LayoutEditorFull Tuesday 5th July 2022
I have just checked the packages on my.xfab.com. The package with the OpenAccess database of the digital cells is now named *xh035-D_CELLS-synopsys_CustomCompiler-version.tar.gz*. It is pure OpenAccess and should run without any adjustment with the LayoutEditor.
Just for the primar/analog package you will need the package named *xh035-stdformats-IPDK* and not the Synopsys package which contains some Synopsys specific adjustments.
It seems that the OpenRoad synthesizer is fine with the Liberty files and do not need additional Verilog file.