数字后端简要流程教材PPT(共 51张)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合环境初始化
• 初始化设计环境,技术库文件及其它设计环境设置。 • search_path:指明文件的位置。 • target_library:既技术库,由生产厂家提供,该库中的cells,用于逻
辑映射。Target library的文件名应包含在Link library的文件清单中, 用于读取门级网表。 • link_library:该库中的cells,DC无法进行映射,例如:RAM,ROM 及Pad,在RTL设计中,这些cells以实例化的方式引用。 • symbol_library:该库文件包含技术库中cells的图形表示,用于生成 门级示意图。 • read:读入HDL代码
set_driving_cell -lib_cell BUFX2 -pin Y -library slow all_inputs() • set_min_library允许用户同时设置worst-case和best-case libraries,
从而在初步编译时,DC修正hold-time冲突时,验证setup-time冲突。 也可用于在编译时修正hold-time冲突。例如:
set_min_library slow.db -min_version fast.db
• DRC的设计规则约束:set_max_transition、set_max_capacitance和 set_max_fanout。这些约束用于的input ports,output ports或
current_design,一般在技术库内部设置。当技术库的内部设置不能 满足时,可用以上命令设置。例如:
• set_wire_load_model用于设置Nets的寄生RC模型,一般选用悲观的 模型。例如:set_wire_load_model -name smic18_slow
• set_load用于定义nets或ports的电容负载,为了保证输出路径的时序, default条件下为0。例如:set_load 0.6 all_outputs()
set_max_transition 0.3 current_design set_max_capacitance 1.5 current_design set_max_fanout 3.0 all_outputs()
面积和时序约束
• 描述设计的目标,包括时序和面积约束,要注意约束必须是可实现的, 否则会导致面积超额,功耗增加或时序不能满足要求。设计约束的DC 命令如下:
• set_max_area用于约束current_design的最大面积。0表示在满足时 序、功耗的前提下,尽可能的减小面积。例如:set_max_area 0
• 时序约束包括3个部分:all inputs、register to register和all outputs。 • 输入路径的约束:
• 输出时序约束: set_output_delay:定义从输出端口数据不可用开始到后一个时钟有 效沿的时间。例如:
• set_drive用于定义模块的input ports,0表示最大的驱动强度,通常用 于clock ports和reset,例如:set_drive 0 {clk,rst}。
• set_driving_cell用于定义input ports,模拟cell的驱动阻抗,为了保证 输入路径的时序和输入信号的transition time。例如:
环境属性
• 定义设计的工艺参数,I/O端口属性,wire-load模型,下图解释了描 述设计环境约束的DC命令:
set_operating_conditions
set_drive on Clock
set_driving_cell on inputs
Clock Divider Logic
Block A
数字后端简要流程
HDL代码 逻辑综合 布局布线 形式验证
综合的定义
• 逻辑综合:决定设计电路逻辑门之间的相互连接。 • 逻辑综合的目的:决定电路门级结构,寻求时序、面积和功耗的平衡,
增强电路的测试性。 • 逻辑综合的过程(constraint_driven) :
Synthesis = Translation + Logic Optimization + Mapping 首先,综合工具分析HDL代码,用一种模型(GTECH) ,对HDL 进行映射,这个模型是与技术库无关的,也不包含Timing和Load信息; 然后,在设计者的控制下,对这个模型进行逻辑优化; 最后一步,进行逻辑映射和门级优化,将逻辑根据约束,映射为 专门的技术目标单元库(target cell library)中的cell,形成了综合后 的网表。
set_input_delay:定义信号相对于时钟的到达时间。指一个信号,在 时钟沿之后多少时间到达。
• 例如: set_input_delay -max 20 -clock CLK {get_ports A} set_input_delay -min 0.8 -clock CLK {get_ports A}
create_clock& set_clock_uncertainty
set_input_delay on input signals
Top levelBaidu Nhomakorabea
Clock Divider Logic
Block A
Block B
set_output_delay on input signals
set_max_area for each block
Block B
set_wire_load_model
set_load on outputs
set_max_capacitance set_max_transition &set_max_fanout on input &output ports or current_design;
• set_operating_conditions用于描述cells操作条件: process、voltage 和temperature。例如:set_operating_conditions -max slow