vcs后仿真出现毛刺,应该怎样做
时间:10-02
整理:3721RD
点击:
程序大概是这样always@(posedge clk or negedge rst)
if(!rst)
begin
tmp<=1'b0
tmp1<=1'b0
tmp2<=1'b0
end
else if(!rst_outside)
begin
tmp<=1'b0
tmp1<=1'b0
tmp2<=1'b0
end
begin
tmp<=1;
tm1<=tmp;
tmp2<=tmp1;
end
assign clk1=tmp2^tmp;
在dc后仿的时候,clk1没有发现在毛刺
但在icc后仿时发现clk有毛刺,主要是tmp2和tmp输出不同时所导致
我想问一下,像这种情况应该怎样处理?
if(!rst)
begin
tmp<=1'b0
tmp1<=1'b0
tmp2<=1'b0
end
else if(!rst_outside)
begin
tmp<=1'b0
tmp1<=1'b0
tmp2<=1'b0
end
begin
tmp<=1;
tm1<=tmp;
tmp2<=tmp1;
end
assign clk1=tmp2^tmp;
在dc后仿的时候,clk1没有发现在毛刺
但在icc后仿时发现clk有毛刺,主要是tmp2和tmp输出不同时所导致
我想问一下,像这种情况应该怎样处理?
timing ok了么
谢谢您的回答,不知道您说的timing是什么,pt我只是初学我用report_timing slack为正,report_analysis_coverage没有violated,如果没有您想要的timing,请跟我说下是需要哪个指令,谢谢
那应该ok吧,
顶顶顶顶顶
1.看看有没有影响仿真结果。
2. 看看时序有没有满足。
应该是你的rst和rst_outside信号变化引起的毛刺吧我怎么看其它情况不会出毛刺呢
我在pt中调用dc产生的sdc就没有发现毛刺
有时候timing ok, 毛刺也会很多,关键看影响不影响你的结果。 在完成clock tree 后,毛刺一般会被插入的Buffer处理掉。