يتم استخدام عبارات التعيين لدفع القيم على الشبكة. ويستخدم أيضا في نمذجة تدفق البيانات .
تتطلب إشارات نوع السلك أو نوع البيانات التخصيص المستمر للقيمة. طالما تم تطبيق بطارية +5 فولت على أحد طرفي السلك، فإن المكون المتصل بالطرف الآخر من السلك سيحصل على الجهد المطلوب.
يتم تحقيق هذا المفهوم من خلال بيان التخصيص حيث يمكن تشغيل أي سلك أو سلك آخر مشابه (أنواع البيانات) بشكل مستمر بقيمة. يمكن أن تكون القيمة ثابتة أو تعبيرًا يتكون من مجموعة من الإشارات.
بناء الجملة
يبدأ بناء جملة التخصيص بالكلمة الأساسية تعين، متبوعة باسم الإشارة، والذي يمكن أن يكون إما إشارة أو مجموعة من شبكات الإشارة المختلفة.
ال قوة القيادة و تأخير تعتبر اختيارية وتستخدم في الغالب لنمذجة تدفق البيانات بدلاً من تجميعها في أجهزة حقيقية.
يتم تقييم الإشارة الموجودة على الجانب الأيمن وتخصيصها للشبكة أو التعبير عن الشباك على الجانب الأيسر.
assign = [drive_strength] [delay]
تعتبر قيم التأخير مفيدة لتحديد تأخيرات البوابات وتستخدم لنمذجة سلوك التوقيت في الأجهزة الحقيقية. تحدد القيمة متى يجب تعيين الشبكة بالقيمة المقدرة.
قواعد
يجب اتباع بعض القواعد أثناء استخدام عبارة التعيين:
- يجب أن يكون LHS دائمًا عدديًا أو متجهًا أو مزيجًا من الشبكات العددية والمتجهة ولكن ليس سجلًا عددًا أو متجهًا.
- يمكن أن يحتوي RHS على سجلات عددية أو متجهة واستدعاءات دالة.
- عندما يتغير أي معامل على RHS في القيمة، سيتم تحديث LHS بالقيمة الجديدة.
- تُسمى عبارات التعيين أيضًا بالمهام المستمرة.
تعيين متغيرات ريج
لا يمكننا القيادة أو التعيين ريج اكتب المتغيرات باستخدام عبارة تعيين لأن متغير reg قادر على تخزين البيانات ولا يتم تشغيله بشكل مستمر.
لا يمكن تشغيل إشارات Reg إلا في كتل إجرائية مثل دائمًا ومبدئيًا.
التعيين المستمر الضمني
عندما يتم استخدام عبارة تعيين لتعيين الشبكة المعطاة ببعض القيمة، فإنها تسمى صريحة تكليف
إذا تم الإعلان عن مهمة يجب القيام بها أثناء الشبكة، فإنها تسمى ضمني تكليف.
wire [1:0] a; assign a = x & y; // Explicit assignment wire [1:0] a = x & y; // Implicit assignment
التصميم المنطقي التوافقي
خذ بعين الاعتبار الدائرة الرقمية التالية المصنوعة من البوابات التوافقية وما يقابلها فيريلوج شفرة.
يتطلب المنطق التوافقي أن تكون المدخلات مدفوعة بشكل مستمر للحفاظ على المخرجات، على عكس العناصر المتسلسلة مثل الوجه المتأرجح حيث يتم التقاط القيمة وتخزينها على حافة الساعة.
يفي البيان المخصص بالغرض لأنه يتم تحديث الإخراج o كلما تغير أي من المدخلات الموجودة على الجانب الأيمن.
// This module takes four inputs and performs a Boolean // operation and assigns output to o. // logic is realized using assign statement. module combo (input a, b, c, d, output o); assign o = ~((a & b) | c ^ d); endmodule
تخطيطي للأجهزة
بعد تفصيل التصميم وتوليفه، تتصرف الدائرة التوافقية بنفس الطريقة التي تم تصميمها بواسطة بيان التعيين.
تصبح الإشارة o 1 عندما يصبح التعبير التوافقي على RHS صحيحًا.
وبالمثل، تصبح o 0 عندما تكون قيمة RHS خاطئة. الإخراج o هو X من 0ns إلى 10ns لأن المدخلات تكون X خلال نفس الوقت.