| :exclamation: :exclamation: :exclamation: 重要说明 :exclamation: :exclamation: :exclamation: |
|---|
| 尽管仍有可能,但efabless不再支持从Docker外部运行mpw-precheck。如果选择直接通过Python运行,您将对生成的结果承担全部责任 |
MPW Precheck Docker镜像是efabless提供的自动化检查工具,用于在MPW(多项目晶圆)项目提交前验证设计是否符合规范。该工具通过一系列标准化检查确保项目在许可、网表结构、GDS布局、设计规则等方面满足提交要求,是MPW项目开发流程中的关键验证环节。
可通过本地构建或从Dockerhub拉取两种方式获取镜像。
本地构建Docker镜像
bashcd dependencies sh build-docker.sh
从Dockerhub拉取镜像
从https://hub.docker.com/repository/docker/efabless/mpw_precheck/tags?page=1&ordering=last_updated%E6%8B%89%E5%8F%96%E6%9C%80%E6%96%B0%E9%95%9C%E5%83%8F%EF%BC%9A
bashdocker pull efabless/mpw_precheck:latest
如未安装PDK,请参考https://github.com/efabless/caravel.git%E9%A1%B9%E7%9B%AE%E7%9A%84Makefile%E8%BF%9B%E8%A1%8C%E5%AE%89%E8%A3%85%E3%80%82
verilog/gl/user_project_wrapper.vgds/目录下(路径:gds/user_project_wrapper.gds),该目录应压缩并通过Makefile解压./third_party/used_external_repos.csv文件,记录所有使用的外部GitHub仓库信息(格式:仓库名称,提交哈希)./signoff/<macro-name>/final_summary_report.csv中包含设计统计信息(如单元数量、核心利用率等)。使用OpenLANE时,该文件会自动生成在<run path>/reports/final_summary_report.csv该工具按顺序执行以下检查,任何检查失败都会中止并显示相应错误信息:
user_project_wrapper.gds与上述默认项目中的对应文件不同对用户网表(user_project_wrapper/user_analog_project_wrapper)和顶层网表(caravel/caravan)执行一系列检查,确保符合黄金封装约束:
验证项目verilog/rtl/user_defines.v网表中的Verilog指令
确保user_project_wrapper(数字项目对应https://github.com/efabless/caravel_user_project.git%EF%BC%8C%E6%A8%A1%E6%8B%9F%E9%A1%B9%E7%9B%AE%E5%AF%B9%E5%BA%94https://github.com/efabless/caravel_user_project_analog.git%EF%BC%89%E7%9A%84%E4%BF%AE%E6%94%B9%E4%BB%85%E5%9C%A8%E7%94%A8%E6%88%B7%E5%AE%9A%E4%B9%89%E5%8C%BA%E5%9F%9F%E5%86%85%EF%BC%88%E5%B7%A6%E4%B8%8B%E8%A7%92(0,0)%E8%87%B3%E5%8F%B3%E4%B8%8A%E8%A7%92(2920, 3520))
user_project_wrapper.gds无DRC违规user_project_wrapper.gds在后端金属层无DRC违规user_project_wrapper.gds在前端金属层无DRC违规user_project_wrapper.gds无网格违规(规则x.1b, x.3a, x.2, x.2c)user_project_wrapper.gds的5个金属层密度均低于li1.pd.ld, m1.pd.ld, m2.pd.ld, m3.pd.ld, m4.pd.ld, m5.pd.ld规则规定的最大密度平台默认禁用LVS,仅在本地运行时启用
运行OEB检查,确保用户连接所有必要的OEB信号。详情参见相关文档
user_project_wrapper(模拟项目为user_analog_project_wrapper)GOLDEN_CARAVEL指定为使LVS和OEB检查成功运行,用户必须提供LVS配置文件,描述设计层次结构并提供必要检查信息。配置文件编写方法参见相关文档
注意:如果从用户项目Makefile运行precheck,可通过DISABLE_LVS环境变量禁用LVS
bashexport PDK_PATH=<PDK"variant specific"的绝对路径> export INPUT_DIRECTORY=<用户项目的绝对路径> sh docker-mount.sh
usage: mpw_precheck.py [-h] --input_directory $INPUT_DIRECTORY --pdk_path $PDK_PATH [--output_directory OUTPUT_DIRECTORY] [--private] [check [check ...]] 按顺序调用各种检查运行precheck工具。 位置参数: check 要运行的检查(默认:无) 可选参数: -h, --help 显示此帮助消息并退出 -i, --input_directory $INPUT_DIRECTORY 项目的绝对路径(默认:无) -p, --pdk_path $PDK_PATH PDK"variant specific"的安装路径(默认:无) -o, --output_directory OUTPUT_DIRECTORY 输出目录,默认=<input_directory>/precheck_results(默认:无) --private 如果提供,precheck将跳过用于验证项目是否符合开源项目要求的[许可、默认内容、文档]检查(默认:False)
有关precheck问题的排查指南,请参见调试文档
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务