收藏 分享(赏)

DC经典入门问题.doc

上传人:cjc2202537 文档编号:5573272 上传时间:2019-03-08 格式:DOC 页数:15 大小:123.50KB
下载 相关 举报
DC经典入门问题.doc_第1页
第1页 / 共15页
DC经典入门问题.doc_第2页
第2页 / 共15页
DC经典入门问题.doc_第3页
第3页 / 共15页
DC经典入门问题.doc_第4页
第4页 / 共15页
DC经典入门问题.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、在综合中,ungroup 命令可以去除系统的层次,有利于减小面积。我对比了在使用ungroup -all -flatten 命令前后的 Total cell area。在使用该命令之前 Total cell area是 102396,使用之后 49663,减小了一半左右。时序部分也没有变差。那是不是综合脚本一般都要使用 ungroup 呢? 请指教,谢谢。 ungroup -all 当然是能达到最大的优化力度啊, 整体 timing 最好,但是有时候会导致功能的变化, 仿真没法过,比如某个 hier boundary 没了,因此只是有限度的 ungroup, 比如-level 3, 全部 un

2、group 打散后,没有 boundary,一般功能是不会影响的, LEC 来保证。但是function 层次就没有了,比如对网表做一些 verification,如 STA 时一些重要的点可能找不到了,如果还要 debug 的话几乎做不下去。后端 fix 后某些点发现需要做 function ECO,那么很可能也没法做了。另外 ungroup 也分具体情况也不是所有情况下就一定明显减小面积,我们一般是有选择地对个别一些联系紧密的 module 会 ungroup,不过目的是为了打掉 boundary 得到更好的 timing 不是面积。纯属个人理解LEC 是 logical equivale

3、nt check, 主要比较 RTL 和 NETLIST, NETLIST 和NETLIST 的逻辑功能一致性。通常来说, synthesis 以后,会把 RTL 和综合得到的netlist 比较,以保证综合没有造成逻辑的错误。PR 以后, 也会做同样的 check。 如果你仿真都能通过,当然 flat 的网表也行啊, 就是后面的 debug 和升级没法做,LEC 和 formality 一样的, 是 cadence 的形式验证工具,最近在做 Lowpower 的 flow,使用 UPF 文件描述多电压域设计。在做综合的时候,把隔离单元的 LEVEL SHIFTER 单元的库还有 0.9v 和

4、 1.08v 的标准单元库都设置在target_library 中,这个时候的 operating_condition 应该怎么设置呢?不同电压域是不是要设置不同的 operating_condition?但是默认 UPF 模式的 DC_SHELL 又不支持set_poerating_condition 中 -object_list 选项的设置,有哪位大侠跑通过用 UPF 的flow 能不能帮忙指导一下?我觉得可能是环境没有搭好,但是又不知道从哪下手 非常感谢!请问 DC 综合后做 STA 时,需不需要把 DC 产生的 SDF 读入到 PT 中,读入和不读入对于 PT,有什么区别,哪一种比较准

5、确呢?谢谢 主要看你的 SDF 有没有延时信息,延时信息来自于哪里的,严格的说反标 SDF 是有用的,主要是看你的 SDF 的来源是否靠谱了。如果仅仅是 dc 出来的,那么是没有延时的,反标进去也就没有意义了. 你所说的延时应该是 PR 之后的真正的版图延迟吗,DC 后的延迟是有的,不过是基于线载模型预估的而已。是不是说没有真正的版图延迟就不用反标 SDF 到 PT 中,让 PT基于线载模型进行计算分析,同样是基于线载模型分析,PT 要比 DC 中的 Design Time分析时序更为精确? 工程上我们一般不会用 DC 出来的 sdf,PT 分析所采用的也都是 PR 工具所提供的延迟信息 ,当

6、然如果 0.5u 以上 pr 的结果和前端差异也就不会太大,所以设计迭代一般一遍也就 OK。但 0.18u 不会这样理想,物理设计上的信息显得至关重要,所以 PR 的 SOC ENC 也会基于连续收敛的时序引擎。还会有一种硅虚拟原型的设计方法, sdf 的反标,PT分析,一般工程中也不会只 signoff 时才会做,在重要节点都会做。前提是你承认 PT 的结果是 signoff 的而用 PT 进行工程 signoff 个人理解,不知道全面不全面 在做 STA 时,一般可是直接使用 STARRC 抽出的 SPEF 进行时序分析,使用 PT report timing。有时候,为了得到更准确点的

