马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我在做一个verilog编写的8位四级流水线加法器,这是我第一次做全流程的设计。从verilog设计编写、功能仿真、逻辑综合、时序分析然后做布局布线。现在卡在PT这了,不会做了,求助大神们帮帮忙!下面的程序:moduleadder_pipeline(rst_n,clk,a,b,cin,sum); parameter DATA_SIZE = 8; input rst_n; input clk; input [DATA_SIZE -1 : 0] a; input [DATA_SIZE -1 : 0] b; input cin; output [DATA_SIZE: 0] sum; reg [DATA_SIZE - 1: 0] a_r; reg [DATA_SIZE - 1: 0] b_r; reg cin_r; reg [DATA_SIZE :0] sum; reg [1:0]stage0_sum; reg stage0_cout; reg [DATA_SIZE - 1: 0] stage0_a_r; reg [DATA_SIZE - 1: 0] stage0_b_r; reg [3:0]stage1_sum; reg stage1_cout; reg [DATA_SIZE - 1: 0] stage1_a_r; reg [DATA_SIZE - 1: 0] stage1_b_r; reg [5:0]stage2_sum; reg stage2_cout; reg [DATA_SIZE - 1: 0] stage2_a_r; reg [DATA_SIZE - 1: 0] stage2_b_r; reg [7:0]stage3_sum; reg stage3_cout; always@(posedgeclk) if(!rst_n) begin a_r <= 8'd0; b_r <= 8'd0; cin_r <= 1'b0; end else begin a_r <= a; b_r <= b; cin_r <= cin; end always@(posedgeclk) if(!rst_n) begin {stage0_cout,stage0_sum} <=3'd0; stage0_a_r <= 8'd0; stage0_b_r <= 8'd0; end else begin {stage0_cout,stage0_sum} <={1'b0,a_r[1:0]} + {1'b0,b_r[1:0]} + cin_r; stage0_a_r <= a_r; stage0_b_r <= b_r; end always@(posedge clk) if(!rst_n) begin {stage1_cout,stage1_sum} <=5'd0; stage1_a_r <= 8'd0; stage1_b_r <= 8'd0; end else begin {stage1_cout,stage1_sum} <= {{1'b0,stage0_a_r[3:2]} + {1'b0,stage0_b_r[3:2]} + stage0_cout,stage0_sum }; stage1_a_r <= stage0_a_r; stage1_b_r <= stage0_b_r; end always@(posedge clk) if(!rst_n) begin {stage2_cout,stage2_sum} <=7'd0; stage2_a_r <= 8'd0; stage2_b_r <= 8'd0; end else begin {stage2_cout,stage2_sum} <= {{1'b0,stage1_a_r[5:4]} + {1'b0,stage1_b_r[5:4]} + stage1_cout,stage1_sum}; stage2_a_r <= stage1_a_r; stage2_b_r <= stage1_b_r; end always@(posedge clk) if(!rst_n) begin {stage3_cout,stage3_sum} <=9'd0; end else begin {stage3_cout,stage3_sum} <= {{stage2_a_r[7],stage2_a_r[7:6]} + {stage2_b_r[7],stage2_b_r[7:6]} +stage2_cout,stage2_sum }; end always@(posedge clk) if(!rst_n) begin sum <= 9'd0; end else begin sum <={stage3_cout,stage3_sum}; end endmodule 接下来的时序分析,怎么用虚拟机做我就不会了 |