dc中多时钟的处理方法?
时间:10-02
整理:3721RD
点击:
现在我进行dc的学习,设计的一个顶层模块里面需要考虑多时钟,电路关系具体如下:
submodule1 :
module A(clk,rst_n,data_in,data_bina);
module B(clk,rst_n,seg_out);
module C(data_bina ,clk,rst_n,data_bcd);
module D(clk,rst_n,clk_10Hz,clk_100Hz);
topmodule topmodule(clk,rst_n,data_in,seg_out);其中clk,rst_n,data_in为输入,seg_out为输出。而其他的为中间信号
topmodule 的例化如下:
A a(.clk(clk_10Hz),.rst_n(rst_n),.data_in(data_in),.data_bina(data_bina));
B b(.clk(clk_100Hz),.rst_n(rst_n),.seg_out(seg_out));
C c(.clk(clk_10Hz),.rst_n(rst_n),.data_bina(dat_bina),.data_bcd (data_bcd));
D d(.clk(clk),.rst_n(rst_n),.clk_10H(clk_10Hz),.clk_100Hz(clk_100Hz));
请问向这种一个模块中需要处理多个时钟情况,怎样用dc综合?
我用gui设置端口,不成功,尝试着用脚本来产生内部时钟clk_10Hz和clk-100Hz也提示说有几个unsolved 的reference,有没有谁处理过这种情况的问题?望解答一下!
submodule1 :
module A(clk,rst_n,data_in,data_bina);
module B(clk,rst_n,seg_out);
module C(data_bina ,clk,rst_n,data_bcd);
module D(clk,rst_n,clk_10Hz,clk_100Hz);
topmodule topmodule(clk,rst_n,data_in,seg_out);其中clk,rst_n,data_in为输入,seg_out为输出。而其他的为中间信号
topmodule 的例化如下:
A a(.clk(clk_10Hz),.rst_n(rst_n),.data_in(data_in),.data_bina(data_bina));
B b(.clk(clk_100Hz),.rst_n(rst_n),.seg_out(seg_out));
C c(.clk(clk_10Hz),.rst_n(rst_n),.data_bina(dat_bina),.data_bcd (data_bcd));
D d(.clk(clk),.rst_n(rst_n),.clk_10H(clk_10Hz),.clk_100Hz(clk_100Hz));
请问向这种一个模块中需要处理多个时钟情况,怎样用dc综合?
我用gui设置端口,不成功,尝试着用脚本来产生内部时钟clk_10Hz和clk-100Hz也提示说有几个unsolved 的reference,有没有谁处理过这种情况的问题?望解答一下!
clk_10Hz 和clk_100Hz 是input clk分频得来的吧
使用creat_genrated_clock -name **** -divide_by ** -source ***
仔细看UG吧 最常用的命令
clk_10Hz 和clk_100Hz 是input clk分频得来的吧是的,这是分频出来的!
使用creat_genrated_clock -name **** -divide_by ** -source ***这条语句我也试过了,综合还是说我有几个unsolved 的reference!我只是将这两个分频出来的时钟信号creat_genrated_clock -name **** -divide_by ** -source ***语句操作,而对其他的中间信号比如data_bina和data_bcd没有进行端口连接,不知道是不是这些未知端口的影响!
那你在gui中 只 read 一下RTL ,不加任何约束 看有没有unsolved reference的报告
如果有 那就是RTL存在问题
你是不是把多个module写在一个文件中了?这样写在读入设计的时候会出错。
