在 compile之前保存ddc设计文件

  • check design - 检查文件的连接性和物理性
  • check design之后可以将未映射的网表写出,如果是几十万级的RTL,如果不写出,设置约束出现问题,更改之后,前面的流程需要重新进行,花费时间
  • check design之后写出未映射的网表,再读入约束,方便进行调整约束,可以直接读入ddc文件,节省时间

在compile之后保存ddc

  • ddc - 二进制文件,存储网表,约束,属性

测试

  • 链接期间不会找目标库,目标库是在映射期间进行查找的
  • CWD - 当前项目的路径(包含rtl,cons...),也是当前的dc启动的路径,link的时候会查找
  • link libraries - 会解析
  • search path - 会解析
  • DC memory - dc内存

  • 在进行link之前需要读入rtl,read_verilog命令作用:读入GTECH网表,读入RTL将其转换为未映射的网表;将RTL添加到DC内存;加载link库

  • 查找顺序:DC memory --> .db
  • 查找不到,ddc会自动加载
  • ddc文件可以自动进行添加,添加的路径搜素顺序:search path中的顺序:CWD-->default search path --> appended search path

  • z_box是ddc形式的,那么会在search path找
  • lib cell z_box是库文件 - 在link library找
  • z_box.v - read_verilog读入,在dc memory中进行寻找
  • design z_box - 已经加载到dc内存中的z_box文件
  • library design z_box - link library中进行寻找

  • DC memory --> link_library --> search path,使用IP.db中的z_box
  • .ddc文件自动加载,文件名必须和RTL中一致

  • B选型 - 使用文件列表,默认第一个作为current_design
  • C - 依次读取design - 默认最后一个作为current_design
  • D - 所有design在一个文件中,第一个module作用current design
  • 保留unmapped ddc文件方便修改时序后的约束

  • ddc文件 - 包含网表和约束
  • T2不含约束,T3包含约束
  • T1是未综合的RTL,T4是综合之后的网表
  • T3是未映射的网表,T5是映射的网表
  • T6中保存的module,就是current design,top
  • -hier:加这个选项,会保留设计层级
  • 保存在当前路径下

  • 可以修改parameter值
  • analyze+elaborate - 不能读取ddc
  • a,c,d

使用拓扑模式进行综合

  • out1和out2都是有三个扇出,使用WLM模式进行综合,得到的RC可能是一样的,但是实际上是不一样的,所以考虑使用拓扑模式进行综合
  • WLM综合 --> ICC布局布线 --> 物理信息 --> 拓扑模式综合

双通道topo模式综合流程



Milkyway参考库

  • WLM模式下的模型 - LM
  • CEl - cell库,包含所有standcell的形状及引脚的位置,包含全部信息及内部引脚的互联
  • FRAM - CEL的简化,指包含引脚的位置

布局视图和抽象视图

什么是标准单元库

  • standcell - 是全定制的设计,其中N well和P Well都是设计好的
  • standcell - 有固定的高度,方便布局布线;上层是VDD,下层是GND
  • 工艺确定之后,标准单元库就确定了

技术文件(Technology File)(.tf file)







  • 走线越靠近上方,走线越宽

TLUPlus files

层映射文件(Layer mapping file)

首次加载物理技术数据

  • mw_reference_library - 设置milkyway library

重新加载现有的设计





默认的布局约束 - 第一次综合

  • 方核放置区 - 长宽一致

修改布局(FP)约束 - 第一次综合

  • 可以对于IP和RAM的位置进行指定

定义相对核心形状:Aspect ratio

  • Aspect ratio - 长/宽

定义相对核(relative core)的大小:利用率

  • 利用率越高,拥塞程度会增加
  • total area = cell area/utilization(利用率),利用率越高,total area越小

定义精确的矩形区域

  • 指定左下角坐标和右上角坐标,比较适合于设计大的SoC

实例



















定义相对端口侧





定义确切的端口,宏和阻挡区

  • 在RAM的四周设置Blockage,RAM周围会布很多的线,会导致拥塞或者short,在Blockage中不能摆放standcell



DC-T物理约束

加载实际平面约束-第二次综合

典型的DC-T流程:编译前的准备

方便的替代设置文件



DC-T测试

  • a x - DC-T是没有LM模型的
  • b x - 不精准的布线
  • c √
  • d √
  • e x - 不是创建精准的floorplan
  • milkyway参考库 - standcell\IO\pin
  • 设计库 - 设计的物理信息

变量总结:定义逻辑库

命令总结:加载逻辑数据

命令总结:加载物理数据

命令总结:物理约束

总结

