F
faye_hongdou
Guest
Kód:Modul halfband (CLK, DIN, dout);
vstup CLK;
vstup [11:0] DIN;
výkon [12:0] dout;reg [12:0] dout;
reg [11:0] d_m4, d_m3, d_m2, d_m1, d_0, d_1, d_2, d_3, d_4, d_5;
reg polovinu;drát [12:0] R5, R3, R1;
drát [11:0] r0;
drát [22:0] rr5, RR3, RR1, rr0;
drát [22:0] výsledek;Vždy @ (posedge CLK)
polovina <=!
polovinu;Vždy @ (posedge CLK)
if (polovina)
dout <= výsledek [22: 10];Vždy @ (posedge CLK)
začít
d_m4 <= din;
d_m3 <= d_m4;
d_m2 <= d_m3;
d_m1 <= d_m2;
d_0 <= d_m1;
d_1 <= d_0;
d_2 <= d_1;
d_3 <= d_2;
d_4 <= d_3;
d_5 <= d_4;
konecpřiřadit R5 = (d_5 [11], d_5) (din [11], din);
přiřadit R3 = (d_3 [11], d_3) (d_m3 [11], d_m3);
přiřadit r1 = (d_1 [11], d_1) (d_m1 [11], d_m1);
přiřadit r0 = (d_0);/ / Rozšířit data na 24 bit data.
přiřadit rr5 = R5 [12]?
(11'b1, R5): (11'b0, R5);
přiřadit RR3 = r3 [12]?
(11'b1, R3): (11'b0, R3);
přiřadit RR1 = r1 [12]?
(11'b1, r1): (11'b0, r1);
přiřadit rr0 = r0 [11]?
(12'b1, r0): (12'b0, r0);drát [22:0] result1 = R5 - (r3 <<4);
drát [22:0] result2 = result1 (R1 <<1);
drát [22:0] result3 = result2 (result2 <<2);drát [22:0] result4 = R1 (RR1 <<6);
drát [22:0] result5 = (R1 <<9) (r0 <<10);
drát [22:0] result6 = result4 result5;přiřadit výsledek = result3 result6;endmodule
vstup CLK;
vstup [11:0] DIN;
výkon [12:0] dout;reg [12:0] dout;
reg [11:0] d_m4, d_m3, d_m2, d_m1, d_0, d_1, d_2, d_3, d_4, d_5;
reg polovinu;drát [12:0] R5, R3, R1;
drát [11:0] r0;
drát [22:0] rr5, RR3, RR1, rr0;
drát [22:0] výsledek;Vždy @ (posedge CLK)
polovina <=!
polovinu;Vždy @ (posedge CLK)
if (polovina)
dout <= výsledek [22: 10];Vždy @ (posedge CLK)
začít
d_m4 <= din;
d_m3 <= d_m4;
d_m2 <= d_m3;
d_m1 <= d_m2;
d_0 <= d_m1;
d_1 <= d_0;
d_2 <= d_1;
d_3 <= d_2;
d_4 <= d_3;
d_5 <= d_4;
konecpřiřadit R5 = (d_5 [11], d_5) (din [11], din);
přiřadit R3 = (d_3 [11], d_3) (d_m3 [11], d_m3);
přiřadit r1 = (d_1 [11], d_1) (d_m1 [11], d_m1);
přiřadit r0 = (d_0);/ / Rozšířit data na 24 bit data.
přiřadit rr5 = R5 [12]?
(11'b1, R5): (11'b0, R5);
přiřadit RR3 = r3 [12]?
(11'b1, R3): (11'b0, R3);
přiřadit RR1 = r1 [12]?
(11'b1, r1): (11'b0, r1);
přiřadit rr0 = r0 [11]?
(12'b1, r0): (12'b0, r0);drát [22:0] result1 = R5 - (r3 <<4);
drát [22:0] result2 = result1 (R1 <<1);
drát [22:0] result3 = result2 (result2 <<2);drát [22:0] result4 = R1 (RR1 <<6);
drát [22:0] result5 = (R1 <<9) (r0 <<10);
drát [22:0] result6 = result4 result5;přiřadit výsledek = result3 result6;endmodule