iFlow使用docker环境运行
今天尝试了一下iFlow,很不错。没有bug,但是docker里面运行到最后显示的版图显示还是有一些问题,应该是klayout需要在桌面端运行。
但是我需要一个自动记录命令行输出的工具,运行结果找不到了。
最后生成的结果文件为:
iFlow使用
在拉取docker镜像后,使用命令进入docker:
docker run -it --name iflow iedaopensource/iflow bash
也可以自己构建:(考虑到后面出现的Qt动态链接库的bug,这里直接先考虑一下)
# syntax=docker/dockerfile:1
ARG BASE_IMAGE=ubuntu:20.04
FROM ${BASE_IMAGE}
LABEL maintainer="https://hub.docker.com/u/iedaopensource"
ARG IFLOW_WORKSPACE=/opt/iFlow
ADD https://gitee.com/oscc-project/iFlow.git ${IFLOW_WORKSPACE}
ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime && \
export DEBIAN_FRONTEND=noninteractive && \
bash ${IFLOW_WORKSPACE}/build_iflow.sh && \
rm -rf ${IFLOW_WORKSPACE}/tools/lemon-1.3.1* && \
apt-get autoremove -y && apt-get clean -y
RUN strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
WORKDIR ${IFLOW_WORKSPACE}/scripts
# docker build -t iflow .
进入后运行生成后端文件的脚本:
./run_flow.py -d aes_cipher_top -s synth,floorplan,tapcell,pdn,gplace,resize,dplace,cts,filler,groute,droute,layout -f sky130 -t HS -c TYP -v V1 -l V1
使用docker compose和docker run的区别:
docker compose可以每次****docker compose up运行即可,而不会重复创建镜像。
但是如果使用****docker run会创建重复的容器,比较麻烦。
跑上述的脚本的时候,出现了一个报错:
libQt5Core.so.5:cannot open shared object file: No such file or directory
网上找到的解决办法:
strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
原帖子链接
最后生成的芯片版图文件:
如果前面步骤都做好了,可以直接使用最后一步用layout显示版图文件:
./run_flow.py -d aes_cipher_top -s layout -f sky130 -t HS -c TYP -v V1 -l V1