Added some support for the open PDKs in the technology manager GUI.
This uses environment variable PDK_ROOT to search for available technologies, and loads them by sourcing the .magicrc file instead of using "tech load". However, there are currently some caveats: (1) The device generators do not immediately appear in the window menu; a new window must be created for the extra menu buttons to be added; (2) Once a PDK sets up the menus, they cannot be revised. Switching to another technology causes the extra menu items to not appear at all. Both issues need to be addressed.
This commit is contained in:
parent
83569da8b3
commit
788c73b867
|
|
@ -481,6 +481,28 @@ proc magic::techmanager {{option "update"}} {
|
|||
"magic::tech load $j ; \
|
||||
magic::techmanager update"
|
||||
}
|
||||
|
||||
# Open PDK support: If environment variable $PDK_ROOT exists
|
||||
# then search in that directory using the standard open PDK
|
||||
# path <tech_name>/libs.tech/magic/<tech_name>.tech. NOTE:
|
||||
# This can be done by sourcing the .magicrc file instead of
|
||||
# loading the .tech file, but the window menus will not be
|
||||
# updated until the next window is opened.
|
||||
|
||||
set dirtop {}
|
||||
if {[catch {set dirtop $PDK_ROOT}]} {
|
||||
catch {set dirtop $::env(PDK_ROOT)}
|
||||
}
|
||||
if {$dirtop != {}} {
|
||||
set tlist [glob -nocomplain ${dirtop}/*]
|
||||
foreach i [join $tlist] {
|
||||
set j [file tail ${i}]
|
||||
set rcfile ${i}/libs.tech/magic/${j}.magicrc
|
||||
.techmgr.title.tname.menu add command -label ${j} -command \
|
||||
"source ${rcfile} ; \
|
||||
magic::techmanager update"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set techlambda [magic::tech lambda]
|
||||
|
|
|
|||
|
|
@ -563,6 +563,7 @@ mainInitAfterArgs()
|
|||
SectionID sec_cifinput, sec_cifoutput;
|
||||
SectionID sec_drc, sec_extract, sec_wiring, sec_router;
|
||||
SectionID sec_plow, sec_plot, sec_mzrouter;
|
||||
char *syspath;
|
||||
|
||||
DBTypeInit();
|
||||
MacroInit();
|
||||
|
|
@ -577,9 +578,8 @@ mainInitAfterArgs()
|
|||
#endif
|
||||
|
||||
/*
|
||||
* Setup path names for system directory searches
|
||||
* Set up path names for system directory searches
|
||||
*/
|
||||
|
||||
StrDup(&SysLibPath, MAGIC_SYS_PATH);
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in New Issue