diff --git a/build_iflow.sh b/build_iflow.sh index 0a2abab9d3cfc72c6c4205e48b8b9b15adda5d71..2c467673c26a053fd81e3582ed05b74d09f88f79 100755 --- a/build_iflow.sh +++ b/build_iflow.sh @@ -38,34 +38,30 @@ export IFLOW_MIRROR_URL source $IFLOW_SHELL_DIR/common.sh -# essential package -RUN_ROOT apt install wget build-essential clang libreadline-dev bison flex libffi-dev cmake libboost-all-dev swig klayout libeigen3-dev libspdlog-dev -y -# tcl -RUN_ROOT apt install tcl-dev -y +RUN_ROOT apt-get update && apt-get install -y cmake klayout tcl-dev libspdlog1 RUN_ROOT cp -f /usr/include/tcl8.6/*.h /usr/include/ RUN_ROOT ln -s -f /usr/lib/x86_64-linux-gnu/libtcl8.6.so /usr/lib/x86_64-linux-gnu/libtcl8.5.so # lemon CHECK_DIR /usr/local/include/lemon ||\ { - RUN wget http://lemon.cs.elte.hu/pub/sources/lemon-1.3.1.tar.gz - RUN tar zxvf lemon-1.3.1.tar.gz + # RUN wget http://lemon.cs.elte.hu/pub/sources/lemon-1.3.1.tar.gz + RUN cd $IFLOW_TOOLS_DIR + CHECK_DIR lemon-1.3.1 || RUN tar zxvf lemon-1.3.1.tar.gz RUN cd lemon-1.3.1 - CHECK_DIR build || RUN mkdir build + RUN mkdir -p build RUN cd build RUN cmake .. RUN make -j$IFLOW_BUILD_THREAD_NUM RUN_ROOT make install - RUN cd ../../ - RUN rm -rf lemon-1.3.1 lemon-1.3.1.tar.gz } -# update iFlow -RUN cd $IFLOW_ROOT_DIR -RUN git pull origin master +# # update iFlow +# RUN cd $IFLOW_ROOT_DIR +# RUN git pull origin master -# install tools -RUN $IFLOW_SHELL_DIR/install_tools.sh +# # install tools +# RUN $IFLOW_SHELL_DIR/install_tools.sh # link iEDA lib echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:'$IFLOW_TOOLS_DIR'/iEDA_0.1/lib' >> ~/.bashrc \ No newline at end of file diff --git a/scripts/cfg/tools_cfg.py b/scripts/cfg/tools_cfg.py index fa6b967c99b27d95bc400a1543bc1b6f2915af8c..97795cc4ce3b1a7d51a72f294f4b2ae3f3fec16a 100755 --- a/scripts/cfg/tools_cfg.py +++ b/scripts/cfg/tools_cfg.py @@ -22,11 +22,11 @@ tool1 = Tools( tool2 = Tools( ('floorplan','tapcell','pdn','gplace','resize','dplace','cts','filler','groute'), 'openroad_1.1.0', - '../../../iFlow/tools/OpenROAD9295a533/build/src/openroad') + '../../../iFlow/tools/OpenROAD9295a533/bin/openroad') tool3 = Tools( ('v2def','floorplan','tapcell','pdn','gplace','resize','dplace','cts','filler','groute','droute'), 'openroad_1.2.0', - '../../../iFlow/tools/OpenROADae191807/build/src/openroad') + '../../../iFlow/tools/OpenROADae191807/bin/openroad') tool4 = Tools( ('droute',), 'TritonRoute_1.0', diff --git a/scripts/shell/install_tools.sh b/scripts/shell/install_tools.sh index b21eb8b54030ed757495f3bea2d42225a9a82bc5..b54944f4873e4275c260927bf0a54006626e958c 100755 --- a/scripts/shell/install_tools.sh +++ b/scripts/shell/install_tools.sh @@ -36,30 +36,38 @@ sleep 1 # RUN cmake .. # RUN make -j$IFLOW_BUILD_THREAD_NUM # RUN cd $IFLOW_ROOT_DIR - + +RUN_ROOT apt-get update && apt-get install -y git tcl-dev ninja-build build-essential clang \ + libreadline-dev bison flex libffi-dev cmake libboost-all-dev swig libeigen3-dev libspdlog-dev + +OPENROAD110=$IFLOW_TOOLS_DIR/OpenROAD9295a533 +OPENROAD120=$IFLOW_TOOLS_DIR/OpenROADae191807 + +CHECK_DIR $OPENROAD110 || RUN git clone https://${IFLOW_MIRROR_URL}/The-OpenROAD-Project/OpenROAD.git tools/OpenROAD9295a533 +CHECK_DIR $OPENROAD120 || RUN cp -r $OPENROAD110 $OPENROAD120 + # OpenROAD9295a533 -CHECK_DIR $IFLOW_TOOLS_DIR/OpenROAD9295a533 || RUN git clone https://${IFLOW_MIRROR_URL}/The-OpenROAD-Project/OpenROAD.git tools/OpenROAD9295a533 -RUN cd $IFLOW_TOOLS_DIR/OpenROAD9295a533 +RUN cd $OPENROAD110 RUN git checkout 9295a533 -RUN cd $IFLOW_TOOLS_DIR/OpenROAD9295a533/src -RUN git submodule update --init --recursive OpenSTA OpenDB flute3 replace ioPlacer FastRoute eigen TritonMacroPlace OpenRCX -CHECK_DIR $IFLOW_TOOLS_DIR/OpenROAD9295a533/src/PDNSim || RUN git clone https://${IFLOW_MIRROR_URL}/ZhishengZeng/PDNSim.git PDNSim -RUN cd $IFLOW_TOOLS_DIR/OpenROAD9295a533 -CHECK_DIR $IFLOW_TOOLS_DIR/OpenROAD9295a533/build || RUN mkdir build -RUN cd build -RUN cmake .. -RUN make -j$IFLOW_BUILD_THREAD_NUM +RUN cd $OPENROAD110/src +RUN git submodule update --init --recursive --depth=1 OpenSTA OpenDB flute3 replace ioPlacer FastRoute eigen TritonMacroPlace OpenRCX +CHECK_DIR $OPENROAD110/src/PDNSim || RUN git clone https://${IFLOW_MIRROR_URL}/ZhishengZeng/PDNSim.git PDNSim --depth=1 --branch=master + +RUN cd $OPENROAD110 +RUN mkdir -p build bin +RUN cmake -S$OPENROAD110 -B$OPENROAD110/build -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:FILEPATH=$OPENROAD110/bin -DCMAKE_INSTALL_PREFIX=$OPENROAD110/bin -G Ninja +RUN cmake --build $OPENROAD110/build -j $IFLOW_BUILD_THREAD_NUM RUN cd $IFLOW_ROOT_DIR # OpenROADae191807 -CHECK_DIR $IFLOW_TOOLS_DIR/OpenROADae191807 || RUN git clone https://${IFLOW_MIRROR_URL}/The-OpenROAD-Project/OpenROAD.git tools/OpenROADae191807 -RUN cd $IFLOW_TOOLS_DIR/OpenROADae191807 +RUN cd $OPENROAD120 RUN git checkout ae191807 -RUN git submodule update --init --recursive -CHECK_DIR $IFLOW_TOOLS_DIR/OpenROADae191807/build || RUN mkdir build -RUN cd build -RUN cmake .. -RUN make -j$IFLOW_BUILD_THREAD_NUM +RUN git submodule update --init --recursive --depth=1 + +RUN mkdir -p build bin +RUN cmake -S$OPENROAD120 -B$OPENROAD120/build -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:FILEPATH=$OPENROAD120/bin -DCMAKE_INSTALL_PREFIX=$OPENROAD120/bin -G Ninja +cmake -S$(pwd) -B$(pwd)/build -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:FILEPATH=$(pwd)/bin -DCMAKE_INSTALL_PREFIX=$(pwd)/bin -G Ninja +RUN cmake --build $OPENROAD120/build -j $IFLOW_BUILD_THREAD_NUM RUN cd $IFLOW_ROOT_DIR echo "" diff --git a/tools/.gitignore b/tools/.gitignore index 3f361267838e1d43676072a46a7059980edb5956..2ad649f53f74a56b09035d73c83cc92eed3c5543 100755 --- a/tools/.gitignore +++ b/tools/.gitignore @@ -12,3 +12,6 @@ !yosys4be891e8/** !iEDA_0.1 !iEDA_0.1/** +!lemon-1.3.1.tar.gz +!OpenROAD9295a533/bin/* +!OpenROADae191807/bin/* \ No newline at end of file diff --git a/tools/OpenROAD9295a533/bin/openroad b/tools/OpenROAD9295a533/bin/openroad new file mode 100755 index 0000000000000000000000000000000000000000..048dd5d4f411fa37bb6c62d40edb5f77a2ddbb56 Binary files /dev/null and b/tools/OpenROAD9295a533/bin/openroad differ diff --git a/tools/OpenROADae191807/bin/openroad b/tools/OpenROADae191807/bin/openroad new file mode 100755 index 0000000000000000000000000000000000000000..38e37731820c1c6e44bd5b508f1a0305b82da68e Binary files /dev/null and b/tools/OpenROADae191807/bin/openroad differ diff --git a/tools/lemon-1.3.1.tar.gz b/tools/lemon-1.3.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..695fe997beaff217a8594a1cbe27dde9f2bbf553 Binary files /dev/null and b/tools/lemon-1.3.1.tar.gz differ