7、timing 信息,需要用 SDF 反标到 PT 中,再report timing。当然反标是需要时间的解决了。DC 后的 PT 不需要反标 DC 产生的 SDF,DC 后没有真实的布线,是基于线载模型。此时 PT 单独分析的时序和 DC 中的 Design Time 分析的结果是一致的。 有哪位大侠能详细讲一下 set_max_transition 的作用吗? 在 STA 中有个很重要, 要 FIX SLEW 方面的 VIOLATION。这个 set_max_transition 就是设定 SLEW 上的 constrain。 设置波形从 10%到 90%所需要的时间对延迟和功耗都有影响 厂

8、家提供的库中,cell 延迟的值一般是通过二维非线性查找表来得到,表的两个 index 分为 input transition ,load capacitance,如果 index 得值在表内,延迟值不需要计算,如果不在表内,则需要通过内插或外插来计算,这相应的带来了误差,内插的误差和外插相比小得多,如果外插计算时的 index 超出查找表的范围过大,计算出的数值也就没有意义,所以库中一般都有 default max_transitin,保证再此范围内计算的精度。至于 transition 的计算用 10%_90%还是 20%-80%,看库中的定义好了, 设置最大的渡越时间,就是信号逻辑的转换

9、时间。max_transition 属性通常用于输入引脚。max_transition 属性定义任何转换时间大于负载引脚 max_transition 指定值的连线不能连到该引脚。 针对初学者的提问,在 eetop 论坛里整理发表了一个 FAQ,在这里做一个备份如果您已经有2年以上的实战经验,下面这些雕虫小技就不太值得您去浪费时间了。先说说作为一个有经验的后端(暫不包括 DFT 工程师和 layout 工程师)工程师,需要掌握哪些知识4个级别:1)知道一些基本概念,2)简单地掌握这门技术,3)熟练4)精通半导体工艺-2RTL coding - 2综合 - 2时序约束 - 3APR - 3DFT

10、 - 2DRC/LVS - 3仿真 - 2形式验证 - 2以下是 FAQ 分类:2楼:时序约束,STA3楼:综合 DC/RC4楼:APR (floorplan, place, CTS,route)5楼:验证(LEC,DRC,LVS 等)6楼:DFT7楼:低功耗8楼:面试9楼:名词解释希望我有时间完成所有的总结。下面进入正题时序约束,STA(1) clockQ1.1 什么是同步时钟?时钟频率是整倍数,并且相互之间的相位是固定而且相差可预知的,才可以称得上是同步时钟。其他的都算异步时钟。比如,5M,10M 是同步2M,3M 一般算异步一个时钟,输出到另一个芯片中,转一圈后,以同样的频率返回到自己的

11、芯片,因为无法确定时钟在另一个芯片里面的 latency,所以输出的时钟与输入的时钟算异步一个时钟进到2个 PLL,就算那2个 PLL 的输出频率相同,一般也算是异步时钟,除非你 de-skewQ1.2 如何处理同步时钟?设计要求严格的公司,就算是同步时钟,数据在同步时钟间传送时,依然要用meta-stability FF,可以 set_false_path如果放松要求,不用 meta-stability FF,则同步时钟之间是 real path,做 CTS 时,同步时钟要 clock tree balance。注意不同频率的同步时钟的最小时间间隔被用来检查 setup如果上升下降沿混用的话

12、,setup 的时间间隔就只有半个时钟周期了Q1.3 如何处理异步时钟?很简单,set_false_path注意要 from A to B,同时要 from B to AQ1.4 如何定义时钟?create_clock 如果指定某个 pin/port,就是实时钟,如果没有指定 pin 和 port,就是虚拟时钟巧妙利用 waveform 选项可以做出不同波形的时钟被定义成时钟的 net,在综合时,自动带有 ideal network 和 dont_touch 的属性。但是当它被用作 data 计算延迟时,ideal net 的属性会自动消失时钟会自动穿过逻辑单元,停在时序单元的时钟端,所以用

13、FF 产生的分频时钟要再用 create_generated_clock 定义一次Q1.5 如何处理多选一时钟?在实际应用当中,如果这几个时钟不会同时出现的话,则在定义时钟时,只选择最快频率的就可以了如果是多个时钟同时出现,可以用 set_case_analysis 选一个,也可以放它们全都过去,但是在 MUX 后面把它们之间 set_false_pathQ1.6 巧妙定义时钟直接在分频 FF 的 Q 端定义 generated clock 时,有时会把分频 FF 的时序打掉,解决办法是在分频 FF 的 Q 端加一个时钟 buf,从那个 buf 的输出端定义 generated clock,从

