فرمت فایل : word(قابل ویرایش)
تعداد صفحات:37
فهرست مطالب:
چکیده
مقدمه
مروری بر VHDL
فصل اول :
مروری بر تحقیقات گذشته
1-1 تراشه های قابل برنامه ریزی
فصل دوم :
روش تحقیق و مواد
1-2 طراحی مدار voter هوشمند
2-2 کد نویسی با VHDL و شبیه سازی بوسیله برنامه model sim
2-2-1 توصیف عملیاتی
2-2-1-1 عملیات بخش switching
2-2-1-2 عملیات بخش master _ slave
2-2-1-3 عملیات بخش Comparement
2-2-1-4 عملیات بخش ed _ om
2-2-1-5 عملیات بخش error finder
2-2-1-6 عملیات بخش data_ selector
2-2-2 کد نویسی در VHDL
2-2-2-1 کدنویسی بسته basic _ utility
2-2-2-2 کد نویسی بخش switch – cell
2-2-2-3 کد نویسی بخش switching
2-2-2-4 کد نویسی بخش d – ff – 2 bit
2-2-2-5 کد نویسی بخش ms – d – ff – 2 bit
2-2-2-6 کد نویسی بخش ms – block
2-2-2-7 کد نویسی بخش m – s – block
2-2-2-8 کدنویسی بخش ed – om
2-2-2-9 کد نویسی بخش error – finder
2-2-2-10 کد نویسی بخش data – selector
2-2-3 کامپایل و شبیه سازی
2-3 استاندارد کردن قطعه کدها و آنالیز آنها توسط FPGA express
2-4 تولید طرح سطح گیت بوسیله FPGA express
2-5 استخراج فایل Net list بوسیله FPGA express
2-6 طریقه سنتز بوسیله Foundation 2.1
2-7 فاز اجرایی در برنامه foundation 2.1
2-8 پیکر بندی روی تراشه XC4005XL توسط Foundation 2.1
چکیده
شبیه سازی و پیاده سازی مدار سخت افزار پایه به کمک VHDL .
در این پروژه یک مدار سخت افزاری با 17 ورودی و 2 خروجی از نوع qit کد نویسی و شبیه سازی شده و برای پیکربندی روی چیپ های FPGA یا CPLD آماده شده است .
کد نویسی این مدار بوسیله زبان VHDL و شیه سازی آن بوسیله نرم افزار model sim صورت گرفته است . مراحل آنالیز و سنتز قطعه کد های VHDL توسط دو برنامه foundation 2.1و FPGA express از شرکت xilinx انجام شده است .
در صفحات بعدی این مقاله هر قسمت از روال فوق را که عبارت اند از : کد نویسی اولیه و مشکلات کامپایل ، آنالیز قطعه کدهای غیر استاندارد ، استاندارد کردن قطعه کدها و سنتز آنها می باشد . بطور کامل توضیح داده ام . همچنین در پایان در قسمت اجرایی نحوه تولید فایل باینری نهایی جهت برنامه ریزی روی چیپ XC4005XLPC84 که یک FPGA از خانواده XC4000XL است را مشاهده می کنید .
امید دارم با مطالعه این مقاله به اطلاعات شما در این زمینه افزوده شود .
مقدمه
طی چند دهه اخیر ،مدارهای الکترونیکی پیشرفت قابل ملاحظه ای داشته اند . با پیچیده تر شدن هرچه بیشتر این مدارها ،نیاز به یافتن روشهایی است که سیستمها را بتوان با مجتمع سازی و جزئیات بیشتر طراحی و پیاده سازی نمود. قطعات قابل برنامه ریزی و FPGA ها ،آی سی هایی هستند که به تبع این پیشرفتها به بازار عرضه شده اند . هزینه ساخت کم و جزئیات زیاد این آی سی ها نسبت به حجم آنها،همچنین قابلیت برنامه ریزی شدن این قطعات بوسیله برنامه های نرم افزاری معمول و نرم افزارهای طراحی شماتیک باعث افزایش کاربرد این قطعات شده است . چنین پیش بینی می شود که با وجود این پیشرفت،آینده در تسخیر این قطعات قرار گیرد تا جائیکه بتوان بوسیله آنها تمامی یک سیستم پیچیده را به سادگی طراحی و اجرا نمود .
در این میان زبان توصیف سخت افزاری VHDL نقش مهمی را در طراحی و شبیه سازی مدارات سخت افزاری به عهده دارد . در این قسمت لازم می دانم تا توضیحی اجمالی از نحوه عملکرد و مزایای این زبان به شما ارائه کنم .
مروری بر VHDL
VHDLروش توسعه یافتهای از توصیف رفتار سیستمهای منطقی به وسیله روابط منطقی است . این زبان بسیاری از مشخصه های روابط منطقی و روابط حالت را در درون خود دارد .
زبان VHDL امروزه به عنوان استاندارد صنعتی MIL STD 454L معرفی شده است و تمامی طرحهای ASIC مربوط به دپارتمان دفاع ایالت متحده آمریکا باید طبق این زبان استاندارد نوشته شوند .
این زبان به عنوان قسمتی از پروژه VHSIC (مدارهای مجتمع با سرعت خیلی بالا ) ارائه شده است و به وسیله آن می توان ASICهای پیچیده را بدون مراجعه به تکنولوژی مشخصی ،تعریف و شبیه سازی نمود . زمانی که یک مدار به وسیله این زبان تعریف می گردد . می توان آنرا به هر پروسه منطقی و یا بر روی ماژولهای طراحی شده توسط هریک از تولیدکننده های ابزارهای منطقی انتقال داد .
(VHSIC HDL) VHDL یک سیستم منطقی را بصورت ساختار بالا باپائین توصیف می کند . برای بدست آوردن توصیفی از یک سیستم به صورت ساختار بالا به پایین ،سیستم را به صورت مجموعة ای از زیرسیستمها تقسیم می کنیم که بوسیله یک سری رابطه به هم متصل می گردند هریک از این زیرسیستمهای بالایی را می توان به توابع و زیرسیستمهای کوچکتر تقسیم کرد . این عمل همچنان ادامه می یابد تا به پائین ترین سطح از سیستم دست بیابیم که در این سطح هریک از سیستم ها را می توان بوسیله گیتها و ماژولهای آماده دیگر طراحی نمود .
به این ترتیب ، بدلیل آنکه هریک از طبقات این ساختار منطقی به صورت یکتا مشخص شدهاند ،هریک از آنها را میتوان به تنهایی شبیه سازی نمود و تابع منطقی اجرا شده بوسیله آنها را آزمایش کرده و خطاهای احتمالی را برطرف نمود . ابتدا صحت عملکرد پایین ترین طبقه این سیستم را آزمایش کرده و با ترکیب زیر سیستمهای پایین تر به زیرسیستمهای پیچیده تر می رسیم تا جائیکه به طرح سیستم موردنظر که در بالاترین طبقه این ساختار وجود دارد برسیم . پس از انجام این عمل ، به مرحله ترکیب می رسیم که در آن کل طرح را پیاده کرده وسپس برای بدست آوردن پارامترهای زمانی آن ،عمل شبیه سازی را انجام می دهیم .
این طرح سلسله مراتبی به طراح اجازه می دهد تا بدون مشخص کردن نوع تکنولوژی ابزارهای استفاده شونده و یا قسمت کردن طرح به ابزارهای مختلف ،بتواند سیستم را به طور کامل تعریف نماید . به این ترتیب ، می توان یک سیستم کامل را بدون مشخص کردن یک ابزار خاص تعریف و آزمایش کرد . ماژولها به صورت جداگانه طراحی می شوند و می توان از آنها در طرحهای آینده نیز استفاده نمود . به عبارت دیگر برای هر طرح کتابخانه ای از توابع وجود دارد که می توان آنها را برای استفاده آینده ذخیره کرد. در این پروژه نیز از توابع و جداول و کتابخانه های مجتمع تحت عنوان basic-utility استفاده شده است .
در زمان حاضر تعدادی از زبانهای توصیف کننده مدارات سخت افزاری مانندVerilog , TI – HDL ,TEGAS , CONLAN , CDL , AHDL وجود دارند که در این میان زبانهای , AHDL,Verilog ABEL از کاربرد و اهمیت بیشتری برخوردارهستند . با تحقیقاتی که تاکنون انجام داده ام ، از نظر من زبان VHDL قویترین و پر کاربردترین زبانهای توصیفگر سخت افزار است که امکانات زیادی را به کاربر می دهد تا مدار سخت افزاری مورد نظر خود را هر چه که پیچیده باشد بواسطه این زبان توصیف کرده و کد نویسی کند . البته کار با زبان VHDL برای کسانی که تازه پا به این عرصه گذاشته اند کمی دشوار است و ممکن است با خطاهای زیادی درطول کد نویسی و کامپایل روبرو شوند . لذا شناخت کامل و دقیق این زبان و مزایای آن نسبت به سایر روشهای توصیفی را ، دارای اهمیت زیادی می دانم . زیرا اگر ما در قسمت شبیه سازی و کد نویسی مدار سخت افزاری بوسیله VHDL دچار اشکال شویم یا مدار سخت افزاری را بصورت استاندارد کد نویسی نکنیم اگر چه که قطعه کد قابل کامپایل و شبیه سازی باشد ولی در قسمت آنالیز و سنتز قطعه کدها با مشکلات زیاد و غیرقابل حلی مواجه می شویم که در برخی اوقات ما رامجبورمی کنند تا طرح هود را دوباره به یک روش دیگری کد نویسی کنیم . همانطور که در عنوان پروژه ذکر شده ، کار اصلی اینجانب شبیه سازی و کدنویسی یک مدار سخت افزاری بوده که به مرحله سنتز و آماده برای پیکر بندی روی چیپ های FPGA یا CPLD رسیده است .
در ابتدا سعی شده تا مدار سخت افزاری نمونه که یک Voter هوشمند است ( انتخابگر و تولید کننده خروجی از بین چند ورودی ) بوسیله زبان توصیف سخت افزاری VHDL کد نویسی شود .
این کار با در نظر گرفتن تمامی تاخیر های ممکن از اعمال ورودی تا فراهم شدن خروجی آن انجام گرفته است . سپس قطعه کدهای حاصل شده بوسیله برنامه کامپیوتری model sim شبیه سازی شده و با اعمال ورودی به برنامه خروجی آن تولید شده و خطاهای احتمالی مدار چه از نظر منطقی و چه از نظر مدت زمان تاخیر شناسایی شده و رفع گردیده است .
پس از اتمام کار شبیه سازی توسط برنامه کامپیوتری model sim و اطمینان از صحت عملکرد آن ، قطعه کدها را به صورت استاندارد و قابل سنتز برای پیکر بندی روی چیپ های FPGA یا CPLD تبدیل کرده ام .
کار آنالیز و سنتز قطعه کدها به کمک دو برنامه کامپیوتری ساخته شرکت xilinx با نامهای FPGA expresss و foundation 2.1 انجام گرفته است .
طرحهای سطح گیت مدار اصلی و اجزاء آن توسط نرم افزار FPGA express تولید شده که درصفحات این مقاله به چاپ رسیده است .
همچنین فایل باینری نهایی برای پیکر بندی روی چیپ ها توسط نرم افزار foundation 2.1 تولید شده که نمونه آن را نیز می توانید درپیوست ؟ مشاهده بفرمایید . کلیه عملیات و گزارشاتی که در طی این روال تولید شده را تا جای ممکن در صفحات اصلی این مقاله شرح داده ام .