当前位置:首页 > 生活百科

数字电路设计工程师(数字集成电路设计基础与实例教程)

2022-11-03 17:15:53

  我们分享了Design Compiler启动所需的基本文件,以及启动步骤,今天看了觉得稍微有些简略,所以今天就其中的几个问题,再展开来聊一聊。

  读入文件的方式

  在Design Compiler中的读入文件命令,通常有以下两个:

  read_file。file可以使Synopsys支持的任何文件形式;

  analyze+elaborate,目前只支持Verilog HDL和VHDL。

  两者的区别有以下几点:

  read_file在读入文件时,需要注意读入文件的顺序,或者通过current_design指定顶层设计文件,并且后面必须使用link命令,将设计中所有实例化的模块,link到在一起。

  analyze+elaborate读入文件时,可以添加一些命令,加快读取速度。因为elaborate已经指定了TOP设计文件,所以不需要使用current_design指定TOP文件,并且也不再需要link命令。

  那么在使用过程中,我们到底该用哪个命令入读文件呢?

  一般推荐的选择是,如果是读入单个文件,则使用read_file命令。如果有多个文件需要读入,则使用analyze+elaborate命令。

  工作环境设置

  在读入设计文件和库文件之后,我们需要告诉Design Compiler,综合过程需要在什么工作条件之下进行,用什么导线负载模型,希望加到该设计的输入驱动强度和输出负载大小是怎样的。

  在库文件中,会定义三种工作条件(best、typical、worst)。我们在前端综合过程中,一般都会选择worst case的情况,即驱动很小,负载很大,这样对setup time来讲,条件是最苛刻的。

  一般常用的命令有set_drive、set_driving_cell,set_load等等。在设置约束的时候,一般选择工艺库中的一个cell作为标准(比如设置驱动时候,以2x的反相器作为标准),在这个基数上面,用不同的倍数进行约束,会更加准确,并且这也是更加贴近真实芯片中情况的约束方法。

  另外需要说明的是,如果用户没有设置工作环境,即在缺省情况下,Design Compiler会认为当前的工作环境是驱动无穷大的理想情况,所以得到的综合结果就比较乐观。但是我们知道,在实际的情况下面,驱动不可能无穷大,所以实际的综合结果要比理想情况下得到的结果差很多。

免责声明:本文由用户上传,如有侵权请联系删除!