النماذج: كيفية إعداد الساعة 27 ميجا هرتز

StackOverflow https://stackoverflow.com/questions/4326498

  •  29-09-2019
  •  | 
  •  

سؤال

أريد إعداد إشارة الساعة 27 ميجا هرتز في النماذج. عادةً ما أقوم بإعداد ساعة بالنقر بزر الماوس الأيمن على هذه الإشارة -> ساعة -> فترة الإعداد. على سبيل المثال ، الساعة 50 ميغاهيرتز -> 20 نانو ثانية أو استخدمت بيان القوة.

نظرًا لأن الساعة 27 MHz خاصة ، فهي ليست فترة عدد صحيح ، إذا قمت بإعداد الساعة بقيمة APPX ، فإنها تواجه دائمًا مشكلات توقيت.

لذا ، كيف يمكنني إعداد هذه الساعة؟

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

المحلول

ساعاتك غير متزامنة. أنت إرادة دائمًا ما يكون لديك "مشكلات توقيت" - إذا كانت حوافك على مدار الساعة تقترب جدًا من بعضها البعض (كما تفعل في بعض الأحيان) في بعض الأحيان) ، فإن بعض التقلبات الخاصة بك ستظهر قابلية النقيض.

تحتاج إلى إعادة مزامنة إشارات مجال 27 ميجاهرتز إلى مجال 50 ميجاهرتز ، قبول وتخفيف حقيقة أن التزامن في بعض الأحيان سيكون خطأ. هناك تقنيات لتقليل قيمة "أحيانًا" إلى قيمة صغيرة كما تعتقد أنها مناسبة لنظامك ، لكنك لن تتخلص منها أبدًا.

نرى FPGA-FAQ 0017 ، أخبرني عن الانفصال.

نصائح أخرى

إذا كان استخدام كلا المجالين (50 ميغاهيرتز ، 27 ميغاهيرتز) أمر لا بد منه ، فعليك تنفيذ دوائر التزامن في كل intrace بين المجالين:

Signal changes_at50;
Signal read_at27;

أنت لا تكتب:

read_at27 <= changes_at50;

ولكن نعلقهم من خلال دائرة المزامنة. (أو غير متزامن FIFO.)

عادة ما تكون دوائر التزامن متتالية تقلبًا لتقليل الوفاة التي تنشأ بين مجالات الساعة. المزيد من التتاليات يقلل بشكل أفضل من استقرار التعريف ، ولكن يزيد من زمن انتقال البيانات. إنه اختيار تصميم.

إذا كنت تقوم بتشغيل SIM وظيفي مع ساعة واحدة فقط ، فإن الفترة الدقيقة من الساعة ليست مهمة جدًا طالما أن مدخلات النظام والمخرجات يتم تسجيلها بنفس المعدل.

أقترح اختيار فترة ساعة بالقرب من فترة المستهدف ، وتوسيع نطاق مصادر البيانات الخاصة بك بشكل مناسب.

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