A
Aymen
Guest
Έχω γραπτή τον κώδικα αυτό για να εκτελεί πολύπλοκα πολλαπλασιασμό των 2 αριθμών με την συζευτικό από τη δεύτερη σειρά:
Κωδικός:ενότητα PipedCompMultConj (CLK, DR1, di1, dr2, di2, drout, diout)?
εισροών [3:0] DR1, di1, dr2, di2?
εισροών CLK?
εξόδου [7:0] drout, diout?
wire [7:0] R1, R2, R3, R4, R5, R6?reg [15:0] IR?
reg [31:0] PR1?
reg [31:0] PR2?
reg [15:0] OR?αντιστοιχίσετε drout = Ή [7:0]?
αντιστοιχίσετε diout = Ή [15:8]?mult_pipe m1 (IR [3:0], IR [7:4], r1)?
mult_pipe m2 (IR [11:8], IR [15:12], r2)?
mult_pipe m3 (PR1 [23:20], PR1 [27:24], r3)?
mult_pipe m4 (PR1 [19:16], PR1 [31:28], R4)?cla8_adder γ1 (R5, PR2 [7:0], PR2 [15:8])? / / πραγματικό μέρος
cla8_sub c2 (R6, PR2 [23:16], PR2 [31:24])? / / φανταστικό μέροςπάντα @ (negedge CLK)
αρχίζω
IR <= (di2, di1, dr2, DR1)?
PR1 <= (IR, r2, r1)?
PR2 <= (R4, R3, PR1 [15:0])?
Ή <= (R6, R5)?
τέλοςendmodule
Κωδικός:ενότητα PipedCompMultConj (CLK, DR1, di1, dr2, di2, drout, diout)?
εισροών [3:0] DR1, di1, dr2, di2?
εισροών CLK?
εξόδου [7:0] drout, diout?
wire [7:0] R1, R2, R3, R4, R5, R6?reg [15:0] IR?
reg [31:0] PR1?
reg [31:0] PR2?
reg [15:0] OR?αντιστοιχίσετε drout = Ή [7:0]?
αντιστοιχίσετε diout = Ή [15:8]?mult_pipe m1 (IR [3:0], IR [7:4], r1)?
mult_pipe m2 (IR [11:8], IR [15:12], r2)?
mult_pipe m3 (PR1 [23:20], PR1 [27:24], r3)?
mult_pipe m4 (PR1 [19:16], PR1 [31:28], R4)?cla8_adder γ1 (R5, PR2 [7:0], PR2 [15:8])? / / πραγματικό μέρος
cla8_sub c2 (R6, PR2 [23:16], PR2 [31:24])? / / φανταστικό μέροςπάντα @ (negedge CLK)
αρχίζω
IR <= (di2, di1, dr2, DR1)?
PR1 <= (IR, r2, r1)?
PR2 <= (R4, R3, PR1 [15:0])?
Ή <= (R6, R5)?
τέλοςendmodule