微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于analyze和elaborate

关于analyze和elaborate

时间:10-02 整理:3721RD 点击:
大家好,
最近遇到一个问题。我用DC做一个设计的综合,这个设计的一个子模块是带参数的,这个子模块在实例化的时候是经过参数传递的。
用read_verilog读入设计时报错说找不到这个带参数的子模块。于是上网搜了一下,说应该用analyze+elaborate的步骤。现在的问题是:
我在用analyze之后使用current_design定义当前设计,但是报错说找不到当前设计。然后我在analyze后加了一条list_desgins,结果说没有任何设计在内存里。接着,我用elaborate+顶层模块名 之后,current_design就自动变成了顶层模块。这个结果是想要的,但是过程有些疑惑。analyze读入的设计不存在内存里吗?elaborate+module_name会自动把这个module 设为current_design吗?请知情人解说一二。谢谢!

analyze: 读入RTL代码,分析每个文件的语法是否正确。(这个时候每个module还是独立的,没有instance的关系)
elaborate: 用analyze已经读入的RTL代码来构建hierarchy。顶层是可以设置的。这个时候整个design的层次就有了,instance的关系也明确了。

     谢谢回复。另外还想问一下,如果不设置的话,elaborate会自动识别top module吗?

rm flow中就采用的是analyze+elaborate

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top