32 Star 137 Fork 52

OSCC / iEDA

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
iEDA-logo

iEDA

从 Netlist 到 GDS 的开源数字芯片设计 EDA 基础设施和工具

Project Version Node Version License
GitHub Watchers GitHub Stars GitHub Forks

简体中文 | English

iEDA 主页:ieda.oscc.cc


🎉 最新消息:

我们的论文 iEDA: An Open-Source Intelligent Physical lmplementation Toolkit and Library [paper, slides] 获得 “Best Paper of ISEDA 2023


关于iEDA

  • About “i”in iEDA
    • Meaning 1: Infrastructure
    • Meaning 2: Intelligent
  • The goal of the iEDA project
    • EDA Infrastructure
    • High quality and performance EDA tool
  • Open-source is not a goal but a way

iEDA主要内容和规划

  • Enhance the infrastructure to support more design requirement
  • Complete the EDA tool chain from RTL-GDS II
  • Improve the quality and performance of all EDA tool operations
  • Construct AI for EDA platform and introduce trained AI model to the EDA platform
  • Build data system with enough chip design and labeling process data
  • Achieve the adaptability of the EDA platform for cloud-native
iEDA_framework

iEDA Structure

iEDA_structure

iEDA Infrastructure

iEDA_infrastructure

iEDA Operations (Tools)

iEDA_operation

iEDA Tapeout

iEDA_tapeout

论文和报告

  • ISEDA 2023: iEDA:An Open-Source Intelligent Physical Implementation Toolkit and Library [paper, slides]

iEDA 使用指导

使用 iEDA 进行芯片设计,需首先获得 iEDA 可执行文件。

若您需要对 iEDA 进行修改,通过源码构建,请按照顺序阅读。

您也可以直接使用最新的 iEDA docker 镜像,即可跳过 "1. 源码构建 iEDA"。

PS: 关于如何安装 Docker,可参考Docker安装及初始化

1. 源码构建 iEDA

我们提供两种源码构建 iEDA 的方法作为示例。

方法1 使用iEDA镜像(推荐)

从 Dockerhub 上下载最新的 iedaopensource/base 镜像,镜像中包含了最新的 master 分支代码和依赖(构建工具和依赖库)。也可使用 -v 命令挂载自行下载的 iEDA 代码仓库,仅使用镜像提供的编译工具和依赖库进行构建。

参考如下命令,进入容器后的当前目录即为 iEDA master 分支代码。

# iedaopensource/base:(latest, ubuntu, debian)
docker run -it --rm iedaopensource/base:latest bash 
# 进入容器后执行 build.sh 进行构建
bash build.sh
# 若能够正常输出 "Hello iEDA!" 则编译成功
./bin/iEDA -script scripts/hello.tcl

根据个人使用习惯,有 ubuntu(基于Ubuntu20.04)和 debian(基于Debian11)两种不同镜像tag可选。

方法2 手动安装依赖并编译

在 Ubuntu 20.04 下执行如下命令:

# 下载iEDA仓库
git clone https://gitee.com/oscc-project/iEDA.git iEDA && cd iEDA
# 通过apt安装编译依赖,需要root权限
sudo bash build.sh -i apt
# 编译 iEDA
bash build.sh
# 若能够正常输出 "Hello iEDA!" 则编译成功
./bin/iEDA -script scripts/hello.tcl

2. 使用 iEDA 完成芯片设计

详细内容请移步至 iEDA 用户手册

贡献指南

Fork 此 iEDA 仓库,修改代码后提交 Pull Request

请注意 iEDA 使用的编程规范

讨论和反馈

  • 新建 issue,我们将及时反馈。
  • QQ 群:793409748
  • 微信讨论群:
微信讨论群

License

木兰宽松许可证, 第2版

致谢

在iEDA的开发过程中,我们采用了来自开源社区的子模块。具体情况如下:

子模块 来源 详细用途
flute3 FastRoute 借助flute3来产生rectange steiner tree.
abseil-cpp Google abseil 使用Google的高性能C++容器和算法库提升性能,相比STL会改进程序性能.
json JSON for Modern C++ Json C++库,用来解析程序Json配置文件.
magic_enum Static reflection for enums (to string, from string, iteration) 支持 enum 值和字符串的相互转换.
libfort Seleznev Anton libfort C/C++ library 产生格式化的 ASCII tables.
pegtl PEGTL(Parsing Expression Grammar Template Library) 使用PEGTL来方便的解析SPEF文件.
pybind11 pybind 11 方便python调用C++.
VCDParser ben-marshall verilog-vcd-parser 解析功耗VCD波形文件.
def lef def lef parser 解析物理设计DEF/LEF文件.
ThreadPool Jakob Progsch, Václav Zeman threadpool C++11模板库实现的多线程池.
fft fft 快速傅立叶变换库.
hMETIS hMETIS 高效的图划分算法.
lemon lemon 图、网络中的高效建模和优化.
SALT SALT 生成VLSI路由拓扑,在路径长度(浅度)和总线长(亮度)之间进行权衡.
scipoptsuite SCIP 用于快速求解混合整数规划 (MIP) 和混合整数非线性规划 (MINLP) .
parser/verilog OpenROAD/OpenSTA/verilog 解析netlist文件 .
mt-kahypar mt-kahypar 多线程超图划分器.

我们深深地感谢来自开源社区的支持,我们也鼓励其他开源项目在木兰宽松许可证的范围下复用我们的代码。

空文件

简介

从 Netlist 到 GDS 的开源芯片设计 EDA 平台 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/oscc-project/iEDA.git
git@gitee.com:oscc-project/iEDA.git
oscc-project
iEDA
iEDA
master

搜索帮助