A
Aymen
Guest
napisal sem to kodo za opravljanje kompleksnih množenje 2 številk s konjugata drugo številko:
Code:modul PipedCompMultConj (CLK, DR1, di1, DR2, di2, drout, diout);
input [3:0] DR1, di1, DR2, di2;
input CLK;
izhod [7:0] drout, diout;
žice [7:0] R1, R2, R3, R4, R5, R6;reg [15:0] IR;
reg [31:0] PR1;
reg [31:0] PR2;
reg [15:0] OR;dodeliti drout = OR [7:0];
dodeliti diout = OR [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 c1 (R5, PR2 [7:0], PR2 [15:8]); / / realni del
cla8_sub c2 (R6, PR2 [23:16], PR2 [31:24]); / / imaginarni delVedno @ (negedge CLK)
začeti
IR <= (di2, di1, DR2, DR1);
PR1 <= (IR, r2, r1);
PR2 <= (r4, r3, PR1 [15:0]);
ALI <= (R6, R5);
konecendmodule
Code:modul PipedCompMultConj (CLK, DR1, di1, DR2, di2, drout, diout);
input [3:0] DR1, di1, DR2, di2;
input CLK;
izhod [7:0] drout, diout;
žice [7:0] R1, R2, R3, R4, R5, R6;reg [15:0] IR;
reg [31:0] PR1;
reg [31:0] PR2;
reg [15:0] OR;dodeliti drout = OR [7:0];
dodeliti diout = OR [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 c1 (R5, PR2 [7:0], PR2 [15:8]); / / realni del
cla8_sub c2 (R6, PR2 [23:16], PR2 [31:24]); / / imaginarni delVedno @ (negedge CLK)
začeti
IR <= (di2, di1, DR2, DR1);
PR1 <= (IR, r2, r1);
PR2 <= (r4, r3, PR1 [15:0]);
ALI <= (R6, R5);
konecendmodule