我是靠谱客的博主 殷勤小鸭子,最近开发中收集的这篇文章主要介绍Design Compiler知识整理1 基本操作2 常用命令3 Q&A4 例子,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Design Compiler知识整理

  • 1 基本操作
  • 2 常用命令
  • 3 Q&A
  • 4 例子
    • 4.1 read_file

1 基本操作

  • 在dc_shell下也可以使用unix命令诸如: pwd、 cd 、ls、history、alias等。
  • 重复最后一条命令dc_shell> !!
  • 执行第七条命令dc_shell> !7
  • 执行最后一条report命令dc_shell> !rep
  • 执行任何shell命令dc_shell> sh < UNIX_command >
  • 得到unix变量值dc_shell> get_unix_variable
  • 启动dc_shell后运行脚本:dc_shell> source example.tcl
  • 在dc_shell>下查手册或者信息:man+command或者info+command

2 常用命令

  • target_library:synthesis的map阶段需要的实际工艺库
  • link_library:链接库,用于连接模块,“*”表示内存中所有的库
  • link:读取完所要综合的模块之后,将读到的DCmemory中的模块连接起来(出现unresolved design reference的警告,需要重新读取模块)
  • set_dont_touch:在当前设计和库单元上设置单元格、网格、引用和设计的dont_touch属性,以防止在优化期间修改和替换这些对象
  • all_fanout:返回指定源扇出中的一组引脚、端口或者单元
  • set_wire_load_mode:连线负载模式,模块之间的。有三种情况:enclosed、top和segmented。设置线载模型用于计算电容
  • set_wire_load_model:模块内部连线模型
  • compile_seqmap_propagate_constants:默认值为true。控制编译命令是否尝试识别和删除常量寄存器,并且在整个过程中传播常量值。
  • hdlin_preserve_sequential:在设计中控制复杂的和读取的命令是否保留了卸载的顺序单元
  • sh_continue_on_error:允许脚本出错时继续执行命令
  • sh_source_emits_line_number:指示发出信息的错误消息严重级别,列出该消息发生时的脚本名和行号:E代表只报error;W代表报error和warning
  • set_load:指定端口或者网络上设置的load属性
  • load_of:返回指定端口cell的pin电容
  • set_fix_multiple_port_nets:在当前的设计或设计列表设置固定多路网属性到指定的值
  • report_timing -slack_lesser_than 1 报告小于1ns的时序路径
  • max_path 指定每个路径组报告的路径数
  • nworst 指定每个端点报告的最大路径数,默认为1,只会报告给定端点结束的最坏路径。
  • delay max min 报告路径组中的建立时间和保持时间的关键路径,max为建立时间
  • uniquify :为设计中的每一个模块产生一个名字唯一的拷贝,可根据每个模块本身特有的环境做优化和映射。
  • 用group创建层次,ungroup解除层次关系:
  • 设置面积约束:set_max_area 100 单位面积在不同的工艺库下所指的的一样:以二输入与非门的面积为单位面积、以单个管子所占面积为单位面积、以实际面积1um2为单位面积。在不知道的情况下可以综合一个二输入与非门来看数值,来确定具体所指。
  • 定义时钟:create_clock -period 10 [get_ports clk]
    set_dont_touch_network [get_clocks clk]
  • 设置输入输出约束:set_input_delay -max 4 -clock clk [get_ports A]
    set_output_delay -max 4 -clock clk [get_ports B]
  • 检查约束:report_port -verbose 报告当前设计中定义的I/O端口属性和施加的约束
  • report_clock:报告当前设计中定义的时钟及其属性情况
  • reset_design:删除当前设计中所有的属性值和约束(该句命令一般位于脚本第一句)。移除设计remove_design -design
  • list_libs:列出内存中所有可用的库
  • check_timing:检查是否有路径没有加入约束
  • check_design:检查设计中是否具有悬空的管脚或者输出短接的情况
  • write_script:将施加的约束和属性写出到一个文件内
  • 列出命令的开关选项:help -v set_input_delay
  • 集合中删除元素:set all_except_clk [remove_from_collection
    [all_inputs] [get_ports clk] ]
  • 引入时钟偏差:set_clock_uncertainty 0.5 [get_clocks clk]
  • 时钟源延时:set_clock_latency -source
  • 网络时钟延时:set_clock_latency
  • 布局后综合:set_propagated_clock
  • 同步多时钟:虚拟时钟 creat_clock -period 20 -name CLKA 红色部分必须指定,没有端口或者管脚

3 Q&A

  • 基于路径的综合是什么意思?
    A:路径(path)是DC中的一个重要概念。它包括4种路径方式:
    a. input到FF的data口;
    b. FF的clk到另一个FF的D口;
    c. FF的clk到输出端口;
    d. input到output;
    基于路径的综合就是对这四种路径进行加约束,综合电路以满足这些约束条件。

4 例子

4.1 read_file

// from dc manual
       The following example assumes that the current directory is the  source
       directory.  It  specifies  the source file list at the command line and
       calls the command with the name of the top-level entity.

         prompt> read_file {.} -autoread -recursive -top E1

       The next example specifies extensions for Verilog files that  are  dif-
       ferent  than  the  default ({.v}), sets the source list and the exclude
       list, and calls the command with the name of the top-level module name,
       forcing it to only collect files with Verilog extensions.

         prompt> set hdlin_autoread_verilog_extensions {.ve .VE}
         prompt> set my_sources {mod1/src mod2/src}
         prompt> set my_excludes {mod1/src/incl mod2/src/incl}
         prompt> read_file $my_sources -exclude $my_excludes 
            -autoread -format verilog -top TOP

       Note that excluding include directories explicitly is only necessary if
       include files have the same extensions as  source  files  and  not  all
       include files are included in the source.

最后

以上就是殷勤小鸭子为你收集整理的Design Compiler知识整理1 基本操作2 常用命令3 Q&A4 例子的全部内容,希望文章能够帮你解决Design Compiler知识整理1 基本操作2 常用命令3 Q&A4 例子所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部