DC-PT-FM-ICC学习笔记

Backend Study Notes
DC综合学习笔记........................................................................ - 1 -
一、verilog 编写.................................................................. - 1 -
二、DC综合注意的地方.............................................................. - 2 -
1.在同一个电路中不能同时含有触发器和锁存器两种电路单元。 ...................... - 2 -
2.在电路中不能出现有反馈的组合逻辑。 .......................................... - 2 -
3.不能出现用一个触发器的输出作为另一个触发器的时钟。 .......................... - 2 -
4.异步逻辑和模拟电路要单独处理。 .............................................. - 2 -
5.使用的单元电路没有映射到工艺库中。 .......................................... - 2 -
三、DC综合名词解释及脚本.......................................................... - 2 -
1.名词解释.................................................................... - 2 -
2.环境脚本说明................................................................ - 2 -
恒温恒湿净化实验室
3.约束脚本说明................................................................ - 3 -
4.查看报告命令................................................................ - 3 -
一些综合经验.................................................................. - 4 - 附录.............................................................................. - 4 -
1.DC的启动脚本................................................................ - 4 -
2.组合电路优化脚本............................................................ - 5 -
3.时序电路优化脚本............................................................ - 5 - PT STA学习笔记........................................................................ - 6 -
一、一些注意的地方............................................................... - 6 -
二、常用的脚本.................................................................... - 7 -
附录.............................................................................. - 8 - 时序分析范例..............................................
.................... - 8 - 分析脚本(worst) ............................................................... - 8 - 分析脚本(best) ................................................................ - 9 - Formality学习笔记.................................................................... - 10 - 脚本范例......................................................................... - 10 - Encounter学习比较.................................................................... - 10 -
一、理论......................................................................... - 10 -
1、布图...................................................................... - 10 -
1.1、I/O单元................................................................. - 10 -
1.2、层次化设计.............................................................. - 10 -
2、布局...................................................................... - 11 -
2.1、电源规划................................................................ - 11 -
2.2、标准单元和模块的放置.................................................... - 12 -
3、CTS ....................................................................... - 12 -
4、布线...................................................................... - 13 -
二、脚本运用..................................................................... - 13 -
三、需要抽取和保存的文件......................................................... - 15 - ICC学习笔记.......................................................................... - 16 -
一、ICC基本流程.................................................................. - 16 -
二、文件准备..................................................................... - 16 -
三、脚本运用..................................................................... - 17 -
附录:脚本范例................................................................... - 17 - 启动脚本范例................................................................. - 17 - Floorplan脚本范例............................................................ - 18 - 无PAD脚本................................................................... - 18 - 有PAD脚本................................................................... - 18 - Placement脚本范例............................................................ - 19 - CTS脚本范例.................................................................. - 19 - Route脚本范例................................................................ - 20 - 文件导出范例.............................................................
.... - 20 - ECO脚本范例.................................................................. - 20 - VCS学习笔记.......................................................................... - 22 - DFT学习笔记.......................................................................... - 22 - Tcl语言学习笔记..................................................................... - 22 -4 Perl语言学习笔记..................................................................... - 23 - 时序学习笔记......................................................................... - 23 -
1、基本概念.................................................................. - 23 -
2、ON-Chip Variations(OCV) ................................................... - 30 -
3、时间借用(Time Borrowing or cycle stealing) ................................ - 31 -
4、Data to Data Check ........................................................ - 32 - 其他学习笔记......................................................................... - 35 -
模具石膏粉一、低功耗学习笔记............................................................... - 35 -
化纤抽丝1.Clock Gate ................................................................. - 35 -
二、信号完整性分析............................................................... - 35 - 名词解释............................................................................. - 36 - 后端工程师具备的能力................................................................. - 37 - 附录................................................................................. - 37 -
DC综合学习笔记
一、verilog 编写
在使用if语句的时候,一定得把条件写全,不然会综合出锁存器。一个if语句只能跟一个表达式。如果一个电路中出现两种时序电路结构(锁存器和触发器),会增加电路的测试难度。If语句对应的是选择器。If语句隐含这优先级别,这和case语句不同。
Case和If语句一样,都是用于选择输出的,但是case 语句隐含的是平行的电路结构。当case语句的条件没有完全译码时,会引起具有优先级的电路结构。
在使用always语句描述组合电路时,在该语句中读入的所有变量都需要出现在事件列表中,否则可能会得不到期望的结果。(//synopsys full_case parallel_case,如果case语句不写全可以加这个key word)
在使用always语句描述时序电路的时候,都会引用触发器,使用”<=”来对变量赋值,这种赋值叫做非阻塞赋值(相当是顺序语句,得前一句赋值完后才执行下一句,如果是触发器的话,向后延时一个时钟周期)。
在verilog语言中,一个reg类型的数据是被解释成无符号数,integer类型的数据是被解释成二进制补码的有符号数,而且最右边是有符号数的最低位。
key word --- //synopsys
//synopsys async_set_reset "reset"
<: module SP2 ( reset,SP2IB1,IB12SP,SPen,
SP2IB1en ) ;
input SPen, SP2IB1en ,reset;
input [2:0] IB12SP ;
output [2:0] SP2IB1;
reg [2:0] sp;
//synopsys async_set_reset "reset" //加这句说明和不加这句说明综合结果是不一样的,最好是加上这么一句
always @(SPen or IB12SP or reset)
begin
便携式洒弹器if (reset)
sp = 07;
else if (SPen)
sp = IB12SP;
end
assign SP2IB1 = (SP2IB1en ? sp : 'bz);
endmodule
细胞分离培养
二、DC综合注意的地方
1.在同一个电路中不能同时含有触发器和锁存器两种电路单元。
2.在电路中不能出现有反馈的组合逻辑。
3.不能出现用一个触发器的输出作为另一个触发器的时钟。
4.异步逻辑和模拟电路要单独处理。
5.使用的单元电路没有映射到工艺库中。
三、DC综合名词解释及脚本
1.名词解释
link_library设置单元或模块的引用。前面必须包含’*’,表示DC在引用实例化模块时首先搜索已经调进DC memory的模块。link_library {“*” slow.db}
target_library为最终要映射的库。
synthetic_library 的库在初始化DC的时候,不需要设置标准的Design Ware库standard.sldb用于实现Verilog 描述的运算符,对于扩展的Design Ware,需要在
synthetic_library中设置,同时需要在link_library 中设置相应的库以使得在链接的时候DC可以搜索到相应运算符的实现。
路径的划分:DC综合及优化都是基于路径的,路径的划分为:路径的起点为输入端或者触发器的时钟端;路径的终点为输出端或触发器的数据端。
2.环境脚本说明
set_operating_conditions [-min min_condition] [-max max-condition]
4g视频监控
[-min_library min_lib] [-max max_lib] 指定DC优化时使用的工作坏境,其中工作坏境的指定必须在库中指定,或者在link_library中的其中一个库中指定,如果不指定工作坏境,DC会自动搜索link_library中的第一个库的工作坏境最为优化是所使用的工作坏境。使用get_attribute libname default_operating_conditions来看工作坏境。
-max 的选项用于指定电路最大延迟分析(分析电路是否满足触发器建立时间setup time的要求)的工作环境
-min 的选项用于指定电路最小延迟分析(分析电路是否满足触发器保持时间hold
time的要求)的工作环境,该选项不能单独使用,必须与-max同时使用。
如果不指定用于分析最小延迟的库,则只使用-max中指定的库用于电路的延迟分析。
-min_library 的选项指定用于电路最大延迟分析的工艺库。
-max_library 的选项指定用于电路最小延迟分析的工艺库。
< set_operating_conditions –max typical_1v2c25
set_wire_load_model -name smic13_wl20
set_wire_load_mode top (这个是设置模块之间的线负载,在编译后可用)
set_drive 默认值为0表示驱动能力无限大(表示电阻值) set_drive 0 {clk,rest}
set_driving_cell 用一个具体的电路来模拟输入延时 set_driving_cell –lib_cell BUFX2 {a,b}
在电路的优化阶段,输入端口的驱动能力用于计算输入端口到门电路的延迟,一般来说,输入端口的驱动能力可以按照以下公式影响延迟:
Time = arrive_time + drive*net_load +connect_delay
set_driving_cell -lib_cell BUFX2 -library typical_1v2c25 [all_inputs] 所有的输入端口
(portload = 2.5 + 3 * load_of(tech_lib/IV/A)
set_load port_load all_outputs())一起用的命令
3.约束脚本说明
set_max_capacitance 用于设置输出单元允许的最大电容负载 set_max_capacitance 2.0 test –设置设计test的最大电容负载是2.0
set_max_capacitance 2.0 a  --设置端口a的最大电容负载是2.0
set_max_transition 是指电压从10%VDD上升到90%VDD所需要的时间(或下降),这个值长表示电
路速度慢。用法同上。
set_max_fanout 语法同上。
(create_clock –period 1 –name clk [get_ports clk] –wareform {0 0.5} 周期为1ns的方波。
set_clock_uncertainty 0.3 [get_clocks clk](时钟的偏移))
set_dont_touch_network {rest,clk,clr} 不对其端口综合。
set_dont_touch 不进行优化的模块、端口。可以用set_dont_touch [] false 来取消前面的设
置。
set_input_delay 2.3 {a b} (组合电路)  set_input_delay 2.3 –clock [get_clocks clk]
[all_inputs] (时序电路)
set_output_delay 语法同上。
set_max_area 0
(set_max_delay 5 -from a  set_min_delay 2 –from a)用于完全组合电路。
set_dont_use {typical_1v2c25/I*}表示不调用以I开头的cell。
create_clock –name clk –period 2 这是设置的虚拟时钟用于组合电路。
l 检查synopsys tcl 脚本命令。
set_load [expr [load_of my_lib/inv1a0/A] * 3] [get_ports out1] 输出端口out1并列驱动
三个inv的A
set_driving_cell -lib_cell BUFX2 –pin Y [get_ports out1] 如果没有说pin则默认为cell
的输出pin
report_timing –delay max|min max看setup;min看hold的
4.查看报告命令
report_cell 查看用了那些cell。 report_power –net 查看每个cell用的功耗

本文发布于:2024-09-23 05:20:25,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/189084.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:电路   用于   脚本   触发器   分析
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议