逻辑综合:

综合就是将设计的原始逻辑转换为可大规模实现并能够完成预期功能的器件的这一过程。
简述:将RTL代码转换为门级网表的过程

综合的优点

(1)能够提高代码可重复性(可以通过使用参数化代码、构建好的逻辑块、重新定位新的库等手段达到目的)
(2)能够提升工作效率,(不需要人为的对器件进行连线)
(3)可验证性
(4)可以更加抽象

逻辑综合是由约束来驱动的

(1)环境约束:PVT、线负载模型、模式
(2)规则约束:面积、扇出、驱动、负载
(3)时序约束:

ASIC设计流程

综合是基于路径的

时序路径共有四种:
(1)输入到寄存器
(2)寄存器到寄存器
(3)寄存器到输出
(4)输出到输入

综合的过程

综合的过程 = 转换 + 优化 + 映射

一般,设计的HDL源代码经过转换得到GTECH中间代码文件,然后经过优化和映射两个过程将GTECH文件转换为工艺库中对应的具体单元。

关于变量的介绍

target_library变量:DC中保留的变量,该变量指定的库是用来构建一个电路的。

DC进行映射的几个步骤:设置它让它指向你的生产商提供的库文件。使用厂家提供的工艺库中的时序数据计算这些问的时序。从target_library指定的库中选择功能正确的门。

link_library 变量:用来解析设计参照的

set link_library “* slow.db” *号代表 DC 内存,后面接着的是指定的目标库(如果这个变量没有加入目标库的名字则可能会存在单元不能解析的问题)。link_library 中指定的工艺库的名字只与用做参照的单元库有关,在 link_library 指定的工艺库不是为了给 DC 做优化判断的。它主要用在综合的转换阶段用以生成 GTECH 中间文件。

target_library 和 link_library 的不同: target_library 指定的工艺库与设计者让 DC 做优化并与产生最终映射的单元库一致,而 link_library 指定的库是在 DC 转换阶段用以生成 GTECH 中间文件的。

search_path 变量:可以给 DC 指定寻找文件时的的工作路径

解析时 DC 首先,寻找内存,然后寻找 link_library 变量指定的库文件。接着,DC 寻找所有的search_ path 变量中指定的路径。

symbol_library 变量:这个系统变量指定的库包括了工艺库中单元的图形 slow.sdb

写约束脚本的步骤

(1)读入设计
(2)对设计进行约束
(3)对设计进行综合
(4)产生报告检查设计
(5)保存设计

Synopsys工艺库与延时计算方法

设计者对工艺库格式和延迟计算方法的理解是成功综合的关键

清楚DC如何计算路径的延迟,通常需要查看库中的各种线负载模型和单元的描述

Sysnopsys工艺库是一个文本文件(通常具有扩展名.lib),他可以由库编译器(LC)编译生成一个二进制文件(具有拓展名.db),一般工艺库包含以下信息:
(1)库型
(2)库级属性
(3)环境描述
(4)单元描述

1、库型

2、库级属性

3、环境描述

3.1、线负载模型
**线负载模型包含的信息是版图设计前DC估算内连线延迟时使用的。**通常,几种模型分别适用于不同的设计规模。这些模型定义了电容、电阻、和面积因数。另外,线负载模型中还包含了信号倾斜以及各种统计后的与扇出对应的线长值。

4、单元描述
在库中的每一个单元都有一个属性描述的表,表中包含与各个单元相关的功
能、时序、和其他的信息。