14、而保证分频 FF 自身的时序完整如果从 source clock 到 generated clock 之间有多条路径,你希望 PT 用指定的一条路径来计算时序的话,可以用 set_case_analysis, set_disbale_timing 或者一级一级地定义 generated clock 来引导 PT 达到你的要求分频器时序约束问题时序分析中同一时钟的不同路径问题请教如下要求的 clock 在 pt 中应该怎么 create怎样设 set_case 或者别的,才能让 pt 选择同一条 clock pathQ1.7 什么时候需要设置 latency?latency 分为 source

15、latency 和 network latency 两种。 source latency 是源时钟自带的,network latency 就是 CTS 后的 clock tree insertion delay。在综合时,一般不需要 latency,除非,已知不同 clock 带有不同的 source latency,并且它们之间有时序要求预知不同 clock 会有不同的 clock tree insertion delay,不想平衡它们,但是要满足他们之间的时序要求做完 CTS 后,要把 network latency 去掉请问 set_clock_latency 设太大会有什么不好Q1.8

16、 如何设置 uncertaintyclock uncertainty 分为 setup 和 hold,preCTS 和 postCTS 几种不同的情况一般的处理原则是:preCTS,setup: uncertainty = PLL jitter + 预估的 clock skewpreCTS,hold: uncertainty = 预估的 clock skewpostCTS,set_propagate_clock all_clockspostCTS,setup: uncertainty = PLL jitterpostCTS,hold: uncertainty = 0有时 fundry 要求 h

17、old uncertainty 保留一定的量,这时就把那个保留量加到上面的公式中sdc 文件中对 clk 的 uncertainty、transition、latency 的设置(2) IO 端口的约束Q2.1 如何加 IO 端口的约束?最普通的方法是对输入端,set_input_delay, set_driving_cell (也有用 set_input_transition的,但是不多见)对输出端,set_output_delay,set_load对时钟端,set_clock_transitiondc 综合时的 clock transition 应该参考什么设定?set_drive ,se

18、t_loadQ2.2 哪些端口不需要约束?静态信号可以 set_false_path,比如 reset,test_mode,function_mode_select不能真的什么约束都不加Q2.3 什么样的 reset 信号可以 set_false_path?如果在工作时,reset 信号有效时,时钟信号不翻转,就可以 set_false_path如果 reset 信号动作时,时钟也有动作的话,就不能 set_false_pathQ2.4 像 reset 那样的 high fanout 信号需要设定为 ideal net 吗?如果是 false path 的话,可以设为 ideal net一般不

19、需要设为 ideal net,让 DC 加入 buffer tree 后,有利于估算功耗和面积Q2.5 如果有一组输出信号,需要他们之间对齐,但是不太在乎有多大的延迟,这时应该如何约束?如果有输出时钟的话,在那个输出时钟端口定义一个 generated_clock,其它信号的 output_delay 都相对于这个 generated_clock 而定。只要有 max 和 min,就可以把所有信号卡在一个范围之内如果没有输出时钟的话,用 set_output_delay -reference_pinQ2.6 如何计算 input 和 output delay?如果是 block 的 input

20、 和 output delay,可以预先分配,比如输出端,输入端各1/3,中间的连接1/3block 的端口最好都 flop-in,flop-out如果是 chip IO,要度其他芯片的 IO 时序和电路板上面的延迟,比较麻烦set_input_delay 的时间设置(3) DRVDRV 有时也加 DRC,与物理检测的 DRC 不是一个概念DRV 包括,set_max_transition 与工艺相关,65nm 的话,在0.6ns 左右set_max_fanout 与工艺相关,一般在1220之间set_max_capacitanceset_max_powerset_max_area(4) fa

21、lse path,multicycle pathQ4.1 什么情况下需要 set_false_path?异步时钟之间,到 meta-stability 的第一个 FF 路径,静态信号Q4.2 何时会用到 multicycle_path?太长的 path,不会每个周期都变的信号注意:在 RTL 中,前端一定要多周期工作一次的功能一般 set_multicycle_path -setup 要同时写 set_multicycle_path -hold (5) wire load modelwire load model 是一种简单地根据 fanout 来估算 wire delay 的方法,在综合时,

