ژنریک ها در برنامه نویسی VHDL

ژنریک ها سازوکارهای عمومی ارسال اطلاعات به یک موجودیت می باشند. این اطلاعات می توانند از انواع مجاز در VHDL باشند.

طراح چه اطلاعاتی را به یک موجودیت ارسال می کند؟ بدیهی ترین و شاید پرکاربردترین اطلاعات ارسالی به موجودیت زمان های تاخیر صعود و نزول قطعه ای است که مدل سازی می شود.

learning VHDL

از ژنریک ها برای ارسال انواع تعریف شده توسط کاربر، از جمله اطلاعاتی مانند ظرفیت خازنی و مقاومت بار نیز استفاده می شود. پارامترهای سنتز از قبیل پهنای مسیر داده، پهنای سیگنال و غیره را نیز می توان از طریق ژنریک ها ارسال کرد.

تمام داده های ارسالی به یک موجودیت اطلاعات خاص نمونه می باشند. مقادیر داده های به نمونه ای که داده ها به آن ارسال می شوند وابسته است. به این طریق طراح می تواند مقادیر مختلفی را به نمونه های متفاوت در یک طرح ارسال کند.

داده های ارسالی به یک نمونه داده های ایستا می باشند. پس از تشریح دقیق جزئیات مدل (پیوند دادن به شبیه ساز)، داده ها در طی شبیه سازی تغییر نمی کنند.

ژنریک ها نمی توانند اطلاعات را در حین اجرای شبیه سازی تخصیص دهند. اطلاعات ژنریک های ارسال شده به یک نمونه قطعه یا یک بلوک می تواند نتایج شبیه سازی را تغییر دهند. اما نتایج نمی توانند ژنریک ها را تغییر دهند.

در پایین مثالی از یک موجودیت برای یک گیت AND ارائه شده که سه ژنریک به آن مربوط شده است:

 

 

طراح مقادیر تاخیرهای صعود و نزول و نیز بار خروجی قطعه را به موجودیت ارسال می کند. با این اطلاعات، گیت AND به درستی در طرح مدل سازی می شود. معماری گیت AND به صورت زیر است:

 

 

معماری برای ذخیره a و b یک سیگنال محلی به نام internal اعلان می کند. بکارگیری مقادیر از پیش محاسبه شده در نمونه های چندگانه روش بسیار کارآمدی برای مدلسازیست.

مقادیر ژنریک های rise ، fall و load را دستور نمونه سازی قطعه ارسال می کند. حال بخشی از مدل را بررسی می کنیم که قطعاتی از نوع AND2 را در مدلی دیگر نمونه سازی می کند:

 

 

دستور معماری نخست قطعات مورد استفاده در مدل را اعلان می کند.

در این مثال، قطعه AND2 اعلان شده است. سپس، بدنه دستور معماری دو دستور نمونه سازی برای قطعات U1 و U2 دارد. درگاه a قطعه U1 به سیگنال ina ، درگاه b به سیگنال inb و درگاه c به سیگنال out1 تصویر شده اند. به همان ترتیب، قطعه U2 به سیگنال های inc ، ind و out2 تصویر شده است.

مقادیر ژنریک های rise ، fall و load نمونه U1 به ترتیب به ۱۰ و ۱۲ و ۳ نانو ثانیه تصویر شده اند. مقادیر این ژنریک ها برای U2 نیز به ترتیب به ۹ و ۱۱ و ۵ نانوثانیه تصویر شده اند.

همچنین ژنریک ها می توانند مقادیر پیش فرض داشته باشند که با نگاشت مقادیر واقعی به ژنریک ها خنثی می شوند. مثال بعدی دو نمونه از قطعه AND2 را نشان می دهد.

در نمونه U1 ، مقادیر واقعی به ژنریک ها تصویر شده و در شبیه سازی استفاده می شوند، در نمونه U2 مقداری به نمونه تصویر نمی شود و اگر مقادیر پیش فرض مشخص باشند از آنها برای کنترل رفتار شبیه سازی استفاده می شود، در غیر این صورت خطایی رخ می دهد.

 

 

همان طور که مشاهده شد، ژنریک ها کاربرد زیادی دارند. کاربرد ژنریک ها فقط با قوه ابتکار نویسنده مدل محدود می شود.



[ برچسب ها ] : , , , ,
ارسال شده در : بخش الکترونیک
نظر شما در مورد اين پست چيست ؟

یک دیدگاه نوشته شده است! می توانید دیدگاه خود را بنویسید

دیدگاه خود را به ما بگویید.

 
 
  دکتری تخصصی برق الکترونیک
طراح مدارهای الکترونیکی
برنامه نویس انواع میکروها
مشاوره و اجرای لینک های وایرلس
پیاده سازی سیستم های مبتنی بر شبکه
E_mail: electronic@sabzelco.ir
Tel: 09150462401
توسعه دهنده برنامه های سمت سرور

طراحی و برنامه نویسی سایت و پرتال های حرفه ای

E_mail: computer@sabzelco.ir
Tel: 09371974233