در این سایت فقط فایل هایی که توسط مدیر این سایت جمع آوری تایپ می شود، به فروش می رسد

زبانهای توصیف سخت افزار و قطعات منطقی برنامه پذیر CPLD و FPGA


 FPGA ,CPLD

 

 

 

در صورتی که بخواهید مدار دیجیتالی  را پیاده سازی کنید که نسبتا پیچیده یا خیلی پیچیده است، می توانید از قطعات منطقی برنامه پذیر (Programmable Logic Devices) یا PLD ها استفاده نمایید. کار به این صورت است که برای مدار طراحی شده برنامه ای به یکی از دو زبان طراحی سخت افزار می نویسید و سپس آن را در قطعه برنامه پذیر پراگرام می کنید. با این کار قطعه منطقی برنامه پذیر به سخت افزار دیجیتالی که شما طراحی کرده اید تبدیل می شود و عملیات طراحی شده شما را انجام می دهد. قطعات منطقی برنامه پذیر انواع مختلفی دارند، اما این مقاله راجع به دو نوع مهم تر آن یعنی CPLD و FPGA است.
 زبان های توصیف سخت افزار هم انواع مختلفی دارند اما این مقاله راجع به دو تا از مهمترین ها یعنی Verilog و FPGA است. یکی از دو زبان توصیف سخت افزار (Hardware Description Language=HDL)    به verilog  معروف است که بر اساس زبان برنامه نویسی C بنا شده است. زبان های توصیف سخت افزار برای شبیه سازی مدارهای دیجیتالی و پیاده سازی آنها بر روی مدارات منطقی برنامه پذیر (Programmable logic devices=PLD) بکار می روند. زبان توصیف سخت افزار معروف دیگر VHDL نام دارد. زبان VHDL بر اساس زبان های ADAو Pascal ایجاد شده است.

منابع اینترنتی نشان می دهند که verilog بیشتر در اروپا و کره و ژاپن بکار می روند و زبان VHDL بیشتر در آمریکای شمالی و جنوبی و آسیای جنوب شرقی و هند استفاده می شود.

نرم افزارهایی برای تبدیل برنامه های نوشته شده به زبانهای Verilog ,VHDL به یکدیگر وجود دارند. یکی از این نرم افزار ها X-HDL نام دارد که بوسیله http://www.x-tekcorp.com ارائه شده است. برای دانلود و نصب و آشنایی با نحوه عملکرد این نرم افزار به پست زیر از همین وبلاگ مراجعه کنید:

برنامه ی مبدل کننده ی کدهای vhdl به verilog و verilog به vhdl

 برا ی استفاده از این زبان به یک برنامه شبیه ساز نیاز دارید. تعدادی از این برنامه های شبیه ساز معروف عبارتند از : Modelsimو ActiveHDLو Synapticad VeriLoggerو XILINX ISE و Quartus

همانطوریکه گفته شد Verliog(یا به عبارتی Verilog HDL) و VHDLبرای شبیه سازی سخت افزار و پیاده سازی آنها بر روی مدارات منطقی برنامه پذیر بکار میروند. مدارات منطقی برنامه پذیر از نظر تکنولوژی و نحوه عملکرد به چند دسته تقسیم میشوند که عبارتند از: PLAو CPLDو FPGA

CPLD ها برای کاربردهای آزمایشگاهی بسیار مناسب هستند. نمونه های کنونی آن می توانند در داخل مدار برنامه ریزی گردند

( In-System Programmable CPLD)

و با قطع شدن برق برنامه داخل آنها سرجایش می ماند و پاک نمی شود. یکی از CPLD های معروف که برد آموزشی آن به وفور در ایران عرضه می شود خانواده XC9500 است که توسط یکی از دو شرکت معروف سازنده قطعات برنامه پذیر به نام XILINX عرضه می شود. شرکت XILINX حدود 80 درصد بازار را در اختیار دارد. CPLD های خانواده XC9500 بر اساس تعداد ماکروسل ها و تعداد پین های آن به دسته های زیر تقسیم می شوند:

 

1) نوع 44 پینی با 36 ماکروسل:XC9536 PCC44

