如何定义网表合成的自定义单元格



我目前正在进行CPU设计,希望在功率、速度和面积方面比较不同的微体系结构。这些微体系结构的不同之处仅在于不同组件的实例化,例如不同实现的ALU或寄存器文件。其中一些组件相当复杂,我无法以HDL代码的形式获得。因此,我们的想法是将它们实例化为HDL代码中的黑盒,并让合成工具(Synopsys Design Compiler(将它们映射到自定义单元,以获得网表。

现在,问题是:我如何自我定义细胞用于合成?当然,我有一个标准的单元格库,所以我只需要将这几个额外的单元格"添加"到链接库中。我找不到在DC外壳中定义它们的方法。所以我想我必须写一个额外的自由文件来加载并链接到

有没有一种方法可以定义一个自由文件,在这个文件中,我不必担心标题内容,比如过程参数,只需要定义所需的单元格并将其"添加"到现有库中,这样它就可以自动假定标准单元格库中指定的所有过程参数?

我认为,在没有计划带出的情况下,出于模拟目的,这样做并不罕见。我只是在网上或用户指南中找不到任何有用的信息。如果有人能为我指明正确的方向,我会很高兴。

我找到了一个解决方案。可以简单地编写一个只包含自定义单元格描述的自由文件,然后在编译前通过update_lib命令读入。这正是我想要的。

最新更新