//这是一个脉动加法器程序
module ripple_adder(co,sum,a0,a1,ci);
parameter N=4;
output [N-1:0] sum;
output co;
input [N-1:0] a0,a1;
input ci;
wire [N:0] carry;
assign carry[0]=ci;
genvar i;
generate for(i=0;i<N;i=i+1)
begin:r_loop
wire t1,t2,t3;
xor g1(t1,a0,a1);
xor g2(sum,t1,carry);
and g3(t2,a0,a1);
and g4(t3,t1,carry);
or g5(carry[i+1],t2,t3);
end
endgenerate
assign co=carry[N];
endmodule
从波形图上看出有毛刺,请问毛刺产生的具体原因,怎样避免?还有输出比输入延迟了一段时间,是器件的延时么?求大神解答,楼主才学,希望详细点,望不吝赐教...
下图是波形仿真图
|