سؤال

مرحبا، أنا حقا بحاجة إلى مساعدة في هذا cuz دفع لي مجنون im باستخدام سبارتان 3E وما يلي هو ملف .v ل FIFO وبعد هذا الملف .cf ... أنا فقط أتساءل لماذا لا أستطيع الكتابة / قراءة إلى الذاكرة حتىعلى الرغم من أنني لا أحصل على أخطاء عندما أقوم بإنشاء الملف الثنائي والبرمجة FPGA !!


giveacodicetagpre.
giveacodicetagpre.
هل كانت مفيدة؟

المحلول

حسنا، لقد جربت ذلك على متن لوحة DE0 نانو التي تستخدم جزءا من Altera Cyclone IV وكان قادرا على تحقيقه للعمل، لذلك منطقك جيد. الشيء الوحيد الذي قمت بإضافته هو اكتشاف حافة للحصول على إشارات RD و ER.

مع الكود الحالي الخاص بك (ولوحة بلدي) عند ضغط التبديل، كنت أحصل على العديد من القراءات المتجاورة أو يكتب. لذا فإن الصحافة الفردية من مفتاح WR قد تملأ FIFO وصحكة واحدة من مفتاح القراءة تفريغ FIFO.

قمت بإعادة تسميته إشارة إدخال RD الخاصة بك إلى RD_IN وإشارة WR إلى WR_IN وأضاف التعليمات البرمجية التالية:

giveacodicetagpre.

والتي ستمنحك نبض RD / WR واحد فقط عند اكتشاف حافة عرضية من إشارات RD_IN أو WR_IN.

تأكد من انخفاض إشارات التبديل عند عدم الاكتئاب التبديل كما يبدو أنك تفترض. على لوحاتي، فإن مدخلات التبديل هي دائما عالية (مقاومات سحب) وانتقل فقط عند الاكتئاب التبديل. نظرا لأن الصحافة للمفتاح تنشئ شرطا منخفضا منطق اضطررت إلى قلب إشارات RD / WR للحصول عليها بشكل صحيح مع التعليمات البرمجية الخاصة بك.

آمل أن يساعد هذا!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top