G
Guest
Guest
لقد كتبت هذا الرمز لتنفيذ الضرب معقدة من 2 الأرقام مع المتقارن من الرقم الثاني :
رمز ipedCompMultConj النمطية (clk ، dr1 ، di1 ، dr2 ، DI2 ، drout ، diout) ؛
مدخلات [3:0] dr1 ، di1 ، dr2 ، DI2 ؛
clk المدخلات ؛
الإخراج [7:0] drout ، diout ؛
سلك [7:0] R1 ، R2 ، R3 ، R4 ، R5 ، R6 ؛ريج [15:0] الأشعة تحت الحمراء ؛
ريج [31:0] PR1 ؛
ريج [31:0] PR2 ؛
ريج [15:0] أو ؛تعيين drout = أو [7:0] ؛
تعيين diout = أو [15:8] ؛mult_pipe m1 (الأشعة تحت الحمراء [3:0] ، الأشعة تحت الحمراء [7:4] ، r1) ؛
mult_pipe m2 (الأشعة تحت الحمراء [11:8] ، الأشعة تحت الحمراء [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]) ؛ / / جزء حقيقي
cla8_sub c2 (r6 ، PR2 [23:16] ، PR2 [31:24]) ؛ / / جزء وهميدائما @ (clk negedge)
يبدأ
الأشعة تحت الحمراء <= (DI2 ، di1 ، dr2 ، dr1) ؛
PR1 <= (الأشعة تحت الحمراء ، R2 ، R1) ؛
PR2 <= (r4 ، r3 ، PR1 [15:0]) ؛
أو <= (r6 ، r5) ؛
نهايةendmodule
رمز ipedCompMultConj النمطية (clk ، dr1 ، di1 ، dr2 ، DI2 ، drout ، diout) ؛
مدخلات [3:0] dr1 ، di1 ، dr2 ، DI2 ؛
clk المدخلات ؛
الإخراج [7:0] drout ، diout ؛
سلك [7:0] R1 ، R2 ، R3 ، R4 ، R5 ، R6 ؛ريج [15:0] الأشعة تحت الحمراء ؛
ريج [31:0] PR1 ؛
ريج [31:0] PR2 ؛
ريج [15:0] أو ؛تعيين drout = أو [7:0] ؛
تعيين diout = أو [15:8] ؛mult_pipe m1 (الأشعة تحت الحمراء [3:0] ، الأشعة تحت الحمراء [7:4] ، r1) ؛
mult_pipe m2 (الأشعة تحت الحمراء [11:8] ، الأشعة تحت الحمراء [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]) ؛ / / جزء حقيقي
cla8_sub c2 (r6 ، PR2 [23:16] ، PR2 [31:24]) ؛ / / جزء وهميدائما @ (clk negedge)
يبدأ
الأشعة تحت الحمراء <= (DI2 ، di1 ، dr2 ، dr1) ؛
PR1 <= (الأشعة تحت الحمراء ، R2 ، R1) ؛
PR2 <= (r4 ، r3 ، PR1 [15:0]) ؛
أو <= (r6 ، r5) ؛
نهايةendmodule