النقل بواسطة خط أنابيب في فيريلوج

G

Guest

Guest
لقد كتبت هذا الرمز لتنفيذ الضرب معقدة من 2 الأرقام مع المتقارن من الرقم الثاني :
رمز :pipedCompMultConj النمطية (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

 
مرحبا ايمن ،

وأعتقد أن التنفيذ على ما يرام.يمكنك أيضا تجميع لنرى ما تحصل عليه.

 
شكرا جزيلا ش wadaye ، لقد قمت بتجميع هذا الرمز باستخدام Xilinx مع ودون النقل بواسطة خط أنابيب.والتردد القصوى التي تم الحصول عليها بواسطة خط أنابيب مع أقل من القضية دون النقل بواسطة خط أنابيب.
!!!؟؟؟

 
مع Xilinx إف بي جي إيه مثل المتقشف - 3 - Virtex وثانيا ، يجب عليك أن تكون أكثر حذرا عند مضاعفات النقل بواسطة خط أنابيب.انه يحتاج الى مزيد من سجلات مما كنت تتوقع عادة.تدرس بعناية التوليف والنتائج توقيت لرؤية ما يحدث.

أنا متأكد من أسيك تقنيات مختلفة.

مع Xilinx الأدوات ، يمكنك استخدام العادي * -- فيريلوج مشغلي instantiating بدلا من وحدات حسابية.وأعتقد أنه يجعل رمز أسهل للقراءة.

بالمناسبة ، يمكنك القيام به الضرب المعقدة مع 3 و 5 مضاعفات الحيات.

 
اقتباس :

بالمناسبة ، يمكنك القيام به الضرب المعقدة مع 3 و 5 مضاعفات الحيات.
 
على سبيل المثال
س = أ ثنائية
ص = ج دي
= ميلان الحقيقي - دينار بحريني
ايم = (أ ب) (ج د) ، سي دينار بحريني
ربما كان السبب في تأخير بين أقصى مراحل هي نفسها ، وأنها لا تتغير ولو كنت أضاف مرحلة اضافية
بالمقارنة مع هيكل unpipeline ، strucure خط أنابيب excute نفسها تعمل في دورات عدة ، بحيث يمكن أن تكون وتيرة أسرع ،
كما لرمز الخاص بك ، على الرغم من إضافة مرحلة اضافية ، ولكن تعمل على الحد الأقصى لأميل مسار الانخفاض

 
ما هو نوع إف بي جي إيه Xilinx الذي تستخدمه؟

ما هي تلك mult_piped وحدات cla8؟أدوات Xilinx لا تتضمن أي وحدات من هذا القبيل.بضع دقائق في وقت لاحق...يا إلهي ، هل تستخدم هذا؟
http://www.pldworld.com/_hdl/1/www.doulos.co.uk/models/model_9901.htm

أنا لم يدرس هذا القانون ، ولكن للوهلة الأولى أنها تبدو معقدة للغاية ، والنقل بواسطة خط أنابيب خاطئة لXilinx إف بي جي إيه.

هل حقا بحاجة فقط 4 - تكاثر بعض الشيء؟اعتقد ان احد Xilinx كتلة مضاعف يمكن أن يفعله اثنان الضرب الصغيرة في وقت واحد.

 
من جانب الطريق إلا إذا بت 4 المضاعف
وكلفة الأجهزة من 3 مضاعفات و5 الحيات
ربما لم يكن أفضل من مضاعفات 4 و 2 الحيات

 
اقتباس :هل حقا بحاجة فقط 4 - تكاثر بعض الشيء؟
اعتقد ان احد Xilinx كتلة مضاعف يمكن أن يفعله اثنان الضرب الصغيرة في وقت واحد.

 
انظر التطبيق علما 467 ، صفحة 6 ، "مضاعفين في مشاركة والبدائية".لم أحاول ذلك.
http://direct.xilinx.com/bvdocs/appnotes/xapp467.pdf

 

Welcome to EDABoard.com

Sponsor

Back
Top