22、一般根据设计的大小选择对应的 WLM有时也会用 zero wire load model,这时的 clock period 要相应减小1525%,或者 clock uncertainty 增加1525%set_wire_load_model 两种模式 top 和 enclosed 到底有什么区别?更加准确的计算 wire delay 的方法是 DC topo 和 RC physical,他们在综合时会粗略地做个 place,然后根据距离来计算延迟(6) clock gatingQ6.1 如何加 clock gating?局部的 clock gating 在综合时,会自动加进去。加 clock

23、gating 后,不但会减小功耗,还会改善时序,因为本来到 D 端的逻辑,一部分被移到 CK 端了,简化了 D 端的逻辑整个 block 的 clock gating,一般直接在 RTL 里面加,因为 DC 没有那么聪明Q6.2 需要对 clock gating 加什么特别的约束吗?如果使用标准库里面的 ICG 单元,不需要附加任何特别的约束,前后端的工具都认得它如果用 latch+and 自己搭的 clock gating,你要对那个 and 单元set_disable_clock_gating_check,还要告诉后端,一定把 latch 和 and 摆在一起一般只在没有动态切换时钟时,才

24、可以用一个 and/or 做 clock gating,这时也要set_disable_clock_gating_checkclock gating cell 约束某个 domain 的 clk 通过 gating 关断重启后,对这个 domain 做复位有没有必要?(7) case_analysisset_case_analysis 可以强制某个 node 为0/1这个0/1会沿着纯逻辑组合单元向前传送,如果没有特别设定的话,会停在时序单元上注意,只是是向前传,不会向左右2边和向后传举例:如果设在输出端上,那么所有 fanin 端都会被强制为0/1如果只设在某个输入端上,与之相连的输出端和其

25、他输入端都不受影响(8) ideal net/networkideal_net 只作用于这条 netideal_network 会把这个属性传送下去clock net 自动带有 ideal net 属性其他 net,何时需要设定 ideal net?见 Q2.4综合脚本的样本现在到处都是,最好找一个,照猫画虎改改用建议把时序约束脚本与综合脚本分开存放,这样时序约束可以单独使用。(1)综合的注意事项Q1.1 需要 fix hold 吗?不需要,hold 交由后端去做就好了。所以综合时,不需要读入 min.lib,不用设 wc_bc 等复杂的选项Q1.2 综合出来的网表如何验证?如 RTL 做形式

26、验证gate-sim (网表仿真) 。不要用延迟。不需要从 DC 输出 SDF,因为那个根本不准,而且它也无法保证没有 hold 违反Q1.3 如何让 DC 自动插入 clock gating在脚本中加入set power_cg_always_enable_registers trueset_max_leakage_power 0.0set_max_dynamic_power 0.0set_clock_gating_style (指定 ICG)insert_clock_gatingreplace_clock_gatesQ1.4 综合时要检查哪些项目?最最起码要做,综合前,check_desig

27、n,check_timing,保证所有的 path 都有约束(含 timing exception)综合后,report_timing, report_constraint,report_area,report_power,report_qorQ1.5 如何解决综合后 setup 的违法?多综合几遍检查约束是否合理最后只好改 RTL 了Q1.6 如何判断约束是否合理?什么是合理的约束还真不好说,但是下面是一些不合理的情况,遇到了一定得解决2#楼里面所列约束项目不完整的startpoint 或 endpoint 的 clock cycle 特别大的,说明那是异步时钟某个 cell 或 net 延

28、迟很大的,可能是 clock net 当作 signal 用了,设了dont_touchQ1.7 如何得到更好的网表?对于 DC,一般人们都喜欢把 clock period 调小一点(1025%) ,那样 DC 会给你个timing 比较好的网表,但是代价的面积的增大和功耗的增加。当然,你调 clock uncertainty 也有同样的效果 #*# File name: syn_script_templet.tcl# Author: xxx xxx xxx# Description: This file is just only a templet for synthesis, includ

29、ing basic synthesis flow.# Users can make it as reference design. #*remove_design -all#*# read design to DC memory, Assuming there are four modules#*read -f verilog /design/mod.vread -f verilog /design/mod1.vread -f verilog /design/mod2.vread -f verilog /design/mod3.v# or read like thisset all_modul

30、es mod mod1 mod2 mod3 foreach (current_module, all_modules)set design_path /#*/# Set_dont_touch Attribute on cell, net, reference or design# Set_dont_touch_network Attribute on clock, pin, ports#*/set_dont_touch_network find(port,“CLK“)set_dont_touch get_cells xxxx/xxxx/aaaset_dont_touch get_nets bb

