技术标签: 数字后端
数字前端设计:在集成电路设计中,从Verilog/VHDL代码(RTL级)编写验证再通过综合( synthesis)转换成门级网表( gate netlist)的过程。
数字后端设计(backend design):门级网表的物理实现,即把门级网表转换成版图,
完整的后端设计由后端半定制与后端全定制两个设计部分组成:
1)后端全定制设计是指在设计初期最先按照设计需求设计出的物理单元库,物理单元库由标准单元库、IP库及满足特殊需求的定制部件单元等组成。该物理库为后续后端半定制设计提供物理实现基础。
2)后端半定制设计是指使用布局布线工具并基于后端全定制阶段完成的标准单元库及IP库并根据前端设计完成整个芯片的组装与实现,这个过程又称为数字后端设计(自动布局布线-APR)。
传统上将布局布线前的工作称之为数字前端(Front End)设计,而将布局布线之后的工作称为数字后端(Back End)设计。
布局的目的在于产生制作掩膜所需的GDSII文件。同时也产生布局后的网表文件(Netlist)及标准延迟文件(SDF)。
运用给定的输入,在给定的时间内做出符合signoff条件的PR结果并满足各种验证。
主要工作就是接收数字前端提交的代码,最终交付一个完整的芯片布局布线结果。
工作职责
(1) 从事SoC物理实现(P&R)工作,包括版图设计(floorplan)与后端验证(LVS/DRC)等
(2.)利用工具实现自动布局布线
后端设计软件:
布局布线APR(Auto Placement &Route):Innovus/Encounter ,ICC2/ICC
综合工具:(带DFT)Synopsys DC,Genus
物理验证(PV):Mentor Calibre
静态时序分析(STA):Synopsys PrimeTime,Tempus
功耗分析(PA):Redhawk,Voltus,PTPX
仿真工具:
Mentor modelsim/Questasim
数字后端工作的开始——数据输入:
它包含了后端流程需要的所有文件:综合/DFT后的网表(netlist)、时序约束sdc、timing&physical等库文件、signoff的条件和设置以及各种EDA工具所需要的工艺文件。
Floorplan阶段
直接影响芯片的PPA(power, performance and area)
对整个设计进行一个宏观的规划,包括像模块大小的规划,Macro的摆放,电地power走线的规划。出pin的规划。decap的摆放,endcap的摆放,welltap的摆放等等。
Place阶段(或PlaceOpt)
主要内容是调用工具的算法对标准单元进行自动摆放。
对于网表中标准单元的摆放,根据优化的命令进行诸如插入buf,优化逻辑等等操作。旨在在设计初期,基于当前宏观floorplan 的规划下进行优化,进而可以看到工具导出的理想时钟树下的时序情况。
CTS阶段(Clock Tree Synthesis)
主要是时钟树的生长,基于设计约束中的关于时钟的定义约束进行时钟树的生成,在满足时钟drv约束的前提以及个人关于时钟约束的前提下生成树。
主要内容是根据floorplan和place的结果合理构建时钟树,并对有timing关系的clock进行balance。
Route阶段
包括布线后的优化,主要是调用PR工具的算法对design中的net进行自动布线,并在布线后继续优化timing, area和power等。
对设计中所有的单元进行信号线的连接。保证满足时序要求。同时会对绕线过程中的DRC进行修复工作。
最重要的就是能否绕通,也就是是否能够将绕线后的drc/short降至最低甚至0。
这部分routing的对象不包括power,analog等特殊net,因为这些net通常有特殊的约束,因此需要设计者根据工艺、floorplan以及其他constraint自行设计。
ECO阶段(Engineer Changing Order)
主要是对于工具无法完全修掉的问题进行手动fix。
分类:
Logic ECO:
对网表的逻辑功能的修改。
原因在于在芯片设计的后期阶段,前端工程师可能会发先设计上的某些bug而需要对电路做修改,而此时的schedule已经不允许进行重新综合,因此会选择在PR的网表上进行逻辑修改,一般情况是会增加一些逻辑或者将某些逻辑的net重新连接。
Physical ECO
主要是针对PR工具无法完全fix的问题进行手动修正。
一般包括Timing ECO,drc fix等。
Chip Finish Process阶段
主要是对PR基本完成的网表在进行流片前为量产、良率已经后期改版做一些优化和准备。
一般包括插入filler cells、insert metal fill、修复antenna,某些flow可能会选择在这个时机插入tap或者boundary cells。
Verfication
验证,主要包括:
一切都没有问题之后,就可以signoff(或tapeout)
参考:
文章浏览阅读102次。面向对象 Object Oriented概述面向过程分析出解决问题的步骤,然后逐步实现。例如:婚礼筹办– 发请柬(选照片、措词、制作)– 宴席(场地、找厨师、准备桌椅餐具、计划菜品、购买食材)– 婚礼仪式(定婚礼仪式流程、请主持人)公式:程序 = 算法 + 数据结构优点:所有环节、细节自己掌控。缺点:考虑所有细节,工作量大。面向对象找出解决问题的人,然后分配职责。例如:婚礼筹办– 发请柬:找摄影公司(拍照片、制作请柬)– 宴席:找酒店(告诉对方标准、数量、挑_界面使用控制台输出显示。识别对象:界面视图类、逻辑控制类、数据模型类分配
文章浏览阅读2.6k次,点赞4次,收藏17次。目录1,参考2,踩过的坑:3,FormData详解4,实现的代码如下:1,参考参考:(1)文件上传获取路径显示c:\fakepath\...解决办法https://blog.csdn.net/qq_29099209/article/details/82800496(2)IE浏览器上传文件时本地路径变成”C:\fakepath\”的问题 :https://nvry..._flask显示图片
文章浏览阅读219次。解决Ant design vue Table组件添加列固定属性fixed:left之后标题的底色消失的问题_el-table 加上fixed头部的颜色没有了
文章浏览阅读2.2k次。效果图:源码:html>canvas绘制填充矩形//绘制无填充矩形varmy1=document.getElementById("mycanvas");//访问mycanvasvarctx=my1.getContext("2d");//这个参数不需要改动ctx.beginPath();//创建路径ctx.lineWidth=5;//边框大写,也就是描边ctx.strokeSt..._js 绘制带边框的填充矩形 linewidth
文章浏览阅读966次。 Dynamic Proxy 是JDK 1.3 版本中新引入的一种代理机制。严格来讲,Dynamic Proxy本身并非一种模式,只能算是Proxy 模式的一种动态实现方式,不过为了与传统Proxy 模式相区分,这里暂且将其称为“Dynamic Proxy 模式”来泛指通过Dynamic Proxy 机制实现的Proxy 模式。 通过Decorator模式,我们可以改写接口_dyproxy
文章浏览阅读1.7w次,点赞81次,收藏65次。这篇文章摘要将介绍人工智能在医疗领域的应用。随着技术的迅猛发展,人工智能在医疗诊断、治疗和研究方面展现出巨大的潜力。我们将深入探讨人工智能在医学影像解读上的应用,如何通过深度学习算法提高医生对X光、MRI等图像的准确性。_cisco dhcp端口
文章浏览阅读3k次,点赞3次,收藏20次。通过网线连接获取树莓派ip地址_树莓派网线连接电脑查看ip
文章浏览阅读1.7w次,点赞29次,收藏96次。Linux之Mysql安装配置第一种:通过yum安装配置Mysql(简单)第二种:Linux离线安装Mysql(较难)一、通过yum安装Mysql1. 第一步 下载下载地址:https://dev.mysql.com/downloads/repo/yum/········或········· http://repo.mysql.com#使用wget下载mysqlwget http://repo.mysql.com/mysql80-community-release-el7.rpm_linux安装mysql命令
文章浏览阅读1.3k次。https://blog.csdn.net/heyijia0327/article/details/45567373_ros发布和订阅在一个节点
文章浏览阅读706次。Elasticsearch学习笔记_巨輪的博客-程序员宅基地_elasticsearch学习笔记ElasticSearch Merge机制和写放大问题研究-云社区-华为云ES原理:掌握它才说明你真正懂 Elasticsearch - 弱水三千12138 - 博客园_elasticsearch documents merged rate
文章浏览阅读345次。NX二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突_nx二次开发 the dialog- add handle
文章浏览阅读1w次,点赞9次,收藏27次。INSTALLING PREVIOUS VERSIONS OF PYTORCHWe’d prefer you install the latest version, but old binaries and installation instructions are provided below for your convenience.COMMANDS FOR VERSIONS >= 1.0.0v1.9.0CondaOSX# condaconda install pytorch==1_torch 1.13.1