2) نوع 44 پینی با 72 ماکروسل:XC9536 PCC44

3) نوع 84 پینی با 72 ماکروسلXC9572 PLCC 84

4) نوع 84 پینی با 108 ماکروسل XC95108 PLCC84

طبیعی است که نمونه ی با ماکروسل و تعداد پین های بیشتر دارای امکانات بیشتری است.

یک نمونه از برهای آموزشی CPLD XC9574 PLCC84 در ایران برد nsk105 ساخت شرکت نوآوران الکترونیک است که می توانید از آدرس زیر مشخصات آن را ببینید و خرید نمایید:

 

برد NSK105 ساخت شرکت نوآوران الکترونیک

 

از آنجا که تنها فرق مدل XC9572 و XC95108 در تعداد ماکروسل های آن است، من بعد از تهیه برد NSK105 برای داشتن امکانات بیشتر تراشه XC95108 را از پایا الکترونیک تهیه کردم و جای آن را با XC9572 تعویض کردم.

در صورتی که بخواهید خودتان یک برد XC9572 PCC44 بسازیدمیتوانید به سایت PEK PROJECts به آدرس زیر مراجعه کنید و پروژه آن را دانلود کنید و بسازید:

پروژه برد XC9572 PCC44

 

برای برنامه نویسی و برنامه ریزی این قطعات نیاز به بسته نرم افزاریXilinx ISE دارید. این بسته نرم افزاری حاوی برنامه ای به نام iMPACT است که برای برنامه ریزی قطعات ساخت Xilinx بکار میرود.

قطعات FPGA دارای معماری داخلی متفاوتی هستند و مدارات حجیم تری دارند و امکانات بیشتری را ارائه می دهند. بعضی از انواع FPGA دارای امکانات بسیار زیادی هستند و حتی می توانند یک پردازنده را با تمام امکانات برونی مورد نیاز خود را پیاده نمایند. البته پیاده سازی پردازنده ها در داخل قطعات FPGA دو نوع است. یکی Soft-Core Processor نامیده می شود و کاملا بوسیله ی زبانهای VHDL و VErilog برنامه نویسی می شود. اما بعضی از انواع FPGA دارای یک هسته پردازنده از پیش تعریف شده در داخل خود هستند که به آنها Hard-Core processor گفته میشود. XILINX یک soft processor core به نامMicroBlaze برای FPGA های خود عرضه کرده است. شرکت altera یک soft processor core به نام Nios II برای قطعات FPGA ساخت خود عرضه کرده است. در تحقیق زیر نحوه استفاده از NIOS II بیان شده است.

 

SOFT-CORE PROCESSOR DESIGN

 

معمولا FPGA پس از برنامه ریزی تا زمان وصل بودن منبع تغذیه عمل می کند اما برنامه آن با قطع شدن منبع تغذیه پاک می شود، از این جهت نیاز به حافظه جانبی flash یا Rom برای نگهداری برنامه مورد نیاز است. برنامه در داخل حافظه جانبی نگهداری می شود و در هنگام وصل شدن منبع تغذیه باید قطعه FPGA از روی آن boot شود.

یکی از بردهای آموزشی خوب برای FPGA که من آزمایش کردم و از آن راضی هستم، برد آموزشی AVA3S400 ساخت شرکت رهپویان علم و صنعت و آوا است. این برد از تراشه خانواده SPARTAN 3 ساخت شرکت XILINX بهره می برد که شماره آن XC3S400 است. برای دیدن مشخصات و خرید این برد به آدرس زیر مراجعه کنید:

برد آموزشی AVA3S400 ساخت شرکت رهپویان علم و صنعت آوا

  انتشار : ۱۵ خرداد ۱۳۹۹               تعداد بازدید : 1416

دیدگاه های کاربران (0)

اگر به یک وب سایت یا فروشگاه رایگان با فضای نامحدود و امکانات فراوان نیاز دارید بی درنگ دکمه زیر را کلیک نمایید.

ایجاد وب سایت یا
فروشگاه حرفه ای رایگان

var tag = document.createElement(script); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName(script)[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var play

فید خبر خوان    نقشه سایت    تماس با ما