31、bbset_dont_touch get_designs ssss#*/# create clock info#*/create_clock -name clk -period 2.56 -waveform 0 1.28 get_pins ,s_x/I_PMA/I_PMA7/RXBCLKcreate_generated_clock -name clk_125 -source A_x/clk -edges 1 3 5 get_pins p_x/clk_125set_clock_uncertainty -setup 0.2 clkset_clock_uncertainty -hold 0.02 c

32、lkset_clock_uncertainty -setup 0.2 clk_125set_clock_uncertainty -hold 0.02 clk_125#*/# exceptions#*/set_false_path -from clk_m -to clk_125set_max_delay 8 -from get_pins a_x/A -to get_pins P_x/x_x/dcurrent_design mcucoreset_multicycle_path 3 -through alu_x/mulb_x/*#*/# Set Disable Timing #*/set_disab

33、le_timing -from CLKA -to CLKB synopsys_mem/TP8X16C1set_disable_timing -from CLKB -to CLKA synopsys_mem/TP8X16C1#*/# Report Clock Related Information#*/report_clock -attributes ./design/report_clock.repreport_clock -skew ./design/report_clock.repreport_design ./design/report_design.repreport_port -ve

34、rbose ./design/report_port.rep#*/# Set Wire_load_model#*/linkset_wire_load_model -name KME_DEFAULT -library j1oaset_wire_load_mode enclosed#*/# Load & Input_transition Related Information#*/set_input_delay 1.0 all_inputsset_output_delay 1.0 all_outputsset_load -pin_load 75 get_ports xxx* set_load -p

35、in_load 15 get_ports bbb* set_load -pin_load 15 get_ports ggg*#*/# MISC#*/current_design designset_fix_multiple_port_nets -buffer_constants -allset_cost_priority -delaycurrent_design designuniquifylinkcompile -map_effort high#*/# Report Related Information #*/current_design designreport_path_group .

36、/design/report_path_group.repreport_cell ./design/report_cell.repreport_hierarchy ./design/report_hierarchy.repcheck_design ./design/check_design.repreport_area ./design/report_area.repreport_timing -group clk_125 -max_paths 20 ./design/report_timing_clk_125.repreport_timing -group clk_m -max_paths

37、20 ./design/report_timing_clk_m.repreport_timing -path full -delay max -transition_time -capacitance ./design/report_timing.repreport_constraint -max_delay -all_violators ./design/report_constraint_slack_only.repreport_constraint -max_delay -verbose -all_violators ./design/report_constraint.rep#*/#

38、Write Netlist & Sdf File #*/ungroup -all -flattenwrite -format edif -hierarchy -output ./netlist/design.edifwrite -h -f verilog -o ./netlist/design.vghwrite_sdf -version 2.1 -context verilog ./sdf/design.sdfquitSynthesis Summary 逻辑综合总结综合概述综合技术的研究可以追溯到20世纪60 年代,IBM 公司 T.J.Watson 研究中心开发 ALERT 系统,将寄存器传

39、输级算法描述转化成逻辑级的结构实现;20世纪70年代,综合技术发展迅速,但主要致力于较低层次的逻辑综合和版图综合;20 世纪80年代中期,专用集成电路的广泛应用,要求芯片设计大规模、高性能、短周期,大大推动了从算法级设计描述向寄存器传输级设计描述转换的高层次综合技术。 1.逻辑综合概念 逻辑综合负责将寄存器传输级的结构描述转化为逻辑层的结构描述,以及将逻辑层的结构描述转化为电路的结构描述。在数字 IC 设计领域常用的 EDA 综合工具中,最权威的要算 Synopsys 公司提供的综合工具。Synopsys 公司提供的 Design Compiler(DC )是业界流行的、功能强大的逻辑综合工具

40、。用户只需要输入设计规格的 HDL 描述和时间约束,就可能得到较为优化的门级综合网表。此外,DC 还集成了功能强大的静态时序分析引擎,并支持与后端布局布线工具交互工作。 2.逻辑综合的流程从某种意义而言,综合就是将设计的 HDL 描述转化为门级网表的过程。Synopsys 公司提供的综合工具DC 把综合分为三个步骤进行:synthesis translationmappingoptimization 。Translation 是指把设计的 HDL 描述转化为GTECH 库元件组成的逻辑电路;GTECH 库是 Synopsys 公司提供的通用的、独立于工艺的元件库。Mapping 是指将 GTE

