وبسایت شخصی بابک بدریان

زبان توصیف سخت افزار

HDL یا زبان توصیف سخت افزار چیست؟

زبان توصیف سخت افزار (HDL یا Hardware Description Language) یک زبان کامپیوتری اختصاصی برای برنامه ریزی مدارهای الکترونیکی و به خصوص مدارهای منطقی دیجیتالی می باشد. ساختار، عملکرد، و طراحی مدارها با استفاده از HDL قابل برنامه ریزی می باشد. HDL شامل توصیفی متنی می باشد که از عملگرها، توضیحات، ورودی ها و خروجی ها تشکیل شده است. به جای ایجاد یک فایل قابل اجرای کامپیوتری، کامپایلرهای HDL یک نقشه گیت ارائه می کنند. سپس این نقشه گیت که بدست آمده است در وسیله برنامه نویسی دانلود می شود که عملیات های مدار مطلوب را بررسی کند. این زبان به توصیف هر مدار دیجتالی به شکل سطح ساختاری، رفتاری و گیت کمک می کند و زبان برنامه نویسی عالی ای برای FPGA ها و CPLD ها می باشد.

تذکر: HDL ها یک زبان برنامه نویسی نیستند و با آنها متفاوتند.

زبان توصیف سخت افزار بسیار شبیه به زبان های برنامه نویسی مانند C است. هر دو توصیف متنی هستند که از عبارات، حالات، و ساختارهای کنترلی ساخته شده اند. یک تفاوت عمده بین زبان های برنامه نویسی و HDL ها این است که HDL ها دارای “مفهوم زمان” هستند.

HDL ها بخشی ضروری از سیستم های اتوماسیون طراحی الکترونیک (EDA) هستند، به خصوص برای مدارهای پیچیده مانند ASIC ها، میکروپروسسورها، و قطعات منطقی قابل برنامه ریزی.

HDL های مختلفی وجود دارد که دو زبان رایج آن VHDL و Verilog می باشد؛ زبان های متنوع دیگری هم وجود دارند (مانند SystemC) که خیلی کمتر استفاده می شوند. HDL ها طراحی سریع و چک کردن بهتر را ممکن می سازند.

زبان توصیف سخت افزار

 

نیاز به HDL ها

از دهه 1970 میلادی، IC ها و مدارهای الکترونیکی دیجیتالی بسیار پیچیده تر شدند. مشکلی که به وجود آمد فقدان یک زبان برنامه نویسی بهتر بود برای طراحی موازی نرم افزار و سخت افزار. طراحی مدارهای دیجیتالی پیچیده نیاز به زمان بیشتری برای توسعه، synthesis، شبیه سازی، و دیباگ کردن دارند. ورود HDL ها این مشکل را این گونه حل کرد که به هر ماژول اجازه می دهد به صورت یک تیم مجزا کار کند.

همه اهداف مانند توان، تاخیر، پوشش تست، کاربردی بودن و مصرف ناحیه که برای طراحی لازم هستند را می توان با استفاده از HDL بهتر شناخت. درنتیجه، طراح می تواند بده بستان های مهندسی ضروری ایجاد کند و می تواند طراحی را به صورتی بهتر و موثرتر توسعه دهد.

مزیتهای HDL:

مزیت اصلی زبان HDL ، طراحی سریع و verification بهتر می باشد. طراحی بالا-به-پایین و طراحی سلسله هرمی (سلسله مراتبی) باعث می شود زمان طراحی و هزینه طراحی و خطاهای طراحی کاهش یابند. مزیت مهم دیگر این زبان در خصوص طراحی های پیچیده است، که می توانند به راحتی مدیریت و چک شوند. HDL ، اطلاعات زمان بندی را ارائه می کند و به طراحی اجازه می دهد که در سطح گیت و سطح انتقال رجیستر تعریف شود. قابلیت بازاستفاده منابع هم یکی دیگر از مزیتهای مهم آن است.

مقایسه بین HDL و زبان C

زبان های برنامه نویسی C و اسمبلی برای این خوب هستند که به CPU بگویند چه کاری انجام دهد. آنها کارهایی را که باید به صورت ترتیبی توسط یک دستگاه انجام شود را توصیف می کنند.

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

اگر شما از یک CPU (مثلا میکروکنترلرها) استفاده می کنید بهتر است از زبان های برنامه نویسی (مانند C) استفاده کنید. اما اگر یک FPGA دارید یا در حال طراحی ASIC هستید بهتر است از HDL استفاده کنید.

 

منبع 1؛ منبع 2؛ منبع 3


منتشر شده

در

توسط

برچسب‌ها:

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *