全定制电路Flow手册

news/2025/4/3 4:37:48/文章来源:https://www.cnblogs.com/sasasatori/p/18805246

简单做个summary手册,方便后面查阅以及组里统一规范。

全定制电路Flow手册

编写人:袁易扬

联系方式:2861704773@qq.com

文档版本 编写日期 说明
v1.0 2024.3.27 初次发布

1. 工具链

原理图:

Cadence Virtuoso IC617/618(用于22nm及以上的平面CMOS工艺)

Cadence Virtuoso ICADV(用于16nm及以下的Finfet先进工艺)

仿真:

Cadence Spectre(模拟仿真)

Cadence AMS(数模混仿)

版图:

Cadence Virtuoso IC617/618(用于22nm及以上的平面CMOS工艺)

Cadence Virtuoso ICADV(用于16nm及以下的Finfet先进工艺)

后仿真:

Calibre xRC/xACT

Cadence QRC

物理验证:

Calibre DRC/LVS

2. 全定制电路基本流程

设计文档编写->原理图绘制->原理图仿真验证->版图Floorplan->版图Placement->版图Route->版图DRC/LVS->后仿验证

3. 文档规范

原始文档建议使用markdown进行编辑,markdown编写软件推荐使用Typora(可以下载免费版,也可以购买付费版),也可以使用vscode安装markdown插件后作为markdown编辑器使用。

设计文档格式可参考《设计文档模板》,内容需要包括:

  1. 模块/芯片功能描述(描述模块/芯片整体功能)
  2. 模块/芯片架构描述(包含框图以及子模块功能基本描述)
  3. 模块/芯片端口(使用表格进行描述,表格中需要包含以下内容:Port 端口名;Width 端口位宽;Direction 端口方向; Function 功能描述)

如果存在模块/芯片存储器和存储器也需要进行描述:

  1. 模块/芯片寄存器(使用表格进行描述,表格中需要包含以下内容:Address 地址;Name:寄存器名;Type:功能(读写/只读/只写); Function 功能描述;Reset Value 复位值)
  2. 模块/芯片存储器(使用表格进行描述,表格中需要包含以下内容:Start Address 起始地址; End Address 终止地址;Size 存储器尺寸;Name 存储器名;Function 功能描述)

验证文档格式可参考《验证文档模板》,内容需要包括:

  1. 验证说明描述(描述要验证的模块,验证的方案,验证的工具,待验证的功能目标)
  2. 验证平台架构(包含框图以及子模块基本功能描述)
  3. 验证模块/芯片端口(使用表格进行描述,表格中需要包含以下内容:Port 端口名;Width 端口位宽;Direction 端口方向; Function 功能描述)
  4. 验证计划(使用表格进行描述,表格中需要包含以下内容:Test Name 测试名;Test Method 测试方法;Test Target 测试目标)
  5. 验证用例(使用表格进行描述,表格中需要包含以下内容:Case Name 用例名;Description 用例描述; Implementation 用例的验证激励和验证响应)

测试文档格式可参考《测试文档模板》,内容需要包括:

  1. 测试说明描述(描述要测试的模块,测试的方案,测试的工具,待测试的功能目标)
  2. 测试平台架构(包含框图以及子模块基本功能描述)
  3. 测试模块/芯片端口(使用表格进行描述,表格中需要包含以下内容:Port 端口名;Width 端口位宽;Direction 端口方向; Function 功能描述)
  4. 测试计划(使用表格进行描述,表格中需要包含以下内容:Test Name 测试名;Test Method 测试方法;Test Target 测试目标)
  5. 测试用例(使用表格进行描述,表格中需要包含以下内容:Case Name 用例名;Description 用例描述; Implementation 用例的测试激励,预期响应和实际响应)

此外文档需要注明以下信息:

  1. 文档作者
  2. 作者联系方式
  3. 文档版本
  4. 文档编写日期

若文档存在历史版本,需要说明各版本修改信息。

4. 设计规范

4.1 原理图设计

  1. 采用层次化设计,优先实现晶体管直接构成的低层级模块电路,高层次模块尽可能使用低层次模块组合完成,注意模块复用性
  2. 注意原理图中Component的布局,摆放位置、数据流向等需要能够反映layout中的布局情况
  3. 大位宽总线/端口优先考虑采用向量表达式声明的方式来实现,例如A<0:127>,索引一般固定采用低位在前高位在后的方式。小位宽总线可以使用Attach to multiple wires来实现
  4. 需要大量重复的Component可以使用迭代实例声明的方式来实现重复例化,例如Ix<0:127>,索引一般固定采用低位在前高位在后的方式
  5. 使用声明创建总线和Componet时一定要注意匹配连接关系,避免出错,一个例子可参考下图,图中的电路的功能实现了将INPUT<7:0>的高4位按位取反后,与低四位进行与非,并将输出顺序比特倒序输出,即OUTPUT<0>=!(INPUT<3>&(!INPUT<7>))OUTPUT<1>=!(INPUT<2>&(!INPUT<6>))OUTPUT<2>=!(INPUT<1>&(!INPUT<5>))OUTPUT<3>=!(INPUT<0>&(!INPUT<4>))

image

  1. 尽管Virtuoso支持复杂的总线向量声明方式,如下表所示,但在使用时需要高度谨慎,需要考虑到走线时的实现情况,原理图中可以简单实现的大量乱序连接,在版图中实现可能是非常困难的

image

  1. 注意原理图完成时进行Save & Check,若无特殊情况,完成的原理图进行Save & Check时不应有Warning/Error
  2. 积极使用Net Highlighting功能检查连线情况,避免出现漏连/误连
  3. 管子参数设置时,需要考虑Layout的匹配以及便捷性,避免设置极端的宽长比,可以通过增大finger或者multiplier来增大total width

4.2 版图设计

  1. 优先使用Layout XL进行版图绘制
  2. 版图绘制开始前需要进行Floorplan,依次规划:电路形状;电路出Pin;电源连接
  3. Floorplan时需要重点关注电路出Pin的层次与方向问题,优先考虑大位宽线的走线,尽可能的处理成可以直接竖直或水平出线的情况,从而规避做大规模绕线的工作量
  4. Placement阶段,管子级电路的布置注意对称性和匹配,版图中添加的dummy需要向原理图中更新
  5. 模块需要注意高度和关键层次的对齐,尽可能将模块电路都设计成标准单元高度的倍数,从而方便在全定制电路中使用标准单元以及和半定制电路进行集成
  6. Route时,Metal层尽量采用一层horizen一层vertical的方式进行走线,走线层次注意与其他电路,尤其是半定制电路部分保持一致。此外重点避免在低层金属走折线,以降低DRC风险和避免走线资源浪费
  7. 确保金属线走在线道(track)上,偏离track会引发走线资源的浪费,导致走线密度下降,track由Metal层最小pitch决定,需要根据工艺规则提前确定
  8. 混合信号电路,高速电路等关键电路注意添加Guard Ring

5. 电路检查

  1. 在绘制电路时,优先采用先DRC后LVS的方式,在检查顶层电路时,优先采用先LVS后DRC的方式
  2. 可在绘制模块电路的每个小步骤完成后进行一次DRC检查,尤其是批量的重复性操作,避免需要修DRC返工
  3. 进行LVS检查时需要检查LVS Option,一般在进行top最终检查时需要特别注意关闭掉虚拟链接的选项
  4. 大型电路积极使用Black Box功能进行层次化的检查,便于多个电路绘制工作的并行推进

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/909771.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ajax、vue-cli、element

Ajax(Asynchronous JavaScript And XML)异步的JavaScript和XML 作用:数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据。 异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术Axios:对原生Ajax进行封装,简化书写,快速开…

Hutool工具TreeUtil构建树形结构

1.导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-core</a…

20241101 2024-2025-2 《Python程序设计》实验二报告

20241101 2024-2025-2 《Python程序设计》实验一报告 课程:《Python程序设计》 班级:2411 姓名:苏萱 学号:20241101 实验教师:王志强 实验日期:2025.3.26 必修/选修: 公选课 (一)实验内容 1.设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。 2.考核…

8种核心架构图作用解析

一、架构图是什么?架构图就像人体的骨架决定身体结构一样,架构图是组织/系统的"骨架说明书"。它把复杂事物最关键的顶层结构画成视觉地图,帮助我们5分钟看懂一个体系的构造。 常见的有8种类型,都是企业管理的"导航地图"。 二、8大核心架构图详解业务架…

2024-2025-2 《Python程序设计》实验二报告

学号 2024-2025-2 《Python程序设计》实验二报告 课程:《Python程序设计》 班级: 2413 姓名: 廖江泽 学号:20241311 实验教师:王志强 实验日期:2025年3月26日 必修/选修: 公选课 1.实验内容设计并完成一个完整的计算器,完成加减乘除模等运算,功能多多益善;考核基本语…

《C Primer Plus 中文版 (第6版)》2020版最新修订版PDF下载

《C Primer Plus(第6版)中文版》在之前版本的基础之上进行了全新升级,它涵盖了C语言最新的进展以及C11标准的详细内容。本书还提供了大量深度与广度齐备的教学技术和工具,来提高你的学习。内容简介豆瓣评分9.1 重量级C大百科全书 中文版累计销量近百万册! C图书领域的独孤…

蓝桥杯2

今天写了写选择结构的题

ubuntu配置cuda和cudnn

nvidia-smi 查看当前驱动 https://developer.nvidia.com/cuda-toolkit-archive 选择匹配的驱动下载.run文件 sudo sh cuda****如果已经安装过显卡驱动,就不要再重复安装驱动了,按enter取消driverDriver: Not Selected Toolkit: Installed in /usr/local/cuda-12.4/ Please…

卢曼卡片盒笔记法介绍 Introduction to the Zettelkasten Method

你可能在工作中遇到了迫切需要解决的问题,可能被硕士论文压得喘不过来气,你想要提升你的博客水平,想写一本书,或者想在科研上更进一步。但是有一点需要明确,卡片盒笔记法不仅是一个帮助你完成工作或项目的工具,更是管理你生活中所遇到的知识的方法。原文链接:https://ze…

javawebDay5-Maven框架

单元测试右侧参数代表测试当前类的各项比例 Class:调用测试类中类 Method:调用方法比例 Line:调用代码量比例问题:目前猜测是用户名为中文导致

量化的前期准备

我看了不少国内量化的软件, 很多都在说QMT 迅投公司的产品, 专卖给券商, 然后券商给优质用户开 号就可以了。 各个券商的要求各不一样。 我这个因为我很多板块要求50w 存20工作日, 放了进去,居然符合券商要求了,答应给我开通了。 其实现在 很多开源的 比如easy trader 的…

[Tools] 使用 HammerDB 对 SQL Server 执行负载测试

HammerDBhttps://www.hammerdb.com/download.html HammerDB 是全球数据库行业最值得信赖的免费开源数据库基准测试应用程序,支持 Microsoft SQL Server、IBM Db2、Oracle、PostgreSQL、MariaDB 和 MySQL。HammerDB 在 Windows 和 Linux 上构建和测试,具有无与伦比的性能和可扩…