版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.1 什么是DC?DC(Design Compiler) 是 Synopsys 公司的 logical synthesis 工具,它根据 design description和design constraints自动综合出一个优化了的门级电路。它可以接受多种输入格式,如HDL、Schematics 、Netlist 等,并能生成多种性能 report,在reducing design time的同时提高了设计的性能。1.2 DC 能接受多少种输入格式 ? 支持.db、.v、.vhd、.edif、.vgh、.lib等,.db 般是厂商的单 元库;.v是veilog的后缀;.vhd是VHDL的后
2、缀;.edif和.vhd是两种形式的netlist 。1.3 DC 提供多少种输出格式 ? 提供.db、.v、.vhd、edif、.vgh等,并可以输出sdc、sdf等相关 格式文件。1.4 DC 的主要功能或者主要作用是什么? DC是把HDL描述的电路综合为跟工艺相关的门级电路。并且根据用户的设计要求,在timing、area、power 上取得最佳的效果。在floorplanning 和placement和插入时钟树后返回 DC进行时序验证。1.5如何寻找帮助?帮助可以用3种求助方式:1. 使用SOLD,到文档中寻求答案2. 在命令行中用 man+ DC 命令(我最喜欢这种)3. 在命令行
3、中用info+ DC 命令1.6 如何找到SOLD 文档? SOLD文档可以在teminal中输入sold&执行。$ sold &或者用命令 which dc_shell 找到dc的安装目录。找到 online 目录。1.7如何配置DC?综合设置提供必要的参数给DC ,使工具能够知道进行综合时所需要的必要的信息,如:工艺库,目标库,标志库等等。要在.synopsys_dc.setup上设置好这些参数。而.synopsys_dc.setup要在三个目录下有说明,一个是 synopsys 的安装 目录,一个是用户文件夹,最后一个是工程目录。由后一个设置覆盖前一个文件。具体参数包括:1.8 targ
4、et_library艺库。search_path, target_library, link_library, symbolibrary是指什么?target_library 是在synthesis 的map阶段时需要的实际的工1.9 link_library示内存中的所有库。如何指定?链接时需要的库,通常与library相同,设置时,需要加“ * ,表1.10 search_path1.11 DA 和 DC的设置?该参数指定库的存储位置有什么区别?DA 是 Design Analyzer是图形化的,可以看逻辑电路图,当然需要你的库有symbol库.1.12 为什么要使用 DA而不用shell
5、接口 ?这个问题似乎很幼稚,shell大部分人已经习惯使用 windows 这种友好的图形化界面,恰好DA是图形化的,的简称,它调用DC来进行综合,但是它接口当然可以用, 非常适合初学者!但我们不过本人强烈建议使用 shell接口的。synopsys 的synthesis 包括dc_shell (这是synopsys 自带的)和dc_shell -tcl_mode ( script 命令遵循 tcl 语法格式)。的简称,基本包括了synopsys 公1.13 SOLD 是什么? SOLD 是 Synopsys OnLine Document 司的所有工具的文档集合.1.14. translat
6、ion这一步是用什么 DC命令来实现的? 我们知道,DC综合过程包括3个步骤:translation + logic optimization + mappingtransition 对应命令为 read_verilog(read_vhdl 等)logic optimization 和 mapping 对应于 compile1.15. 逻辑优化和映射(logic optimization + mapping)又是用什么 DC命令来实现的?logic optimization 和 mapping 均在compile 命令完成,但是可以指定使用特殊的优化方法:structural 和flatten
7、 ,建议大家在 synthesis时同时生成 structural 和flatten 格式的netlist ,然后打 开看看到底有什么不同之处。1.16. 什么是DC script?DC script 是一组de命令的集合,使得综合可以流程化也易于管理。1.17. 基于路径的综合的意思是什么?路径(path ),是DC中的一个重要概念。它包括 4种路径方式:1 input 至U FF 的 D 端。2 FF的elk到另一个 FF的D端。3 FF的elk到输出Q。4 input 至U output 。基于路径的综合就是对这四种路径进行加约束,综合电路以满足这些约束条件。1.18 DC中的各类参数的
8、单位是如何确定的呢?参数的单位由所使用的库决定,在读入库之后,可以用report_lib去看库的信息,里边有详细的单位说明1.19 DC中的对象有哪些 ?设计变量:一共有八种:Design, cell, reference, port, pin, net,clock, library 。其中cell是子设计的例化,reference 是多个子设计例化的通称,port是design的输入输出,pin是cell的输入输出。1.20 什么叫start point 和end point?这两个概念是 DC中path 概念的起始点和终点:1起始点可以是input和FF的clk2终点可以是 FF的data
9、 和output这些是timing analyzing基本概念,希望大家结合DC和STA的实际牢牢掌握!1.21 如何寻找想约束的对象 ?一个是全部查找包括:all_inputs , all_outputs, all_clocks,all_registers 。比如:set_input_delay 1.0 all_inputs():这种写法针对 dc_shell ,若是在 dc_shell-tcl_mode 下,则为set_input_delay 1.0 all_inputs一个是根据关键词进行查找:get_ports()或表示成 find(port, ),前者是 tcl mode下的写法!作
10、为一个IC设计者,在此强烈建议初学者多看SOLD文档,多多实践,多多学习 TCL、Perl等常用的脚本语言。1.22什么叫一个设计(design) ?设计是DC中的重要对象,你所要综合的东西就叫design,确切的说是你所要综合模块的top文件。1.23什么叫 cell 和 leaf cell?在 design中,instance 的子设计,称为 cell 。没有子模块的cell统称为leaf cell ,我们在定义clock constraint 的时候,一般需要把path指到leaf cell 。1.24 reference 是指什么?和cell有什么区别?当存在一个模块被多次例化,那么该
11、模块就称为 reference1.25 如何读入一个 design?使用 analyze + elaborate 或者 read_verilog 、read -f verilog 、read_vhdl 、read_file 命令。1.26 analyze+ elaborate和read 命令有什么区别 ? read_file 是可以读取任何 synopsys支持格式的;analyze和eloborate 只支持verilog和VHDL两个格式,但是他们支持在中间过程中加入 参数而且以便以后可以加快读取过程。1.27 如何处理多个引用的问题 ?方法一:使用uniquify ,就是把引用几次那么就
12、在内存中换名引入多个子设计,适用于不同时序约束要求。方法二:可以用dont_touch命令,先对多个引用的设计进行编译之后,设置为 dont_touch ,适用于基本相同的环境要求。方法三:把两个引用进行 flatten (没有层级结构),然后进行综合。1.28 link 的作用是什么?确定所有文件是否均存在并把它们链接到当前设计。1.29 环境设置是指什么?是指芯片物理上的参数,比如电压,温度等。1.30 如何设置线载模型? 使用set_wire_load_model 命令,女口: set_wire_load_model -name KME -library libr1.31 如何得知线载模
13、型的种类 ?读取库文件到DC中,使用report_lib 看有多少可用的线载模型1.32 如何设置工作环境变量 ? 使用set_operating_conditions如: set_operating_conditions WCCOM1.33 工作环境变量的类别可以分为哪几类?一般可以分为最坏(worst case)、典型(typical)、最佳(best case)。1.34 为什么要设置工作环境变量 ?由于我们要做的是一颗要在实际环境中正常工作的芯片,而温度和环境对电路的性能有很大影响,因此为了尽可能地模拟芯片工作,设置合适的工作环境信息是非常必 要的。1.35 read 和analyze
14、 + ealborate做了哪些工作?语法检查,建立 GETECH库(大家可以自己去搜索什么叫 GETECH库)值得注意的是,read命令不自动执行link操作。1.36 getech 库是做何用途的?GETCH库是由软宏(soft macros )组成的,是加法器,乘法器之类的东西,这些组件都是在 DW里引用的。1.37 调用getech库中的加法器之后,如何去自己选择一个设计者需要的加法器?我没有用过!暂时没有答案1.38 调用了加法器之后在优化阶段还能够掉换不同的加法器么 ?我没有试过!暂时没有答案1.39 如何检查script文件中有何错误呢 ? dc_shell -tcl -f1.4
15、0 如果在dc_shell 启动后,想修改库,怎么办?摁一下ctrl + c暂停,改完之后继续运行!1.41 如何在dc_shell 环境下执行 UNIX 命令?这个问题很简单,也很幼稚!在此不作回答!1.42 优化分为几个层次?一个是基于HDL的结构优化转化为 GETCH结构;基于GTECH的逻辑优化,包括架构(strcuture ),打平(flatten ),转化为优化过的 GETCH ;基于GETCH的门级优化,主 要作用是映射到实际的工艺库中。1.43 什么是约束?约束分为 design constraint 和 optimization constraint 。design cons
16、traint不由用户确定,已经由所采用的库确定了,用户只能添加进一步的约束。optimization constraint 分为两个方面,timing constraint 和 area constraint 。timing constraint又可分为组合电路的约束,时序电路的约束以及输入输岀的约束。1.44 DC Script 支持 TCL 么?是SYNOPSYS的内部语言,后者遵循支持,synopsys 支持 dc_shell tcl语法。和 dc_shell -tcl_mode前者1.45 综合时不想使用某些库单元进行mapping,怎么办?使用 set_dont_use命令/* Pa
17、rt 2 Compile stategy *2.1 约束一个设计分为几个方面?总的分为:area constraint 和timing constraint2.2 面积约束的命令是什么?set_max_area2.3如何对时钟进行约束?描述一个clock包含两个因素:频率和相位。使用 create_clock建立时钟 constraint 。女口: create_clock -name clk200-period 5 -waveform 0 ,2.5 find(pin, armpll_wrapper_x/g_reg/Q)2.4如何对pll进行约束?如果存在PLL,那么首先对输入的初始时钟用cr
18、eate_clock 进行约束。再用create_propagated_clock 对PLL输出时钟在基于输入时钟进行约束,或者直接用create_clock ,两者的clock path 都得来自leaf cell2.5什么叫虚拟时钟约束?虚拟时钟是指在当前要综合的模块中不存在的物理时钟。比如,设计外的DFF的时钟建立这样的时钟有益于描述异步电路间的约束关系,不过本人在实际工作中基本不设置!2.6 DC 可以对时钟的哪些特性进行约束?DC支持对时钟的 T, waveform , jitter , skew , latency描述,请大家务必搞清楚jitter和skew得区别,等这latenc
19、y 有多种,如果你正在做 timing分析工作,那么问一下自己: latency、jitter、skew搞明白了吗?2.7如何约束时钟的jitter ?2.8如何约束时钟的skew ?2.9如何约束时钟的latencynetwork ,the default is network?些因素已经使用 set_clock_uncertainty -setup(-hold)约束时钟的 jitter使用set_clock_uncertainty约束时钟网络的 skew使用 set_clock_latency -option, option is source or2.10 如何对当前设计的端口外部条件进
20、行约束?端口的外部条件包括:输入驱动大小,输岀负载的大小,扇岀大小。2.11 输入端口被多大的驱动所驱动?可以使用set_dirive 和set_driving_cell,或者用set_input_transition,注意这三者区别!2.12 输岀端口要驱动多大的负载?使用set_load对输岀电容值进行约束,单位根据工艺库的define 所定。2.13 DC 是基于path的综合,那么在约束时如何体现?我们知道,基于path会有四种路径形式,DC中提供create_clock定义寄存器和寄存器之间的路径;set_input_delayset_output_delayset_max_dela
21、y2.14 set_input_delay定义输入与寄存器之间的路径;定义寄存器与输岀之间的路径;和set_min_delay定义输入和输出的组合路径;的目的是什么?定义输入延时,来约束设计中输入逻辑的时序的目的是什么?定义输岀延时,来约束设计中的输岀逻辑的时序2.16如何对组合电路进行约束?组合电路有 set_max_delay和 set_min_delay进行约束2.17如何对电路的速度进行约束?使用 create_clock2.18当一个组合电路超过了时钟周期约束,那么该如何处理?力口上 set_max_delay重新约束,这2.15 set_output_delay样综合工具就会按照
22、set_max_delay的值尽量满足要求,不过这样会增加design的area,如果timing还是不能满足,那只能修改设计。2.19 当出现环路电路时,如何约束电路?对某一路径使用set_false_path2.20 如何加强设计规则的约束?DRC是电路必须满足的设计规则,使用set_max_capcitanceset_max_fanoutset_max_tansition2.21 在添加了 4种路径约束后,那么在synthesis 时如何为某些path移除约束,不作timing 分析?使用set_flase_path使得某些路径不进行 timing check2.22 对于某些路径需要在
23、固定的几个周期内完成,如何对这些路径进行约束?使用set_multicycle_path对路径进行约束2.23 在添加这些特殊的路径约束,如何恢复原来通用的时序约束?使用reset_path2.24 如何对三态门进行约束?由于综合时,默认三态门是enable的,所以对某些路径要设置set_false_path2.25 如何对门控时钟进行约束,以保证功能正常?对门控时钟电路进行 setup和hold检查,使用set_gating_clock_check2.26 设置对某些网络比如 clock或者reset不进行添加buffer等操作,应该怎么约束?使用set_dont_touch_network
24、 ,请注意和 set_dont_touch用法的区别2.27 如何修正hold 时间冲突?留给back-end 公司处理!加入set_fix_hold 约束,这步约束在front-end遇到时一般不考虑,Part 3 Compile stategy */3.1综合时,有多少选择综合策略呢?可以使用top-down和 bottom-top3.2 top-down方式有何优点?仅需提供单一 TOP的script将设计作为一个整体,可得到较好的结果3.3 bottom-up方式有什么优点?对多时钟的综合更为适合每个子模块都有自己的script,便于管理当一个模块改变时,不用重新综合所有设计3.4 女
25、M可进行 time-budge ? 使用 characteristic3.5 top-down 方式有何缺点? 编译时间长子模块改变则整个设计都要重新综合对多时钟设计综合效果不好/* pa件 4 Analyze the repoii */4.1如何看面积报告?report_area4.2如何看时序报告?report_timing,详纟细请 man report_timing用法3.6 bottom-up方式有什么缺点?需要维护多个script3.7编译时的-incremental是什么意思?设计映射为门之后,时序和面积约束可以再定义,incremental确保维持以前的电路结构,只作改善时序和
26、性能,不添加不必要的逻辑。3.8 .这个命令,看看它的多种option4.3想对单独的单元看面积报告,用什么命令? report_cell但是缺省的report_cell 只能看current_design 下面的一级的cell的面积,因此就有两种方法解决这个问题:1. 用 report_cell get_cells -hier *可以看所有的 cells 面积2. 用list_design列出所有的design, 然后改变current_design到你所想要看的那一级的cell,然后直接用report_cell.4.4如何看设计环境和线载模型?report_design4.5 若设计规则和
27、时序违反约束,如何查看?使用report_constraint -all_violators使用 report_net使用 report_hierarchy使用 report_timing_requirements,请大家思4.6女M可查看连线的扇入,扇出,负载,电容和跳变时间?4.6如何看整个综合后的网表中使用多少种类型的电路门?4.7 如何查看timing exception的时序约束?考一下有哪些 timing exceptionsWhe n you are old and grey and full of sleep,And no ddi ng by the fire, take dow n this book,And slowly read, and dream of the soft lookYour eyes had once, and of their shadows deep;How many loved your mome nts of glad grace,And l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高职(市场营销)市场定位策略试题及答案
- 2026年烹饪工艺(中式烹饪技巧)试题及答案
- 2025年中职(会计电算化)会计电算化阶段测试试题及答案
- 2025年高职植物保护管理应用(应用技术)试题及答案
- 初中数学专题07 用勾股定理构造图形解决问题(解析版)
- 养老院老人心理咨询师管理制度
- 养老院投诉处理与改进制度
- 养老院入住老人法律法规宣传教育制度
- 公共交通广告发布管理制度
- 2026年儿童误服药物电动洗胃急救处理流程练习题及答案
- 【二下数学】计算每日一练60天(口算竖式脱式应用题)
- 北京市东城区2025-2026学年高三上学期期末考试地理 有答案
- 2025年健康体检中心服务流程手册
- 2026年黑龙江林业职业技术学院高职单招职业适应性测试备考题库有答案解析
- 贵金属产业2026年发展趋势与市场价格波动分析
- 现代环境监测技术
- 2026福建能源石化集团校招面笔试题及答案
- 华东理工大学2026年公开招聘工作人员46名备考题库及参考答案详解
- 云南师大附中2026届高三高考适应性月考卷(六)历史试卷(含答案及解析)
- 2025桐梓县国土空间规划城市年度体检报告成果稿
- ISO-26262功能安全培训
评论
0/150
提交评论