41、CH 库元件映射到某一特定的半导体工艺库上,此时的电路网表包含了相关的工艺参数。Optimization 是根据设计者设定的时延、面积、线负载模型等综合约束条件对电路网表进一步优化的过程。从综合工具的使用流程来看,综合包括综合环境的设置,综合约束,综合优化,综合与后端流程等。综合约束用来设定电路综合的目标,它包括设计环境约束、时间约束和面积约束。设计环境约束: 指的是用来描述设计在工作时的温度、电压、驱动、负载等外部条件的一系列属性。基本的环境设置内容包括工作条件、负载模型、系统接口驱动或扇出能力等设置。这些属性约束在电路综合时是必须的,如果用户没有进行显式的说明,则 DC 在综合的时候会采用

42、默认值。时间约束内容: 包括定义时钟、定义时钟网络的时间约束和时序路径时间约束设定,以及非同步设计的时间约束等。了解延迟的计算是定义恰如其分的时间约束的关键。Synopsys 公司支持几种延迟模型:一是 CMOS 通用的延迟模型,二是 CMOS 分段的线性延迟模型,三是非线性的查表延迟模型。深亚微米的设计,前两种模型并不常用,非线性的延迟模型以输入的迁越时间和输出电容负载为参变量计算延迟的时间值,其结果以表格的形式列出供 DC 查找。面积约束: 和时间约束之间是一对矛盾且需要折中的关系,DC 综合默认为时间约束比面积约束拥有更高的优先级。DC 优化时默认不进行面积优化,如果你关注于芯片的面积,

43、可以使用 set_max_area 命令设定面积的约束,使得 DC 完成时序约束之后继续进行面积优化。在设定综合约束之后,一般并不马上进行综合优化。因为对于一个较大的设计来说,综合一次时间很长。因此,综合前确认综合约束命令是否正确添加到设计中时很有必要的,可以减少由于综合约束不正确重新综合优化的风险,减少综合反复的时间。检查综合约束设置的命令有 report_design, report_port verbose, report_clock -skew, report_constraints, report_timimg_requirement 等。许多版图工具只接受 Verilog 或 ED

44、IF 格式的综合网表作为输入。在综合后提供 Verilog 格式的网表送给后端的版图工具,IC 工程师还必须对综合的网表做好一下处理:1彻底解决多次例化同一子模块的问题2修正设计中部分连线的命名以简化综合网表3删除整个设计中悬空的端口4确保每个实例化单元的引脚都是可见的5避免网表中存在 assign 语句、传输门和三态连线的定义6避免网表中存在不必要的门控时钟或门控复位信号7避免网表中引用的实例化名不存在对应的实现逻辑在综合之后,我们还得对综合后的网表进行门级仿真,在门级仿真上 Synopsys 公司提供的 VCS 仿真工具在服务器上运行的速度是比较快的。门级仿真过程中还有一步就是带时序反标的

45、时序仿真,通过 DC 或者 PT 写出 SDF 文件,在网表中将逻辑延迟和线延迟反标入电路中,模拟更加真实的情况。下面将讲述如何 write synthesis script什么是综合呢?synthesis,台湾翻译为合成,其作用就是将硬件描述语言的 RTL 级代码转变为门级网表。当然,现在综合技术已经很成熟了,还有推出 的行为(behavioral)综合和物理(physical)综合。我们这里讨论的是逻辑(logic)综合。综合技术是提高设计产能的一个很重要的技术,没有综合技术的发展,我们就不可能用 HDL 实现电路的设计,因为 HDL 开始是用来供电路仿真建模使用的,到了 后来才把其中一部分子集作为可综合的语言,也就是我们使用的 RTL CODE。很多人入门都用 HDL 做设计,就以为 HDL 就只是用来做设计的,没有看到 HDL 最初始的一面,所以在验证的时候,就无法用好 HDL 另外一部分强 大的功能。有时间还是可以看看 Writing Testbench 这本书,增强对 HDL 语言在验证方面作用的了解,也是提高对 HDL 认识很好的补充。我们以 DesignCompiler 为例子讲解综合的过程。首先,综合就要必须要用综合库,这个你可以向厂家要,综合库可以通过.lib 这个库文件转变成.db 综合库,这个基本过程可以 Design Compiler 里面实现,综

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报