|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我收到一个挺大的门级乘法器电路的verilog代码,是纯组合逻辑。
我总是感觉PT做静态时序仿真必须得有clk在才好,只有这样,报告中才能比较arrival time和时钟周期,得到slack(正数是满足,负数不满足)。这就是我对PT的弱弱的理解。
于是我让设计这个电路的人只在输出端 加了reg(输入端不可以加reg?),于是就有了clk了:
module hisdesign(clk, A,B, C);
input [32:1] A;
input [32:1] B;
input clk;
output [32:1] C;
reg [32:1] C;
wire [32:1] output_c;
multiplier mul(A,B, output_c); //代表”门级组合电路。。。。。“
always @(posedge clk)
C<=output_c;
endmodule
我先拿DC综合出某个库的门级verilog,然后用PT做时序分析,
静态时序仿真的结果和我想象的不一样,我开始慢慢感觉到错在哪里了,但是不知道怎么改:
Startpoint: C_reg[1]
(rising edge-triggered flip-flop clocked by clk)
Endpoint: C[1] (output port clocked by clk)
Path Group: clk
Path Type: max
Point Incr Path
---------------------------------------------------------------
clock clk (rise edge) 0.00 0.00
clock network delay (ideal) 0.00 0.00
C_reg[1]/CK (DFFRQX2VH) 0.00 0.00 r
C_reg[1]/Q (DFFRQX2VH) 7.90 7.90 r
C[1] (out) 0.00 7.90 r
data arrival time 7.90
clock clk (rise edge) 10.00 10.00
clock network delay (ideal) 0.00 10.00
output external delay -1.00 9.00
data required time 9.00
---------------------------------------------------------------
data required time 9.00
data arrival time -7.90
---------------------------------------------------------------
slack (MET) 1.10
以上就是我的仿真结果,感觉不是我原本想算的东西,请高手们帮忙看下啊,谢谢。 |
|