




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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的后缀;.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. 在命令行中用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的安装 目录,一个是用户文件夹,最后一个是工程目录。由后一个设置覆盖前一个文件。 具体参数包括:search_path, target_library, link_library, symbol_library1.8 target_library 是指什么? target_library是在synthesis的map阶段时需要的实际的工艺库。1.9 link_library如何指定? 链接时需要的库,通常与library相同,设置时,需要加“*”,表示内存中的所有库。1.10 search_path 的设置? 该参数指定库的存储位置1.11 DA 和DC有什么区别? DA是 Design Analyzer的简称,它调用DC来进行综合,但是它是图形化的,可以看逻辑电路图,当然需要你的库有symbol库.1.12 为什么要使用DA而不用shell接口? 这个问题似乎很幼稚,shell接口当然可以用,但我们大部分人已经习惯使用windows这种友好的图形化界面,恰好DA是图形化的,非常适合初学者! 不过本人强烈建议使用shell接口的。synopsys的synthesis包括dc_shell(这是synopsys自带的)和dc_shell -tcl_mode(script命令遵循tcl语法格式)。1.13 SOLD是什么? SOLD是 Synopsys OnLine Document的简称,基本包括了synopsys公司的所有工具的文档集合.1.14. translation这一步是用什么DC命令来实现的? 我们知道,DC综合过程包括3个步骤:translation + logic optimization + mapping transition 对应命令为 read_verilog(read_vhdl等) logic optimization 和 mapping 对应于 compile1.15. 逻辑优化和映射(logic optimization + mapping)又是用什么DC命令来实现的? logic optimization 和 mapping 均在compile命令完成,但是可以指定使用特殊的优化方法:structural 和flatten,建议大家在synthesis时同时生成structural 和flatten格式的netlist,然后打开看看到底有什么不同之处。1.16. 什么是DC script? DC script 是一组dc 命令的集合,使得综合可以流程化也易于管理。1.17. 基于路径的综合的意思是什么? 路径(path),是DC中的一个重要概念。它包括4种路径方式: 1 input到FF的D端。 2 FF的clk到另一个FF的D端。 3 FF的clk到输出Q。 4 input到output。 基于路径的综合就是对这四种路径进行加约束,综合电路以满足这些约束条件。1.18 DC中的各类参数的单位是如何确定的呢? 参数的单位由所使用的库决定,在读入库之后,可以用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的clk 2 终点可以是FF的data和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下的写法! 作为一个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 有什么区别? 当存在一个模块被多次例化,那么该模块就称为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,就是把引用几次那么就在内存中换名引入多个子设计,适用于不同时序约束 要 求。 方法二:可以用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 如何得知线载模型的种类? 读取库文件到DC中,使用report_lib看有多少可用的线载模型1.32 如何设置工作环境变量? 使用set_operating_conditions 如:set_operating_conditions WCCOM1.33 工作环境变量的类别可以分为哪几类? 一般可以分为最坏(worst case)、典型(typical)、最佳(best case)。1.34 为什么要设置工作环境变量? 由于我们要做的是一颗要在实际环境中正常工作的芯片,而温度和环境对电路的性能有很大影响,因此为了尽可能地模拟芯片工作,设置合适的工作环境信息是非常必要的。1.35 read 和 analyze + ealborate做了哪些工作? 语法检查,建立GETECH库(大家可以自己去搜索什么叫GETECH库)值得注意的是,read命令不自动执行link操作。1.36 getech库是做何用途的? GETCH库是由软宏(soft macros)组成的,是加法器,乘法器之类的东西,这些组件都是在DW里引用的。1.37 调用getech 库中的加法器之后,如何去自己选择一个设计者需要的加法器? 我没有用过!暂时没有答案1.38 调用了加法器之后在优化阶段还能够掉换不同的加法器么? 我没有试过!暂时没有答案1.39 如何检查script文件中有何错误呢? dc_shell -tcl -f1.40 如果在dc_shell启动后, 想修改库,怎么办? 摁一下ctrlc暂停,改完之后继续运行!1.41 如何在dc_shell环境下执行UNIX命令? 这个问题很简单,也很幼稚!在此不作回答!1.42 优化分为几个层次? 一个是基于HDL的结构优化转化为GETCH结构;基于GTECH的逻辑优化,包括架构(strcuture),打平(flatten),转化为优化过的GETCH;基于GETCH的门级优化,主要作用是映射到实际的工艺库中。1.43 什么是约束? 约束分为design constraint和optimization constraint。design constraint不由用户确定,已经由所采用的库确定了,用户只能添加进一步的约束。optimization constraint分为两个方面,timing constraint和area constraint。timing constraint又可分为组合电路的约束,时序电路的约束以及输入输出的约束。1.44 DC Script支持TCL么? 支持,synopsys支持dc_shell 和dc_shell -tcl_mode。前者是SYNOPSYS的内部语言,后者遵循tcl语法。1.45 综合时不想使用某些库单元进行mapping,怎么办? 使用set_dont_use 命令/* Part 2 Compile stategy */2.1 约束一个设计分为几个方面? 总的分为:area constraint 和 timing constraint。2.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,那么首先对输入的初始时钟用create_clock进行约束。 再用create_propagated_clock 对PLL输出时钟在基于输入时钟进行约束,或者直接用create_clock, 两者的clock path 都得来自leaf cell2.5 什么叫虚拟时钟约束? 虚拟时钟是指在当前要综合的模块中不存在的物理时钟。比如,设计外的DFF的时钟。 建立这样的时钟有益于描述异步电路间的约束关系,不过本人在实际工作中基本不设置!2.6 DC可以对时钟的哪些特性进行约束? DC支持对时钟的T,waveform,jitter,skew,latency 描述,请大家务必搞清楚jitter和skew得区别, latency有多种,如果你正在做timing 分析工作,那么问一下自己:latency、jitter、skew等这些因素已经 搞明白了吗?2.7 如何约束时钟的jitter? 使用set_clock_uncertainty -setup(-hold) 约束时钟的jitter2.8 如何约束时钟的skew? 使用set_clock_uncertainty 约束时钟网络的skew2.9 如何约束时钟的latency? 使用 set_clock_latency -option ,option is source or network,the default is network。2.10 如何对当前设计的端口外部条件进行约束? 端口的外部条件包括:输入驱动大小,输出负载的大小,扇出大小。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_delay 定义输入与寄存器之间的路径; set_output_delay 定义寄存器与输出之间的路径; set_max_delay 和 set_min_delay定义输入和输出的组合路径;2.14 set_input_delay 的目的是什么? 定义输入延时,来约束设计中输入逻辑的时序2.15 set_output_delay 的目的是什么? 定义输出延时,来约束设计中的输出逻辑的时序2.16 如何对组合电路进行约束? 组合电路有set_max_delay 和set_min_delay进行约束2.17 如何对电路的速度进行约束? 使用create_clock2.18 当一个组合电路超过了时钟周期约束,那么该如何处理? 加上set_max_delay重新约束,这样综合工具就会按照set_max_delay 的值尽量满足要求,不过这样会增加design的area,如果timing还是不能满足,那只能修改设计。2.19 当出现环路电路时,如何约束电路? 对某一路径使用set_false_path2.20 如何加强设计规则的约束? DRC是电路必须满足的设计规则,使用 set_max_capcitance set_max_fanout set_max_tansition2.21 在添加了4种路径约束后,那么在synthesis时如何为某些path移除约束,不作timing分析? 使用set_flase_path使得某些路径不进行timing check2.22 对于某些路径需要在固定的几个周期内完成,如何对这些路径进行约束? 使用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,请注意和set_dont_touch用法的区别2.27 如何修正hold 时间冲突? 加入set_fix_hold约束,这步约束在front-end遇到时一般不考虑,留给back-end公司处理!/* Part 3 Compile stategy */3.1 综合时,有多少选择综合策略呢? 可以使用top-down 和bottom-top。3.2 top-down 方式有何优点? 仅需提供单一TOP的script 将设计作为一个整体,可得到较好的结果3.3 bottom-up方式有什么优点? 对多时钟的综合更为适合 每个子模块都有自己的script,便于管理 当一个模块改变时,不用重新综合所有设计3.4 如何进行time-budge? 使用characteristic3.5 top-down 方式有何缺点? 编译时间长 子模块改变则整个设计都要重新综合 对多时钟设计综合效果不好3.6 bottom-up方式有什么缺点? 需要维护多个script3.7 编译时的 -incremental 是什么意思? 设计映射为门之后,时序和面积约束可以再定义,incremental确保维持以前的电路结构,只作改善时序和性能,不添加不必要的逻辑。3.8 ./* Part 4 Analyze the report */4.1 如何看面积报告? report_area4.2 如何看时序报告? report_timing,详细请man report_timing 这个命令,看看它的多种option用法4.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 若设计规则和时序违反约束,如何查看? 使用report_constraint -all_violators4.6 如何查看连线的扇入,扇出,负载,电容和跳变时间? 使用report_net4.6 如何看整个综合后的网表中使用多少种类型的电路门? 使用report_hierarchy4.7 如何查看timing exception的时序约束? 使用report_timing_requirements,请大家思考一下有哪些timing exceptions因为有爱,这个社会织了一个梳不清的网,逃不出的网,因为有爱,大家才走到一起来,生活有了欢乐,有苦恼,有了说不完的千千结,谁也无法去解。因为有爱,你认识了我,我认识了你,也许就因为那一眼,我们从此在也不得分离。因为有爱,人们走南创北,什么地方都去,不管天涯海角,一个爱就有很多的力量,驱使你去很远很远,因为有爱,多少人远走他乡,离乡背景,永远不回头了。因为有爱,天意会安排你去坐飞机,去坐轮船,去坐火车,去坐大客运,有可能那个上飞机的剪票员,剪过千万张机票,都懒的看他一眼,偏偏就看了你一眼,恰在这时一个证件就让她给拾了,从此相识了,走在一块,永远不分离,爱情的基础,就是剪票口看了一眼,就产生了不可磨灭的真爱。有可能坐在飞机的座位上,那个身边的姑娘在你们的谈话中,彼此就默默的分不开了,至于以前,谁去过问,也勿须过问,有爱还问历史干什么,那种爱是纯真切的,不是对每个人都有这样机遇,所以一旦走到一块,彼此之间格外珍惜,那是神话般的美丽故事,谁能不珍惜呢?因为有爱,才坐到一个火车上,她就坐在你的身边,瞌睡了,她就倒在你的身上睡了一路,醒来了,她不好意思,你也不好意思,就这样认识了熟悉了,当下了火车时,彼此在也不想分离,当他们走在一起时,两家的距离确是相隔千万里的路程,要是平常,你愿意从万里以外的地方说媳妇吗?就是有,谁给你牵这线,你愿意嫁到万里之遥的地方吗?你肯定没有想过,是天意给他们安排了这次火车的机遇。要不他们怎样能到一块呢?无边的蓝天,如纱的白云,茫茫的大海,乘风破浪巨轮,因为有爱,一个小小的世界,就会安排他们相见,或许你买的船票,和她就在一个船舱里,就是不在一个船舱,甲板上也会相遇,一块沐浴着海风的吹拂,一块欣赏着大海的波涛。 不觉间走到了一块,当谈完大海的宽阔,在论海风凉爽时,才知道对方并不熟悉的人,交谈中就对方说出了自己的姓名,下了船到了一个同一的城市,就是自己的依靠了,相依为命,在艰难在困惑,日子总算一天天的好了起来,你说这是不是因为爱才走到一起来呢?也许彼此都喜欢上了对方,但谁也不知道谁的名字,也不知道都在什么单位,只在是下班的十字口彼此投过一个眼神,就这样在风雨里等待,也无法去打听,也没有勇气敢问对方,偶然的一次班车上,坐在了一块,去同一个城市玩,也没有什么目地,纯粹是一个人出去散心,有情侣人终成眷属,苍天安排了一次机遇,就走到了一起,当成为一家人时,自己单位的人几个都是她的亲戚,他的单位几个人都是他的亲戚,可当时谁给你介绍呢?苍天安排的亲眷没有一丝缝隙,百分之百的成功。因为有爱,男女的结合没有什么理由,爱你没有商量,现在的旅游发展的特别快,当你走出世界的时候,你发现生活很有意思,不知乍的,一个车上,东南西北的人都有,只要坐在一个车上,就如同一家人似的,瞬间就改变了人们的思想观念,车上有老的,有少的,有中年的,短时间的相处,就如同父母和儿女,兄弟和姐妹,有说有笑,相互关系,分离时,都有一种恋恋不舍的那种感觉,用佛的观念来说,因为缘分还没有修到,只能今生短暂的相聚,很有意思,就因为有那么一段爱的缘分,今生天意就安排了一段旅游的机会,令人很欣慰。因为有爱,这个社会织了一个梳不清的网,逃不出的网,因为有爱,大家才走到一起来,生活有了欢乐,有苦恼,有了说不完的千千结,谁也无法去解。因为有爱,你认识了我,我认识了你,也许就因为那一眼,我们从此在也不得分离。因为有爱,人们走南创北,什么地方都去,不管天涯海角,一个爱就有很多的力量,驱使你去很远很远,因为有爱,多少人远走他乡,离乡背景,永远不回头了。因为有爱,天意会安排你去坐飞机,去坐轮船,去坐火车,去坐大客运,有可能那个上飞机的剪票员,剪过千万张机票,都懒的看他一眼,偏偏就看了你一眼,恰在这时一个证件就让她给拾了,从此相识了,走在一块,永远不分离,爱情的基础,就是剪票口看了一眼,就产生了不可磨灭的真爱。有可能坐在飞机的座位上,那个身边的姑娘在你们的谈话中,彼此就默默的分不开了,至于以前,谁去过问,也勿须过问,有爱还问历史干什么,那种爱是纯真切的,不是对每个人都有这样机遇,所以一旦走到一块,彼此之间格外珍惜,那是神话般的美丽故事,谁能不珍惜呢?因为有爱,才坐到一个火车上,她就坐在你的身边,瞌睡了,她就倒在你的身上睡了一路,醒来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年九江市九江县数学三上期末试题含解析
- 2025-2026学年揭阳市揭东县数学三年级第一学期期末达标测试试题含解析
- 2025-2026学年江苏省盐城市亭湖区建军路小学数学三年级第一学期期末教学质量检测模拟试题含解析
- 2024年延安市宝塔区三年级数学第一学期期末综合测试模拟试题含解析
- 卫生资格考试在线试题及答案获取
- 行政管理操作流程的试题及答案
- 2025年主管护师考试分数提升试题与答案
- 行政法责任的类型划分试题及答案
- 行政法学课堂重点试题及答案
- 专业术语辨析试题及答案
- 企业职业健康工作总结报告
- 警务保障各项管理制度
- 2023年江苏南京农业大学专职辅导员招聘30人笔试参考题库(共500题)答案详解版
- 哮喘患者的护理常规 课件
- 1999年版干部履历表A4
- 养殖场兽医诊断与用药制度范本
- 12-漏缆卡具安装技术交底
- 热烈祝贺华东六省一市第十五届小学数学课堂教学观摩研省名师优质课赛课获奖课件市赛课一等奖课件
- 物业管家的五层修炼物业金牌管家培训课件
- 业主共有资金管理制度
- 校园摄影作品说明范文(热门6篇)
评论
0/150
提交评论