+ testing on 32 and 64 bits x86 machines
+ change cmake OpenAccess macro we need 2 env variables : OA_LIB_DIR where are the oa libs OA_INCLUDE_DIR where are the oa headers this way different headers version can be tested versus different OA compiled libs
This commit is contained in:
parent
c261412fc8
commit
ce19e896aa
|
@ -82,7 +82,7 @@ SET(OA_DIR_MESSAGE "Set the OA_INCLUDE_DIR cmake cache entry to the ${OA_INCLUDE
|
||||||
# don't even bother under WIN32
|
# don't even bother under WIN32
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
|
|
||||||
SET(OA_DIR_SEARCH $ENV{OPENACCESS_TOP})
|
SET(OA_DIR_SEARCH $ENV{OA_LIB_DIR})
|
||||||
IF(OA_DIR_SEARCH)
|
IF(OA_DIR_SEARCH)
|
||||||
FILE(TO_CMAKE_PATH ${OA_DIR_SEARCH} OA_DIR_SEARCH)
|
FILE(TO_CMAKE_PATH ${OA_DIR_SEARCH} OA_DIR_SEARCH)
|
||||||
ENDIF(OA_DIR_SEARCH)
|
ENDIF(OA_DIR_SEARCH)
|
||||||
|
@ -90,31 +90,13 @@ IF(UNIX)
|
||||||
#
|
#
|
||||||
# Look for an installation.
|
# Look for an installation.
|
||||||
#
|
#
|
||||||
FIND_PATH(OA_INCLUDE_PATH NAMES oa/oaDesign.h PATHS
|
FIND_PATH(OA_INCLUDE_PATH NAMES oa/oaDesign.h PATHS $ENV{OA_INCLUDE_DIR}
|
||||||
# Look in other places.
|
|
||||||
${OA_DIR_SEARCH}
|
|
||||||
PATH_SUFFIXES include
|
PATH_SUFFIXES include
|
||||||
# Help the user find it if we cannot.
|
# Help the user find it if we cannot.
|
||||||
DOC "The ${OA_INCLUDE_PATH_DESCRIPTION}"
|
DOC "The ${OA_INCLUDE_PATH_DESCRIPTION}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
SET(OA_LIBRARY_DIR ${OA_DIR_SEARCH})
|
||||||
# FIND_PROGRAM(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
|
|
||||||
# IF(CMAKE_UNAME)
|
|
||||||
# EXEC_PROGRAM(uname ARGS -a OUTPUT_VARIABLE SYSTEM_TYPE)
|
|
||||||
# ELSE(CMAKE_UNAME)
|
|
||||||
# MESSAGE(FATAL_ERROR, "uname command was not found")
|
|
||||||
# ENDIF(CMAKE_UNAME)
|
|
||||||
|
|
||||||
# IF($SYSTEM_TYPE MATCHES ".*x86_64.*")
|
|
||||||
# SET(OA_LIBRARY_DIR ${OA_DIR_SEARCH}/lib/linux_rhel30_64/dbg)
|
|
||||||
# ELSEIF($SYSTEM_TYPE MATCHES ".*i686.*")
|
|
||||||
# SET(OA_LIBRARY_DIR ${OA_DIR_SEARCH}/lib/linux_rhel21_32/dbg)
|
|
||||||
# ELSE($SYSTEM_TYPE MATCHES ".*x86_64.*")
|
|
||||||
# SET(OA_LIBRARY_DIR "unknown")
|
|
||||||
# ENDIF($SYSTEM_TYPE MATCHES ".*x86_64.*")
|
|
||||||
|
|
||||||
SET(OA_LIBRARY_DIR ${OA_DIR_SEARCH}/lib)
|
|
||||||
|
|
||||||
# Set OA_OACOMMON_LIBRARY
|
# Set OA_OACOMMON_LIBRARY
|
||||||
FIND_LIBRARY(OA_OACOMMON_LIBRARY_RELEASE NAMES oaCommon PATHS ${OA_LIBRARY_DIR} NO_DEFAULT_PATH )
|
FIND_LIBRARY(OA_OACOMMON_LIBRARY_RELEASE NAMES oaCommon PATHS ${OA_LIBRARY_DIR} NO_DEFAULT_PATH )
|
||||||
|
@ -223,9 +205,9 @@ IF(UNIX)
|
||||||
ELSE (OA_INCLUDE_PATH AND OA_LIBRARY_PATH)
|
ELSE (OA_INCLUDE_PATH AND OA_LIBRARY_PATH)
|
||||||
SET(OA_FOUND "NO")
|
SET(OA_FOUND "NO")
|
||||||
IF(OA_FIND_REQUIRED)
|
IF(OA_FIND_REQUIRED)
|
||||||
MESSAGE( FATAL_ERROR "OpenAccess libraries, includes NOT found!")
|
MESSAGE( FATAL_ERROR "OpenAccess NOT found!")
|
||||||
ELSE(OA_FIND_REQUIRED)
|
ELSE(OA_FIND_REQUIRED)
|
||||||
MESSAGE( STATUS "OpenAccess libraries, includes NOT found!")
|
MESSAGE( STATUS "OpenAccess NOT found!")
|
||||||
ENDIF(OA_FIND_REQUIRED)
|
ENDIF(OA_FIND_REQUIRED)
|
||||||
ENDIF (OA_INCLUDE_PATH AND OA_OACOMMON_LIBRARY AND OA_OABASE_LIBRARY
|
ENDIF (OA_INCLUDE_PATH AND OA_OACOMMON_LIBRARY AND OA_OABASE_LIBRARY
|
||||||
AND OA_OADM_LIBRARY AND OA_OATECH_LIBRARY AND OA_OADESIGN_LIBRARY
|
AND OA_OADM_LIBRARY AND OA_OATECH_LIBRARY AND OA_OADESIGN_LIBRARY
|
||||||
|
|
|
@ -2,4 +2,9 @@
|
||||||
all:
|
all:
|
||||||
cd ../../../../.. && make
|
cd ../../../../.. && make
|
||||||
|
|
||||||
.PHONY: all
|
mrproper:
|
||||||
|
cd testDriver && make mrproper
|
||||||
|
cd testParser && make mrproper
|
||||||
|
rm -rf .cadence
|
||||||
|
|
||||||
|
.PHONY: all mrproper
|
||||||
|
|
|
@ -1,36 +1,49 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# we assume that the directory pointed by OPENACCESS_TOP is like in other project of the lab
|
# we assume we work on linux for 32bit or 64 bits x86.
|
||||||
# to do so we should have :
|
|
||||||
# - included symbolic link to bin data lib and license directories from cadence OA
|
|
||||||
# - included doc and example from si2.org OA
|
|
||||||
# - included a symbolic link to an installation of headers from si2.org OA
|
|
||||||
#
|
#
|
||||||
# this script set environment variable for crlcore compilation with cadence OA
|
# this script set environment variable for crlcore compilation with cadence OA
|
||||||
# with these hypothesis
|
# first we set OPENACCESS_LIB to the oa directory containing the OA version we want to use
|
||||||
#
|
# second we set OPENACCESS_INCLUDE to where the OA include we want to use are
|
||||||
#OA_VERSION=oa_v22.04.057
|
# third we set the OA_PLUGIN_PATH and systems PATHS so the plugins and shared lib will load.
|
||||||
#ARCH=linux_rhel40_64
|
|
||||||
#
|
#
|
||||||
|
|
||||||
export OPENACCESS_TOP=$TEMP/CADENCE_OA
|
# use oa from virtuoso
|
||||||
|
OA_VERSION=oa_v22.04.057
|
||||||
|
# get OPUS_TOP and tools
|
||||||
|
# from virtuoso editor (needed)
|
||||||
|
source ~opus/bin/IC613.sh
|
||||||
|
|
||||||
#get OPUS_TOP and tools
|
# get encouter router too if possible
|
||||||
#from virtuoso editor
|
if test -f ~opus/bin/EDI910.sh
|
||||||
source $TEMP/IC613.sh
|
then
|
||||||
|
source ~opus/bin/EDI910.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
ARCH=$(uname -i)
|
||||||
|
|
||||||
|
OPENACCESS_TOP=$OPUS_TOP/$OA_VERSION
|
||||||
|
|
||||||
# we need oa + specific cadence libs ...
|
# we need oa + specific cadence libs ...
|
||||||
export OA_LIB_PATH=$OPENACCESS_TOP/lib:$OPUS_TOP/tools.lnx86/lib/64bit
|
case "$ARCH" in
|
||||||
echo $OA_LIB_PATH
|
"x86_64")
|
||||||
|
export OA_LIB_DIR=$OPENACCESS_TOP/lib/linux_rhel40_64/opt
|
||||||
|
export LD_LIBRARY_PATH=$OA_LIB_DIR:$OPUS_TOP/tools.lnx86/lib/64bit:$LD_LIBRARY_PATH
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
export OA_LIB_DIR=$OPENACCESS_TOP/lib/linux_rhel40_32/opt
|
||||||
|
export LD_LIBRARY_PATH=$OA_LIB_DIR:$OPUS_TOP/tools.lnx86/lib:$LD_LIBRARY_PATH
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
export OA_INCLUDE_PATH=$OPENACCESS_TOP/include
|
export PATH=$PATH:$OPENACCESS_TOP/bin
|
||||||
echo $OA_INCLUDE_PATH
|
|
||||||
|
|
||||||
export LD_LIBRARY_PATH=$OA_LIB_PATH:$LD_LIBRARY_PATH
|
# for plugins .plg files
|
||||||
|
export OA_PLUGIN_PATH=$OPENACCESS_TOP/data
|
||||||
#for plugins .plg files
|
|
||||||
export OA_PLUGIN_PATH=$OPENACCESS_TOP/data/plugins
|
|
||||||
|
|
||||||
#get encouter router too
|
|
||||||
source $TEMP/EDI910.sh
|
|
||||||
|
|
||||||
|
# where the si2 hearders have been installed
|
||||||
|
# note that $TEMP is /dsk/l1/misc/$(USER) directory
|
||||||
|
export OA_INCLUDE_DIR=$TEMP/OA_HEADER
|
||||||
|
#si on utilise OA de si2 on aura
|
||||||
|
#export OPENACCESS_INCLUDE=$OPENACCESS_TOP/include
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
|
|
||||||
TESTDIR= ./testOA
|
TESTDIR= ./testOA
|
||||||
TECHNOFILE= /asim/chams/etc/chams/config.freePDK45.xml
|
TECHNOFILE= /asim/chams/etc/chams/config.freePDK45.xml
|
||||||
|
M=$$(uname -m)
|
||||||
|
|
||||||
all: compile lefTest run
|
all: compile lefTest run
|
||||||
|
|
||||||
|
@ -11,26 +12,25 @@ compile:
|
||||||
./compile.sh
|
./compile.sh
|
||||||
|
|
||||||
run: compile
|
run: compile
|
||||||
./x86_64/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log
|
./$(M)/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log
|
||||||
|
|
||||||
debug: compile
|
debug: compile
|
||||||
gdb -args ./x86_64/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR)
|
gdb -args ./$(M)/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR)
|
||||||
|
|
||||||
ddd: compile
|
ddd: compile
|
||||||
ddd -args ./x86_64/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR)
|
ddd -args ./$(M)/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR)
|
||||||
|
|
||||||
valgrind_simple: compile
|
valgrind_simple: compile
|
||||||
valgrind ./x86_64/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log
|
valgrind ./$(M)/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log
|
||||||
|
|
||||||
valgrind_full: compile
|
valgrind_full: compile
|
||||||
valgrind -v --leak-check=full --show-reachable=yes ./x86_64/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log
|
valgrind -v --leak-check=full --show-reachable=yes ./$(M)/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log
|
||||||
|
|
||||||
mrproper: clean
|
mrproper: clean
|
||||||
rm -rf $(TESTDIR) *.log .cadence
|
rm -rf $(TESTDIR) *.log .cadence
|
||||||
cd sxlib2lef && make mrproper
|
cd sxlib2lef && make mrproper
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf x86_64
|
rm -rf $(M)
|
||||||
|
|
||||||
|
|
||||||
.PHONY: clean mrproper valgrind ddd debug run compile all lefTest
|
.PHONY: clean mrproper valgrind ddd debug run compile all lefTest
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
TECHNOFILE= /asim/chams/etc/chams/config.freePDK45.xml
|
TECHNOFILE= /asim/chams/etc/chams/config.freePDK45.xml
|
||||||
|
M=$$(uname -m)
|
||||||
|
|
||||||
all: compile
|
all: compile
|
||||||
|
|
||||||
|
@ -7,7 +8,7 @@ compile:
|
||||||
./compile.sh
|
./compile.sh
|
||||||
|
|
||||||
run:
|
run:
|
||||||
./x86_64/usr/local/bin/testOAWrapper \
|
./$(M)/usr/local/bin/testOAWrapper \
|
||||||
"/dsk/l1/misc/caba/OA_BENCHMARKS/NangateOpenCellLibrary_PDKv1_3_v2009_07/openaccess" \
|
"/dsk/l1/misc/caba/OA_BENCHMARKS/NangateOpenCellLibrary_PDKv1_3_v2009_07/openaccess" \
|
||||||
"NangateOpenCellLibrary" \
|
"NangateOpenCellLibrary" \
|
||||||
"/dsk/l1/misc/caba/OA_BENCHMARKS/NangateOpenCellLibrary_PDKv1_3_v2009_07/openaccess" \
|
"/dsk/l1/misc/caba/OA_BENCHMARKS/NangateOpenCellLibrary_PDKv1_3_v2009_07/openaccess" \
|
||||||
|
@ -17,7 +18,6 @@ mrproper: clean
|
||||||
rm -rf *.log .cadence
|
rm -rf *.log .cadence
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf x86_64
|
rm -rf $(M)
|
||||||
|
|
||||||
|
|
||||||
.PHONY: clean mrproper compile all run
|
.PHONY: clean mrproper compile all run
|
||||||
|
|
Loading…
Reference in New Issue