زبان سخت افزاری Verilog HDL چیست؟ - نسخهی قابل چاپ +- تالار گفتگوی کیش تک/ kishtech forum (http://forum.kishtech.ir) +-- انجمن: پردیس فناوری کیش (http://forum.kishtech.ir/forumdisplay.php?fid=1) +--- انجمن: فناوری اطلاعات و ارتباطات (http://forum.kishtech.ir/forumdisplay.php?fid=6) +--- موضوع: زبان سخت افزاری Verilog HDL چیست؟ (/showthread.php?tid=44733) |
زبان سخت افزاری Verilog HDL چیست؟ - علي پروازي لطفي - 08-09-2020 پردیس فناوری کیش _طرح مشاوره متخصصین صنعت ومدیریت _دپارتمان فناوری اطلاعات وارتباطات Verilog HDL یک زبان توصیف سخت افزاری است که برای مدل سازی و شبیه سازی سیستم های دیجیتالی استفاده می شود. Verilog HDL در لایه های چندگانه ای از انتزاع ، در قالب های متنی استاندارد ، برای گونه های مختلفی از ابزارهای (IEEE95) به طور موثر و قابل درک و به سهولت قابل طراحی است. این زبان به وسیله پیل موربی در کنفرانس طراحی اتوماتیک gateway در سال ۱۹۸۴ معرفی شد و در سال ۱۹۹۵ موفق به کسب استاندارد IEEE95 شد .بعد از اینکه مرحله استاندارد سازی کامل شد و در جامعه تثبیت شد ، در استاندارد IEEE 2001 – ۱۳۶۴ (IEEE01 ) اصلاح و تعدیل شد . چهار چوب و متدلوژی برای نمونه سازی و شبیه سازی ، هدف کلی زبان verilog است.
هدف اصلی این زبان توصیف دو دید گاه مهم زیر می باشد :
Levels of systym specification : چگونگی کارکرد سیستم های دیجیتالی را و مکانیزم هایی که باعث کار آن می شود را شرح می دهد .
System specification formalism : طراح می تواند از تجرید برای نمایش دادن مجتمع سازی در مقیاس بسیار بزرگ (VLSI) یا سیستم های دیجیتال استفاده کند .
چرا از Verilog HDL استفاده می کنیم ؟
اگر وارد جزئیات شویم سیستم های دیجیتالی به شدت پیچیده هستند ، طراحی VLSI ممکن است شامل میلیون ها عنصر باشد . زبان verilog طراحی های دیجیتالی ایجاد می کند که با توانائی هایشان یک سیستم دیجیتال را در دامنه وسیعی از انتزاع شرح می دهند. همچنین ، دسترسی به ابزار طراحی به وسیله کامپیوتر را فراهم می کند تا به فرآیند طراحی در این سطح ها کمک کند .
هدف اصلی این مقاله طراحی محاسبات کامپیوتری مسیر داده و همچنین استفاده verilog برای توصیف دقیق عملکرد سیستم های دیجیتالی است .verilog یک روش عالی برای نمونه سازی مدارها در جهت پیاده سازی VLSI با استفاده از مکان و مسیر برنامه هاست و اجازه می دهد مهندسین مدارهای منطقی و طراحی بندی VLSI را بهینه سازی کنند ، که این کار باعث افزایش سرعت و کاهش فضا در تراشه های VLSI می شود . بنابراین دانستن verilog باعث می شود طراحی VLSI وسیستم های دیجیتالی بسیار کارآمد شود و ابزار مفیدی است برای تمامی مهندسان ، زیرا استفاده از این زبان آسان بوده و کامپایلرهای verilog مانند نوع تجاری آن به راحتی در دسترس می باشند و انتخابی بسیار خوب برای طراحان verilog می باشد.
هدف اصلی این متن استفاده از verilog برای فهمیدن الگوریتم ها است .
با این حال ، الگوریتم های زیادی برای محاسبه محاسبات ریاضی در سیستم های دیجیتالی موجودند، تنوع گوناگونی از طراحی ها تلاش می کنند که پهنای وسیعی از عقیده های بسیار زیادی را در مورد طراحی مسیر داده محاسبات کامپیوتری بیان کنند . چندین حوضه مهم از محاسبات دیجیتالی ، مانند باقی مانده سیستم عددی ، محاسبات مربوط به قدر مطلق ، جذر و معکوس جذر ، محاسبه توان های کوچک ، موضوع این متن نیستند . به عبارت دیکر این الگوریتم ها فقط در محدوده محاسبات دیجیتال مهم می باشند .
ابزار بیشماری در زمینه خودکار سازی طراحی های الکتریکی وجود دارند (EAD) که تلاش می کنند بسیاری از طراحی های ارائه شده در این مقاله را مکانیزه کنند . با این حال ، برای تولید کننده EAD باور نکردنی است که وسیله ای تولید کند که همه آرایشات ممکن را داشته باشد و یا محاسبات کامپیوتری دیجیتال را ترفیع دهد.
با این دانش ، مهندسین می توانند بطور بالقوه از ابزار EDA در تکمیل قطعاتشان و حتی برای تکمیل محصولی که این ابزارها ایجاد کرده اند استفاده نمایند . اما برای یک مهندس VLSI استفاده از ابزار EDA برای تولید یک الگوریتم بدون اینکه آن را بفهمد معقول نیست .
طراحی مسیر داده
طراحی های این متن بیشتر در جهت ارزیابی طراحی ها هستند . به عبارت دیگر ، پیاده سازی طراحی ها و الگوریتم ها را انجام داده و عاملیت، از یک عملکرد طراحی یا پتانسیل همه سناریوها یا زاویه ها می باشد. در نتیجه، زمانیکه یک مدل تابعی می نویسیم ، بسیاری از طراحان کد را به قسمتهای کنترل و مسیر داده تفکیک می کنند. مسیر داده بر روی جریان داده بیت های چند گانه عمل می کند و ارتباطات منظمی دارد با این حال نوشتن در مسیر داده اغلب مواقع تصادفی است . بنابراین ، نوشتن های گوناگون نشان می دهد که ابزارهای مختلفی استفاده می شوند تا قسمت های مختلفی حمایت شود . این متن فقط بر روی طراحی مسیر داده متمرکز می شود و چون طراحی آن خیلی منظم و بسیار پیچیده است و زمان بسیار زیادی را می گیرد ، وبا در نطر گرفتن اینکه کنترل منطقی مستقیم بوده وپیچیدگی کمتری دارد ، به همین خاطر سیم کشی قسمت کنترل را از سیم کشی مسیر داده تفکیک می کنند . سیم کشی کنترل با حروف پر رنگ لیبل گذاری شده و از خط نقطه چین در مقابل خط ممتد استفاده می کند . نکته مهم دیگر که در الگوریتم های این متن ارائه شده است این است که تلاش می کند تا جنبه های الگوریتمی را در هر پیاده سازی توصیف کند .
همانطور که قبلا شرح داده شد یک پیاده سازی سطح مدار را به خوبی روش الگوریتمی آن مورد توجه قرار می دهد. به عنوان مثال ، یک جمع کننده ریپل کری معمولا پیاده سازی می شود در VLSI در مقابل با جمع کنند carry lookahead carry propagateبرای اینکه پیاده سازی مدار اجازه میدهد تا بهره برداری کارآمدی از نواحی علیه تاخیر داشته باشد .
و با مقدمه ای از carry-propagate adder parallel- prefix ، توانایی پیاده سازی جمع کننده ها با یک بیت اتصال دو طرفه ، با کمترین طول سیم ممکن می شود . بنابر این ، برای یک طراح مهم است که بداند چگونه یک طراحی معین به صورت الگوریتمی انجام می گیرد بطوریکه مزایای مدار مفروض می تواند برای پیاده سازی مفید باشد .برای کمک به مشخص شدن طراحی ها در این متن هر پیاده سازی با نواحی بدون تاخیر ارزیابی خواهد شد . برای اینکه مطمئن شویم که هر پیاده سازی بدون هیچ بایاسی مقایسه می شود ، در طراحی ها فقط از گیت های and,or,not استفاده می کنیم مگر در حالت های خاص . با این روش ، پیاده سازی هر الگوریتم می تواند مقایسه شود بدون اشتباه گرفتن پیاده سازی با یک مدار مفید . .قبلا مزایا و اشکالات الگوریتمی شناخته شده است ، یک طراح VLSI می تواند با یک قضاوت دقیق دریابد که پیاده سازی یک مدار چگونه از یک الگوریتم معین سود خواهد برد. استفاده از گیت های اضافی مانند گیت xor باعث افزایش سطح یک مدار معین می شود . توان ، امروزه یک بخش مهم در هر طراحی است که در این مقاله ملاحظه نمی گردد . علاوه بر این ، طراحی هایی که در این متن به کنترل زمانبندی نیاز دارند از فلیپ فلاپ ساده D مبتنی بر الگوریتم رجیستر استفاده خواهند کرد . امروزه اکثر طراحی ها از لچ ها استفاده می کنند تا از مزایای زمانبندی مانند مالتی فازها ، cloking ویا time brrowing ها استفاده کنند . برای برخی طراحی ها ، مساحت بر مبنای تعداد گیت هایی که شامل گیت های پایه and,or,not هستند محاسبه می شود . تاخیر بعضی مواقع خیلی پیچیده بوده و با ∆ مشخص می شود. اگر چه یک نفر می تواند بحث کند که اعداد واقعی نیستند ولی هزینه هر پیاده سازی را نشان می دهندکه می تواند اجازه یک مقایسه الگوریتمی خوب را بدهد . ممکن است که همه پیاده سازی ها به وسیله میزان تاخیر یکسان مقایسه شوند ، تغییر دادن این شماره تاخیر ها بطوریکه خیلی سودمند (عملی) هستند شروع به آدرس دهی محدودیت های سطح مدار می کند . source:https://tarjomefa.com
|