news 2026/4/30 14:16:03

SiliconCompiler workflow

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SiliconCompiler workflow

文章目录

  • 它和你现在做的 CI/CD 有什么关系?
  • -1 这个项目的目录
    • 2 .github/workflows/(GitHub Actions CI/CD 配置)
      • 3 它有哪些 workflow?
        • 4 daily_ci.yml 重点是什么?
        • 5 python_ci.yml 又是什么?
  • -2 SiliconCompiler CI/CD 分层设计
    • 为什么要分这么多 CI?
    • 每一层是干什么的?
      • python_ci.yml(快速 CI)
      • daily_ci.yml(每日 CI)
      • docker_image.yml(环境构建)
      • tools_ci.yml(工具验证)
      • lint.yml(代码规范)
      • wheels.yml(发布)
  • -3 SiliconCompiler CI 分为两类:
    • 1. 快速 CI(每次提交)
    • 2. 慢速 CI(定时)

SiliconCompiler 是一个开源的模块化硬件构建系统。
SiliconCompiler = 用 Python 统一调度各种 EDA 工具,把芯片/硬件设计流程自动化的开源框架。

它和你现在做的 CI/CD 有什么关系?

我现在做的Gitee Go Demo是:

提交代码 → 运行 Python 脚本 → 上传制品 → 发布

SiliconCompiler 做的是更复杂的:

提交硬件/EDA代码 → 安装依赖 → 多系统、多 Python 版本测试 → 调用 EDA/仿真工具 → 跑测试集 → 跑设计案例 → 保存日志、覆盖率、artifact

-1 这个项目的目录

siliconcompiler/ 项目核心源码 tests/ 自动化测试代码 examples/ 示例设计/示例项目 docs/ 文档 .github/workflows/ GitHub Actions CI/CD 配置 pyproject.toml Python 项目配置

2 .github/workflows/(GitHub Actions CI/CD 配置)

3 它有哪些 workflow?



SiliconCompiler 不是只有一条 CI,而是把不同目的拆成多条 workflow:快速测试、每日测试、工具测试、镜像构建、代码检查、发布构建。

4 daily_ci.yml 重点是什么?

这个 daily_ci.yml 名字叫 Daily CI Tests。它有三种触发方式:手动触发、被其他 workflow 调用、定时触发;定时规则是每天运行一次。
它的结构如下:

Daily CI Tests ├── docker_image │ └── 准备工具容器 ├── cache │ └── 安装依赖、生成缓存、上传 artifact ├── daily_tests_job │ └── 多 Python 版本运行完整测试 └── gallery └── 跑设计样例/benchmark

优点:

5 python_ci.yml 又是什么?

python_ci.yml 更像普通项目里的基础 CI。它在 push 到 main 或 test/** 分支、Pull Request、手动触发时运行。它会在多个 Python 版本和多个操作系统上测试,包括 Ubuntu、Windows、macOS,并运行 pytest。

python_ci.yml = 快速基础验证 daily_ci.yml = 每日完整验证

-2 SiliconCompiler CI/CD 分层设计

SiliconCompiler 的 CI 不是一条流水线,而是:

CI/CD 体系(多层) ├── 快速 CI(python_ci.yml) ├── 每日 CI(daily_ci.yml) ├── 工具链 CI(tools_ci.yml) ├── 环境构建(docker_image.yml) ├── 代码规范(lint.yml) └── 发布 CI(wheels.yml)

不同目的 → 不同 workflow

为什么要分这么多 CI?

我现在的 Demo 是:

一条流水线 → 做所有事

每一层是干什么的?

python_ci.yml(快速 CI)

每次提交 / PR → 快速验证

daily_ci.yml(每日 CI)

每天跑一次“完整验证”


不是每次提交都跑

docker_image.yml(环境构建)

构建运行环境(工具链)

很重要因为:EDA / 算法 → 依赖复杂环境

tools_ci.yml(工具验证)

验证工具是否正常

lint.yml(代码规范)

检查代码风格

wheels.yml(发布)

打包 + 发布 Python 包

-3 SiliconCompiler CI 分为两类:

1. 快速 CI(每次提交)

python_ci.yml

快速反馈

2. 慢速 CI(定时)

daily_ci.yml

深度验证

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 14:14:33

番茄小说下载器完整指南:3步建立你的永久离线书库

番茄小说下载器完整指南:3步建立你的永久离线书库 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 番茄小说下载器(fanqienovel-downloader)是一款强大的…

作者头像 李华
网站建设 2026/4/30 14:14:02

从用量看板分析团队月度AI调用成本与各模型消耗占比

从用量看板分析团队月度AI调用成本与各模型消耗占比 1. 访问用量看板入口 登录Taotoken控制台后,左侧导航栏的「用量分析」模块提供了完整的调用数据观测能力。点击「用量看板」即可进入核心数据页面,系统默认展示最近30天的聚合数据。顶部的时间选择器…

作者头像 李华
网站建设 2026/4/30 14:09:30

【C++】基础

&#x1f4cc;左移和右移左移 << n → 等于 乘以 2 的 n 次方右移 >> n → 等于 除以 2 的 n 次方&#xff08;向下取整&#xff09;int i 3; i << 1; //相当于 3*2的一次方 6int a 2; a >>1; //相当与2 / 2的一次方 1&#x1f4cc;namespace的定…

作者头像 李华
网站建设 2026/4/30 14:01:47

思源宋体CN:7种字重开源字体全方位应用指南

思源宋体CN&#xff1a;7种字重开源字体全方位应用指南 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文排版设计寻找完美的字体解决方案吗&#xff1f;思源宋体CN这款由Adob…

作者头像 李华
网站建设 2026/4/30 14:01:20

手把手教你用MATLAB/Simulink搭建PMSM无感FOC仿真(滑模观测器SMO实战篇)

从零构建PMSM无感FOC仿真&#xff1a;滑模观测器在Simulink中的工程实现 当我在实验室第一次成功运行基于滑模观测器的PMSM无感FOC仿真时&#xff0c;那种从理论到实践的突破感至今难忘。对于电机控制工程师和研究者而言&#xff0c;MATLAB/Simulink仿真是验证算法有效性的关键…

作者头像 李华
网站建设 2026/4/30 14:00:39

3分钟掌握SRWE:Windows窗口尺寸自由调整的实用工具

3分钟掌握SRWE&#xff1a;Windows窗口尺寸自由调整的实用工具 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否曾想过像调整照片一样轻松调整任何Windows应用程序的窗口大小&#xff1f;SRWE&#xff08;…

作者头像 李华