DC使用时读入文件的问题
时间:10-02
整理:3721RD
点击:
最近在做DC的时候,遇到这样一个问题:
我使用的是 analyze+elaborate两条指令
是关于 DC 读入 .v 文件的时候 ,刚开始的时候我们的设计比较的小 ,没有多少的.v文件 ,所以一般都是自己手动的把.v的文件的顺序写好, 但是现在的设计大了, 有好多的.v文件, 这个时候再手写的话 ,特别的麻烦 ,不知道大神们都是怎么处理的啊。
这个问题的关键在于,DC在读入文件的时候是在看模块之间的层次关系的,也就是顶层的模块要最后读入,被顶层模块引用的模块要先读入 否则顺序不对的话 DC会说找不到有些模块
我使用的是 analyze+elaborate两条指令
举例如下:
文件结构为:
src
|
--------------------------------------
||||
file1file2file3file4
file1,file2,file3,file4 四个文件下面都有很多的.v文件 。我可以使用指令将每个file中的.v文件都读入到一个变量之中,然后使用foreach指令就可以对每一个.v文件进行处理,但是这个时候的文件之间的顺序不是和我们模块之间的调用顺序一样的。这样就导致了我们在读入A模块的时候,由于A模块需要调用B模块,但是这个时候B模块却没有读入到DC之中, 导致DC说找不到B模块。
希望又大神能够解决!
我使用的是 analyze+elaborate两条指令
是关于 DC 读入 .v 文件的时候 ,刚开始的时候我们的设计比较的小 ,没有多少的.v文件 ,所以一般都是自己手动的把.v的文件的顺序写好, 但是现在的设计大了, 有好多的.v文件, 这个时候再手写的话 ,特别的麻烦 ,不知道大神们都是怎么处理的啊。
这个问题的关键在于,DC在读入文件的时候是在看模块之间的层次关系的,也就是顶层的模块要最后读入,被顶层模块引用的模块要先读入 否则顺序不对的话 DC会说找不到有些模块
我使用的是 analyze+elaborate两条指令
举例如下:
文件结构为:
src
|
--------------------------------------
||||
file1file2file3file4
file1,file2,file3,file4 四个文件下面都有很多的.v文件 。我可以使用指令将每个file中的.v文件都读入到一个变量之中,然后使用foreach指令就可以对每一个.v文件进行处理,但是这个时候的文件之间的顺序不是和我们模块之间的调用顺序一样的。这样就导致了我们在读入A模块的时候,由于A模块需要调用B模块,但是这个时候B模块却没有读入到DC之中, 导致DC说找不到B模块。
希望又大神能够解决!
可以先
set rtl_list [list file1.v file2.v file3.v file4.v src.v]
再
analyze -f verilog $rtl_list
elaborate src
link
这时,与读入文件的顺序就无关了
多谢小编的帮助刚才试了一下您说的方法是对的问题已解决
我在做DC的时候就是直接用linux命令find把所有的。v写入一个文件中,然后再用脚本处理成read_verilog ...
的格式,在全部read完之后,再用dc命令,设置current_design为最top层的那个名字,在link就没有报告你那样的错误的。
最简单的做法是只读入顶层的.V,在每一个.v中用'include