DC综合基础知识学习相关推荐

  1. 网络基础知识学习笔记

    网络基础知识学习笔记 参考菜鸟教程.个人学习整理,仅供参考.三年前学过,三年没用忘了,重新学习整理一下. 文章目录 网络基础知识学习笔记 OSI七层网络模型 IP地址 子网掩码及网络划分 网络协议 A ...

  2. 计算机二级二叉树基础知识,2017年计算机二级公共基础知识学习教程:树与二叉树...

    (六)树与二叉树 1.树的基本概念 树是一种简单的非线性结构.在树结构中,数据元素之间有着明显的层次结构.在树的图形表示中,用直线连接两端的结点,上端点为前件,下端点为后件. 在树结构中,每一个结点只 ...

  3. Python 基础知识学习笔记——NumPy

    Python基础知识学习笔记--NumPy 与 matlab 优秀的矩阵运算类似,python 提供了 numpy 库,这对熟悉 matlab 的用户来说非常友好.向量.矩阵和多维数组是数值计算中必不 ...

  4. Python 基础知识学习笔记——OpenCV(1)

    Python 基础知识学习笔记--OpenCV(1) OpenCV是一个开源的跨平台计算机视觉和机器学习软件库,它轻量而且高效,被广泛的使用. 整理一下OpenCV学习笔记,以防忘记. 文章目录 Py ...

  5. Python基础知识学习笔记——Matplotlib绘图

    Python基础知识学习笔记--Matplotlib绘图 整理python笔记,以防忘记 文章目录 Python基础知识学习笔记--Matplotlib绘图 一.绘图和可视化 1.导入模块 2.一个简 ...

  6. python基础知识学习笔记(2)

    python基础知识学习笔记(2) 整理一下python基础知识,以防忘记 文章目录 python基础知识学习笔记(2) python简洁的一行代码 python简洁的一行代码 1.交换两个变量 # ...

  7. python基础知识学习笔记(1)

    python 基础知识学习笔记(1) 总结一下Python基础知识,以防忘记. 文章目录 python 基础知识学习笔记(1) 一.起步 1.python安装与编译环境 二.变量和简单数据类型 三.列 ...

  8. qt checkbox 选中事件_Qt基础知识学习

    Qt基础知识学习 Qt C++ SQLite ★★★★★   Qt · 简介 Qt是由Qt Company开发的面向对象的跨平台C++图形用户界面应用程序开发框架. 前期 · 准备 01 辨析Qt(开 ...

  9. oracle数据库基础知识总结,oracle数据库基础知识学习笔记

    oracle数据库基础知识学习笔记 一.oracle数据库类型: Char:  字符型(最大长度2000,定长.不足时以空格补充) Varchar2:字符型 最大长度 4000,变长,实际长度由存储的 ...

最新文章

  1. 澳洲留学征文活动获奖情况公布
  2. 常问面试题总结(JAVA基础篇)
  3. java ucs2转utf8_Windows下Unicode(UCS2),UTF8,GBK(GB2312)互转
  4. 防止在多模块Maven中找到“未找到插件”
  5. Java正则表达式的使用和详解(上)
  6. STM32F103:二.(3)DHT11温湿度
  7. h264 aac mux flv
  8. 简述ip地址的abc类如何划分_面试官问:讲讲IP地址的分配原理
  9. 面试常考,项目易错!C/C++中的字节对齐
  10. 计算机专业教研成绩,2018学年第一学期计算机组教研组工作计划
  11. list 分组_Power query 灵活处理员工特殊出勤问题(3)-TableGroup分组 amp; 合并查询
  12. 在屏幕中间分别显示绿色、绿低红色、白底蓝色的字符串'welcome to masm!'
  13. iphone 4 到iphone 6s plus的屏幕尺寸
  14. 无法更改硬件兼容性时解决“虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本”的方法
  15. 氟虫腈-13C2,15N2同位素内标的基质效应
  16. 弧齿锥齿轮零件图_弧齿锥齿轮画法类别
  17. [每日一题]14:用54张不同的扑克牌构成牌堆,发给3个玩家。
  18. codevs 2905 足球晋级
  19. 《CPT COLORFUL PROMPT TUNING FOR PRE-TRAINED》 论文笔记
  20. java 方法当参数_如何在Java中将函数作为参数传递?

热门文章

  1. Linux常用命令,Linux常用命令整理
  2. Linux 机器重启reboot命令
  3. ./和../以及/之间的区别?终于弄懂,写的很详细!!!
  4. 网络之路--【第四章】——IP编址之IP详解
  5. RepVGG:极简架构,SOTA性能,让VGG式模型再次伟大
  6. 正则表达式 “.*“匹配任意字符
  7. A man who has iron bone
  8. firefox插件grease_monkey
  9. 编写测试用例的基本方法之边界值
  10. 【文献阅读1】Comparative cytological and transcriptomic analysis of pollen development in autotetraploid a