轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
mpw_precheck

efabless/mpw_precheck

efabless

MPW Precheck Docker镜像是efabless提供的MPW项目提交前检查工具,通过运行许可验证、网表一致性、GDS布局检查、DRC/LVS验证等自动化检查,确保项目符合MPW提交要求,替代不再支持的非Docker运行方式。

下载次数: 0状态:社区镜像维护者:efabless仓库类型:镜像最近更新:1 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,让镜像更快,让人生更轻。
点击查看

MPW Precheck

:exclamation: :exclamation: :exclamation: 重要说明 :exclamation: :exclamation: :exclamation:
尽管仍有可能,但efabless不再支持从Docker外部运行mpw-precheck。如果选择直接通过Python运行,您将对生成的结果承担全部责任

镜像概述和主要用途

MPW Precheck Docker镜像是efabless提供的自动化检查工具,用于在MPW(多项目晶圆)项目提交前验证设计是否符合规范。该工具通过一系列标准化检查确保项目在许可、网表结构、GDS布局、设计规则等方面满足提交要求,是MPW项目开发流程中的关键验证环节。

前提条件

  • Docker环境

核心功能和特性

  • 全面的合规性检查:涵盖许可验证、网表结构检查、GDS布局验证等多维度检查
  • 自动化流程:按预设顺序执行检查,失败时提供明确错误信息
  • 兼容性验证:确保设计与Caravel用户项目模板的一致性
  • 设计规则检查:集成Magic和Klayout工具进行DRC验证
  • 灵活配置:支持私有项目模式,可跳过开源相关检查

安装与设置

Docker镜像获取

可通过本地构建或从Dockerhub拉取两种方式获取镜像。

本地构建Docker镜像

bash
cd 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

bash
docker pull docker.xuanyuan.run/efabless/mpw_precheck:latest

PDK安装

如未安装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.v
  • 将顶层GDS-II文件放在gds/目录下(路径: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

脚本功能详解

该工具按顺序执行以下检查,任何检查失败都会中止并显示相应错误信息:

许可检查

  • 项目根目录、子模块和第三方库包含至少一个批准的许可,不含任何禁止的许可
  • 所有源文件包含批准的SPDX许可和版权头

Makefile检查

  • Makefile包含至少GDS文件的压缩和解压目标

默认内容检查

  • 项目内容与https://github.com/efabless/caravel_user_project.git%EF%BC%88%E6%95%B0%E5%AD%97%E9%A1%B9%E7%9B%AE%EF%BC%89%E6%88%96https://github.com/efabless/caravel_user_project_analog.git%EF%BC%88%E6%A8%A1%E6%8B%9F%E9%A1%B9%E7%9B%AE%EF%BC%89%E7%9A%84%E9%BB%98%E8%AE%A4%E5%86%85%E5%AE%B9%E4%B8%8D%E5%90%8C
  • user_project_wrapper.gds与上述默认项目中的对应文件不同

文档检查

  • 存在README.md文档,且不包含非包容性语言

一致性检查

对用户网表(user_project_wrapper/user_analog_project_wrapper)和顶层网表(caravel/caravan)执行一系列检查,确保符合黄金封装约束:

  • 通用检查:
    • 建模检查:验证网表为结构化,不含行为级构造
    • 复杂度检查:验证网表非空且至少包含8个实例
  • 顶层网表额外检查:
    • 子模块钩子:检查用户封装子模块端口连接与黄金封装端口匹配
    • 电源检查:检查网表中所有子模块均连接电源
  • 用户网表额外检查:
    • 端口检查:检查网表端口名称与黄金封装端口匹配
    • 布局检查:检查网表与提供的用户封装布局在实例数量和名称上匹配

GPIO定义检查

验证项目verilog/rtl/user_defines.v网表中的Verilog指令

XOR检查

确保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))

设计规则检查

  • MagicDRC:使用Magic工具检查user_project_wrapper.gds无DRC违规
  • KlayoutBEOLDRC:使用Klayout检查user_project_wrapper.gds在https://skywater-pdk.readthedocs.io/en/main/rules/summary.html%E6%97%A0DRC%E8%BF%9D%E8%A7%84
  • KlayoutFEOLDRC:使用Klayout检查user_project_wrapper.gds在https://skywater-pdk.readthedocs.io/en/main/rules/summary.html%E6%97%A0DRC%E8%BF%9D%E8%A7%84
  • KlayoutOffgrid:检查user_project_wrapper.gds无网格违规(规则https://skywater-pdk.readthedocs.io/en/main/rules/periphery.html%EF%BC%89
  • KlayoutMetalMinimumClearAreaDensity:检查user_project_wrapper.gds的5个金属层密度均低于https://skywater-pdk.readthedocs.io/en/main/rules/periphery.html%E8%A7%84%E5%AE%9A%E7%9A%84%E6%9C%80%E5%A4%A7%E5%AF%86%E5%BA%A6

LVS检查

平台默认禁用LVS,仅在本地运行时启用

  • 对用户项目执行层次检查、软检查、LVS检查和ERC检查。详情参见相关文档

OEB检查

运行OEB检查,确保用户连接所有必要的OEB信号。详情参见相关文档

当前假设

  • 用户模块名称为user_project_wrapper(模拟项目为user_analog_project_wrapper)
  • mpw precheck在Docker容器内执行,其中存在Caravel的黄金副本,由环境变量GOLDEN_CARAVEL指定

LVS配置

为使LVS和OEB检查成功运行,用户必须提供LVS配置文件,描述设计层次结构并提供必要检查信息。配置文件编写方法参见相关文档

注意:如果从用户项目Makefile运行precheck,可通过DISABLE_LVS环境变量禁用LVS

使用方法

挂载Docker容器

bash
export 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问题的排查指南,请参见调试文档

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 mpw_precheck 镜像标签

docker pull docker.xuanyuan.run/efabless/mpw_precheck:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull efabless/mpw_precheck:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
efabless/mpw_precheck
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
商务合作:点击复制邮箱
用户协议·隐私政策·©2024-2026 源码跳动
用户协议·隐私政策©2024-2026 杭州源码跳动科技有限公司商务合作:点击复制邮箱

更多 mpw_precheck 镜像推荐

efabless/openlane logo

efabless/openlane

efabless
用于构建包含openlane所有工具的单个Docker镜像的构建指南,通过分阶段构建各工具镜像并合并为统一镜像,支持特定工具构建与重建功能。
6 次收藏10万+ 次下载
1 年前更新
efabless/openlane-tools logo

efabless/openlane-tools

efabless
OpenLane Prebuilt Tools Repository
3 次收藏10万+ 次下载
1 年前更新
efabless/dv logo

efabless/dv

efabless
efabless/dv:cocotb镜像是基于Ubuntu 22.04的验证环境,包含cocotb及相关Python包(如cocotb-coverage、caravel-cocotb)、Verilator、Icarus Verilog等工具,用于Caravel芯片项目的验证工作。
5万+ 次下载
1 年前更新
efabless/dv_setup logo

efabless/dv_setup

efabless
这是一个针对基于sky130A项目的Verilog设计验证(DV)的容器化工具链,包含rv32i工具链,用于简化相关项目的验证环境搭建与运行流程。
1万+ 次下载
5 年前更新

查看更多 mpw_precheck 相关镜像