Verilog HDL یک زبان توصیف سخت افزاری است که برای مدل سازی و شبیه سازی سیستم های دیجیتال به کار می رود. Verilog HDL در چندین لایه مفهومی، در قالبهای متن استاندارد. برای انواع مختلف ابزارها (IEEE95) می توانند به طور موثر و قابل فهم طراحی و به طور کارآمد طراحی شوند.
این زبان توسط Peel Morby در کنفرانس طراحی خودکار گیت وی در سال ۱۹۸۴ ارائه شد و در سال ۱۹۹۵ به استاندارد IEEE95 دست یافت. پس از ساخت و نصب مرحله استاندارد سازی در جامعه، در استاندارد IEEE 2001 – 1985 (IEEE01) معرفی و اصلاح شد. و تغییر کرد. چارچوب و روش برای نمونه سازی و شبیه سازی هدف کلی زبان Verilog HDL است.
هدف اصلی این زبان نشان دادن دو دیدگاه حیاتی زیر است:
- Levels of system specification: نحوه عملکرد سیستم های دیجیتال و مکانیسم هایی را که باعث کارکرد آن ها می شود را مشخص می کند.
- System specification formalism: طراح می تواند از انتزاع برای نمایش یکپارچه سازی در مقیاس بسیار بزرگ (VLSI) یا سیستم های دیجیتال استفاده کند.
دلیل استفاده از Verilog HDL چیست؟
اگر به جزئیات بپردازیم، سیستم های دیجیتالی فوق العاده پیچیده هستند و طراحی VLSI ممکن است دارای میلیون ها عنصر باشد. زبان Verilog HDL طرحهای دیجیتالی ایجاد میکند که با قابلیتهای خود، یک سیستم دیجیتال را در طیف وسیعی از انتزاعات توصیف میکنند. همچنین دسترسی به ابزارهای طراحی به کمک رایانه را برای کمک به فرآیند ایجاد در این سطوح فراهم می کند.
هدف اصلی این مقاله طراحی محاسبات مسیر داده های کامپیوتری و استفاده از Verilog HDL برای توصیف دقیق عملکرد سیستم های دیجیتال است. و طراحی VLSI را بهینه کنید، که باعث افزایش سرعت و کاهش فضا در تراشه های VLSI می شود. بنابراین، دانستن Verilog HDL طراحی VLSI و سیستم های دیجیتال را برای همه مهندسان بسیار کارآمد و مفید می کند زیرا استفاده از این زبان آسان است. کامپایلرهای Verilog HDL مانند نوع قابل فروش آن به راحتی در دسترس هستند و برای طراحان Verilog HDL عالی هستند.
هدف اصلی زبان سخت افزاری Verilog HDL چیست؟
هدف اصلی این موضوع استفاده از Verilog HDL برای درک الگوریتم ها است. با این حال، الگوریتم های زیادی برای محاسبه محاسبات ریاضی در سیستم های دیجیتال وجود دارد. طرحهای مختلف سعی میکنند طیف گستردهای از ایدهها را در مورد طراحی دادههای مسیر کامپیوتری بیان کنند – چندین حوزه مهم محاسبات دیجیتال، مانند بقیه سیستم عددی. تخمین قدر مطلق، جذر و معکوس و محاسبه توان های جزئی موضوع این متن نیست. به عبارت دیگر، این الگوریتمها فقط در زمینه محاسبات دیجیتالی حیاتی هستند.
ابزارهای متعددی در زمینه اتوماسیون طراحی الکتریکی (EAD) وجود دارد که سعی دارد بسیاری از طرح های ارائه شده در این مقاله را مکانیزه کند. صرف نظر از این، برای یک سازنده EAD غیرقابل تصور است که دستگاهی با تمام طرحبندیهای ممکن تولید کند یا محاسبات دیجیتال را تقویت کند.
با این دانش، مهندسان می توانند به طور بالقوه از ابزارهای EDA برای تکمیل قطعات خود و حتی برآورده کردن محصولات این ابزارها استفاده کنند. اما منطقی نیست که یک مهندس VLSI از ابزار EDA برای تولید یک الگوریتم بدون اینکه متوجه باشد استفاده کند.
بیشتر بخوانید: بدافزار چیست؟ آشنایی کامل با مفاهیم malware و badware
طراحی مسیر داده (Datapath)چگونه است؟
طرح های این متن در درجه اول برای ارزیابی روش ها هستند. به عبارت دیگر، رویه ها و الگوریتم ها را پیاده سازی می کند. و آژانس یک تابع طراحی یا امکان همه سناریوها یا زوایا است. در نتیجه، وقتی یک مدل عملی می نویسیم، بسیاری از طراحان کد را به بخش های کنترل و مسیر داده تقسیم می کنند. مسیر داده بر روی یک جریان داده چند بیتی عمل می کند و دارای اتصالات منظم است. با این حال، نوشتن در مسیر داده اغلب تصادفی است.
بنابراین، نوشته های مختلف نشان می دهد که ابزارهای دیگر از قسمت های مختلف پشتیبانی می کنند. این متن فقط بر طراحی مسیر داده متمرکز است. از آنجایی که طراحی آن بسیار منظم و پیچیده است و زمان زیادی را صرف می کند، با توجه به اینکه کنترل منطقی ساده و پیچیدگی کمتری دارد، سیم کشی قسمت کنترل مسیر داده را از سیم کشی جدا می کند. سیم کشی کنترل با حروف رنگارنگ برچسب گذاری شده است و از خط نقطه چین در جلوی خط پیوسته استفاده می کند.
یکی دیگر از نکات ضروری ارائه شده در الگوریتم های این متن این است که سعی شده جنبه های الگوریتمی در هر اجرا توضیح داده شود.
همانطور که قبلا توضیح داده شد، اجرای سطح مدار به روش الگوریتمی خود توجه خوبی دارد. به عنوان مثال، یک کالکتور حامل امواج معمولاً در VLSI بهجای حمل انتشار پیشبینی اجرا میشود، زیرا پیادهسازی مدار امکان استفاده کارآمد از مناطق در برابر تأخیر را میدهد.
امروزه قدرت بخشی جدایی ناپذیر از هر طراحی است که در این مقاله به ان اشاره شده است. علاوه بر این، رویه هایی که نیاز به کنترل زمان بندی در این متن دارند، از یک فلیپ فلاپ D ساده بر اساس الگوریتم رجیستری استفاده می کنند. امروزه، بیشتر طرحها از چفتها برای استفاده از کمکهای زمانبندی مانند چند فاز، ساعت، یا مرور زمان استفاده میکنند. برای برخی از سیستم ها، مساحت بر اساس تعداد دروازه هایی که دارای پایه هستند و یا نه دروازه ها تخمین زده می شود.
علاوه بر این ، طراحی هایی که در این متن به کنترل زمانبندی نیاز دارند از فلیپ فلاپ ساده D مبتنی بر الگوریتم رجیستر استفاده خواهند کرد . امروزه اکثر طراحی ها از لچ ها استفاده می کنند تا از مزایای زمانبندی مانند مالتی فازها، cloking و یا time brrowing ها استفاده کنند . برای برخی طراحی ها ، مساحت بر مبنای تعداد گیت هایی که شامل گیت های پایه and,or,not هستند محاسبه می شود.
تاخیر بعضی مواقع خیلی پیچیده بوده و با ∆ مشخص می شود. اگر چه یک نفر می تواند بحث کند که اعداد واقعی نیستند ولی هزینه هر پیاده سازی را نشان می دهندکه می تواند اجازه یک مقایسه الگوریتمی خوب را بدهد . ممکن است که همه پیاده سازی ها به وسیله میزان تاخیر یکسان مقایسه شوند ، تغییر دادن این شماره تاخیر ها بطوریکه خیلی سودمند (عملی) هستند شروع به آدرس دهی محدودیت های سطح مدار می کند