DC-设计和工艺数据-02的更多相关文章

  1. 从Wolframserver获取DC comics卡通人物数据

    背景知识 DC comics是美国时代华纳旗下DC娱乐下属的一个漫绘图书出版商. 超人.蝙蝠侠之类漫画的始作俑者. 在Wolfram的眼下为止3750个PopularCurves数据中(所有下载数据有 ...

  2. 漫游Kafka设计篇之数据持久化

    Kafka大量依赖文件系统去存储和缓存消息.对于硬盘有个传统的观念是硬盘总是很慢,这使很多人怀疑基于文件系统的架构能否提供优异的性能.实际上硬盘的快慢完全取决于使用它的方式.设计良好的硬盘架构可以和内 ...

  3. Java秒杀简单设计三:数据封装类

    上一篇https://www.cnblogs.com/taiguyiba/p/9828984.html 整合了数据库表和Dao层代码 这一篇继续设计数据封装类: 涉及到获取秒杀地址,查询,返回秒杀结果 ...

  4. OA电子表单设计-年假申请单-数据验证

    OA从年初上线到现在已经过去半年了,时光飞逝. 上月底,行政文员找到我,说最近有新来的部门文员填<年假申请单>时,有乱填的情况,让我想办法处理. 我一查还真是,这文员是个男的,同一天给同一 ...

  5. STM32的USB速度,终于确定了传输极限,为以后的产品设计提供了数据。

    是自定协议,用到一个bulk in ep1, 一个bulk out ep2 端点  用虚拟串口的优点显而易见,上位机的编写非常方便,就按照常规的串口功能编写就可以了,而速度确还是usb的速度  USB ...

  6. php设计模式之单例模式实例(设计mysqli连接数据的数据处理类)

    一直在研究php的设计模式,但是没有亲历使用过,所以还是一知半解,通过几天的学习终于对php的单例设计模式稍稍的有些了解,特此写出一个数据库处理类(只涉及到简单的原理),以便自己以后方便查阅,至于其他 ...

  7. 【开源】OSharp框架解说系列(5.1):EntityFramework数据层设计

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  8. MVC实用架构设计(三)——EF-Code First(4):数据查询

    前言 首先对大家表示抱歉,这个系列已经将近一个月没有更新了,相信大家等本篇更新都等得快失望了.实在没办法,由于本人水平有限,写篇博客基本上要大半天的时间,最近实在是抽不出这么长段的空闲时间来写.另外也 ...

  9. .NetCore生产环境下构建Consul(单个DC数据中心)的服务器健康检查

    下载最新的consul程序 consul 启动方式有两种 server 和client 默认是client 如果你不需要记录数据可以用 consul agent -dev 来启动 consul age ...

  10. Windows Phone实用教程:利用Blend为程序添加设计时数据

    [前言] Blend自诞生那一天起就伴随这开发者如此的评价: 有VS还用Blend干啥,直接码代码就好了. Blend会生成一堆垃圾无用代码,很不爽. 对于这类我只会在心里评价,当你并不真正了解一样事 ...

随机推荐

  1. python操作mongodb基本使用

    使用pymongo,具体可以参考官方文档: 语法上基本和原生mongodb是一样的,所以非常容易入手... https://pymongo.readthedocs.io/en/stable/tutor ...

  2. eclipse 使用技巧和java相关

    1,内容提示:alt + /     需要配置:windwos ->preferences中搜索keys,搜索alt +/ 发现它配置的是单词完成.搜索content  assist,将alt ...

  3. MyBatis中使用#{}和${}占位符传递参数的各种报错信息处理

    在Mapper层使@Select注解进行SQL语句查询时,往往需要进行参数传入和拼接,一般情况下使用两种占位符#{参数名}和${参数名},两者的区别为: 一.两种占位符的区别 1.参数传入方式的区别 ...

  4. 云图说|图解DGC:基于华为智能数据湖解决方案的一体化数据治理平台

    摘要:数据湖治理中心DGC,帮助企业快速构建从数据集成到数据服务的端到端智能数据系统,消除数据孤岛,统一数据标准,加快数据变现,实现数字化转型. 本文分享自华为云社区<[云图说]第232期 图解 ...

  5. 智定义、易调整,火山引擎DataLeap助力企业轻松实现全流程值班管理

     更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   近日,火山引擎大数据研发治理套件DataLeap全新上线值班管理模块,企业可通过该模块体系化智能化创建值班计 ...

  6. 初识Selenium自动化(为什么要去用自动化?)

    什么是自动化测试 让程序代替人去验证程序功能的过程 自动化测试就是把以人为驱动的测试行为转化为机器执行的一种过程 比如说:我们设计好执行脚本,通过驱动连接浏览器去模拟人去操作浏览器一般 为什么要进行自 ...

  7. 机器人多目标包围问题(MECA)新算法:基于关系图深度强化学习

    摘要:中科院自动化所蒲志强教授团队,提出一种基于关系图的深度强化学习方法,应用于多目标避碰包围问题(MECA),使用NOKOV度量动作捕捉系统获取多机器人位置信息,验证了方法的有效性和适应性.研究成果 ...

  8. 用 Python 开发的 PDF 抽取Excel表格 2.0版

    前些天向大家介绍了我开发的从PDF抽取表格小工具的使用方法(️点击直达),有同学反馈说有一些问题: 一页PDF有多张表,只能抽取第一个 有些表格线条是透明的,无法抽取 一页一页处理太麻烦,不能一次性抽 ...

  9. Go--记录下踩map的坑

    这两天新调个接口的时候,一直提示签名错误,但所需的时间,工号,token都是对的,完全没有头绪,卡了两天后,终于找到原因了 原因是我的校验信息,是要将时间,工号,token封装在一起成字符串,然后用m ...

  10. AIGC加速迭代,云栖大会视频云「媒体服务」专场与你共话云智深度融合

    2023杭州·云栖大会 倒计时5天! 阿里云视频云 5大并行Session 11场话题演讲 深度演绎云智融合的全面进化 「媒体服务」Tech专场 重磅议题剧透来袭 01 「媒体服务」Tech • 新数 ...