زنگ.

کسانی هستند که این خبر را قبل از شما خوانده اند.
مشترک شدن برای دریافت مقالات تازه.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید زنگ را بخوانید
بدون هرزنامه

تصور کنید که پردازنده به جای انجام یک مجموعه خاص از دستورالعمل ها، تحت هر برنامه بازسازی می شود و الگوریتم را به طور مستقیم به "آهن" تبدیل می کند. این کار FPG کار می کند. در مقاله امروز، من به شما می گویم که چقدر ممکن است، و شما را به روش های مختلف طراحی FPGA معرفی کنید.

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

FPGA چیست؟

fpga رمزگشایی شده به عنوان آرایه دروازه قابل برنامه ریزی میدان (ماتریس های قابل برنامه ریزی کاربر، PPVM) رمزگشایی شده است. در یک مورد کلی تر، آنها FPGA نامیده می شوند - مدارهای مجتمع منطقی قابل برنامه ریزی.

با کمک FPGA، شما می توانید در معنای حقیقی کلمه، طراحی تراشه های دیجیتال، نشستن در خانه با یک هیئت مدیره اشکال زدایی مقرون به صرفه بر روی میز و توسعه دهنده برای چند هزار روبل سبز. اما گزینه های رایگان وجود دارد. توجه: این طراحی است، و نه به برنامه، زیرا در خروجی ما یک مدار دیجیتال فیزیکی دریافت می کنیم که یک الگوریتم خاص را در سطح سخت افزار انجام می دهد و نه یک پروژ برای یک پروژه.

این کار به شرح زیر است. یک تخته مدار چاپی آماده ساخته شده با مجموعه ای از رابط های متصل به Microcircuit FPGA نصب شده در هیئت مدیره وجود دارد، چیزی شبیه به چنین هزینه ای سرد برای مرکز داده یا این هیئت مدیره اشکال زدایی برای یادگیری وجود دارد.

در حالی که FPGA را پیکربندی نمی کنیم، به سادگی هیچ منطقی در داخل تراشه برای پردازش داده ها از رابط وجود ندارد، و بنابراین کار نخواهد کرد. اما به عنوان یک نتیجه از طراحی، سیستم عامل ایجاد خواهد شد، که پس از بارگیری در FPGA، مدار دیجیتال را که ما نیاز داریم ایجاد می کنیم. به این ترتیب، شما می توانید یک کنترلر 100G اترنت ایجاد کنید که بسته های شبکه را پردازش و پردازش می کند.

یکی از ویژگی های مهم FPGA امکان تنظیم مجدد است. بگذارید بگوییم اکنون ما نیاز به یک کنترلر 100G اترنت داریم، و یک هفته بعد، همان هیئت مدیره را می توان برای پیاده سازی سه رابط مستقل 25G اترنت استفاده کرد.

این بازار دو رهبر را در تولید کننده تراشه های FPGA استخدام می کند: تمام Intel و Xilinx معروف. آنها 58 و 42 درصد از بازار را کنترل می کنند. اولین بنیانگذاران تراشه FPGA Xilinx اختراع شده در سال 1985. اینتل اخیرا به بازار آمد - در سال 2015، جذب آلاا، که در همان زمان به عنوان Xilinx تاسیس شد. فن آوری های Altera و Xilinx عمدتا به عنوان محیط توسعه مشابه هستند. اغلب من با محصولات Xilinx کار می کردم، بنابراین از طریق اشاره مداوم این مقاله شگفت زده نمی شود.

FPGA در زمینه های مختلف گسترده است: لوازم الکترونیکی مصرفی، تجهیزات مخابراتی، تقویت کننده های تقویت کننده برای استفاده در مراکز داده، رباتیک، نمونه برداری از میکروکنارهای ASIC ASIC. چند نمونه من فقط در زیر فهمیدم.

ما همچنین تکنولوژی را که تنظیم مجدد سخت افزاری را در نظر می گیریم را در نظر می گیریم، ما با فرایند طراحی آشنا خواهیم شد و ما یک مثال ساده از اجرای سخت افزاری در زبان Verilog را تجزیه و تحلیل خواهیم کرد. اگر شما هر هیئت مدیره اشکال زدایی FPGA دارید، می توانید خودتان آن را تکرار کنید. اگر هزینه ای وجود نداشته باشد، می توانید با شبیه سازی کار طرح در رایانه خود، هنوز هم می توانید با Verilog آشنا شوید.

اصل عملیات FPGA

تراشه FPGA همان تراشه ASIC سفارشی است که شامل ترانزیستورهای مشابهی است که از آنها باعث می شود، ثبت نام ها، چندگانه ها و سایر عناصر منطقی برای طرح های متعارف جمع آوری شوند. البته برای تغییر نظم اتصال این ترانزیستورها، غیر ممکن است. اما Microcircuit معماری به گونه ای مخفی ساخته شده است که شما می توانید تغییر سیگنال های بین بلوک های بزرگتر را تغییر دهید: آنها CLB نامیده می شوند - بلوک های منطقی قابل برنامه ریزی.

شما همچنین می توانید عملکرد منطقی را که CLB اجرا می کند را تغییر دهید. این به دلیل این واقعیت است که کل تراشه با سلول های حافظه پیکربندی RAM استاتیک نفوذ می کند. هر بیت این حافظه، نوعی کلید سوئیچینگ سیگنال را مدیریت می کند یا بخشی از جدول حقیقت تابع منطقی است که CLB را اجرا می کند.

از آنجا که حافظه پیکربندی با استفاده از تکنولوژی RAM استاتیک ساخته شده است، سپس، هنگامی که قدرت FPGA روشن می شود، تراشه باید پیکربندی شود، و دوم، میکروسیرک می تواند تقریبا یک تعداد بی نهایت را دوباره تنظیم کند.

ساختار 2D بسیار ساده از تراشه بدون حافظه پیکربندی

بلوک های CLB در یک ماتریس سوئیچ قرار دارند که ورودی ها و خروجی بلوک های CLB را تنظیم می کند.

تغییر مسیر ماتریس

در هر تقاطع هادی ها شش کلید سوئیچینگ توسط سلول های حافظه پیکربندی آن مدیریت می شوند. باز کردن برخی از آنها و بسته شدن دیگران، شما می توانید سوئیچینگ های مختلف سیگنال های بین CLB را ارائه دهید.

CLB

CLB بسیار ساده است شامل یک بلوک تعریف یک تابع بولین از چندین استدلال (به نام جدول تطبیق - نگاه کردن جدول، لوت) و ماشه (Flip-Flop، FF). در مدرن FPGA LUT دارای شش ورودی است، اما سه نفر در این رقم نشان داده شده اند. خروجی لوت به خروجی CLB یا به صورت آسنکرون (به طور مستقیم)، یا همزمان (از طریق FF ماشه عامل در فرکانس ساعت سیستم) تغذیه می شود.

اصل اجرای لوت.

جالب است که به اصل پیاده سازی لوت نگاه کنید. اجازه دهید ما برخی از عملکرد بولین Y \u003d (A & B) | ~ C. مدار مدار و حقیقت آن در شکل نشان داده شده است. این تابع دارای سه استدلال است، بنابراین 2 ^ 3 \u003d 8 ارزش دارد. هر یک از آنها مربوط به ترکیبی از سیگنال های ورودی است. این مقادیر توسط برنامه برای توسعه سیستم عامل FPGA محاسبه می شود و در سلول های حافظه پیکربندی خاص ثبت می شود.

مقدار هر سلول به ورودی Multiplexer خروجی لوت خود عرضه می شود و استدلال های ورودی تابع BULL برای انتخاب یک یا چند مقدار تابع استفاده می شود. CLB مهمترین منابع سخت افزاری FPGA است. مقدار CLB در کریستال های FPGA مدرن می تواند متفاوت باشد و بستگی به نوع و کانتینر کریستال دارد. Xilinx دارای کریستال با تعداد کل CLB در حدود چهار هزار تا سه میلیون است.

علاوه بر CLB، در داخل FPGA دارای تعدادی از منابع سخت افزاری مهم است. به عنوان مثال، بلوک های ضرب سخت افزاری با انباشت یا بلوک های DSP. هر یک از آنها می تواند باعث افزایش عملیات و اضافه کردن تعداد 18 بیتی هر ضرب و شتم شود. در کریستال های بالا، تعداد بلوک های DSP ممکن است بیش از 6000 باشد.

یکی دیگر از منابع، بلوک های حافظه داخلی (بلوک RAM، BRAM) است. هر واحد می تواند 2 کیلو بایت را ذخیره کند. ظرفیت کامل چنین حافظه ای بسته به کریستال می تواند از 20 کیلوبایت تا 20 مگابایت برسد. مانند CLB، BRAM و بلوک های DSP توسط یک ماتریس سوئیچینگ متصل می شوند و کل کریستال را نفوذ می کنند. اتصال CLB، DSP و بلوک های BRAM، شما می توانید طرح های پردازش داده های بسیار موثر دریافت کنید.

مزایای FPGA

اولین تراشه FPGA ایجاد شده توسط Xilinx در سال 1985 تنها شامل تنها 64 CLB بود. در آن زمان، ادغام ترانزیستورها در تراشه ها بسیار پایین تر از حال حاضر بود، و در دستگاه های دیجیتال اغلب از تراشه های "منطق اجرا" استفاده می شود. تراشه های جداگانه ثبت شده، شمارنده، چندگانه، چند منظوره بود. دستگاه خاص، هیئت مدیره مدار چاپی خود را که این تراشه های ادغام پایین نصب شده بود ایجاد کرد.

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

با توجه به این واقعیت که در داخل FPGA شما می توانید هر نمودار دیجیتال سخت افزاری را ایجاد کنید (نکته اصلی این است که منابع کافی داشته باشید)، یکی از کاربردهای مهم FPGA، تراشه ASIC نمونه اولیه است.

توسعه ASIC بسیار پیچیده و پر هزینه است، قیمت خطا بسیار زیاد است و سوال منطق تست بسیار مهم است. بنابراین، یکی از مراحل توسعه حتی قبل از شروع کار بر روی توپولوژی فیزیکی این طرح، نمونه سازی آن بر روی یک یا چند کریستال FPGA بود.

توسعه ASIC هزینه های ویژه ای را شامل می شود که بسیاری از FPGA را متصل می کند. نمونه اولیه MicroCircuit در فرکانس های قابل ملاحظه ای کمتر عمل می کند (شاید ده ها مگا هرتز)، اما موجب صرفه جویی در مشکلات و اشکالات برای شناسایی مشکلات و اشکالات می شود.

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


مقایسه سیستم عامل های سخت افزاری

بیایید در مورد CPU اساسا متفاوت، GPU، FPGA و ASIC فکر کنیم. CPU جهانی است، شما می توانید هر گونه الگوریتم را بر روی آن اجرا کنید، آن را انعطاف پذیر ترین، و استفاده از آن آسان تر از آن به لطف تعداد زیادی از زبان های برنامه نویسی و محیط های توسعه استفاده می شود.

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

از طرف دیگر ASIC است. در این پلت فرم، الگوریتم مورد نیاز توسط سخت افزار به دلیل اتصال مستقیم ترانزیستورها اجرا می شود، تمام عملیات تنها با اجرای الگوریتم متصل می شوند و امکان تغییر آن وجود ندارد. از این رو حداکثر عملکرد و کوچکترین مصرف برق پلت فرم. اما به برنامه ریزی ASIC غیر ممکن است.

در سمت راست CPU GPU است. در ابتدا، این تراشه ها برای مدیریت گرافیک طراحی شده بودند، اما در حال حاضر برای محاسبات عمومی معدن استفاده می شود. آنها شامل هزاران هسته محاسبات کوچک می شوند و عملیات موازی را بر روی آرایه داده انجام می دهند.

اگر الگوریتم می تواند موازی باشد، GPU شتاب قابل توجهی را نسبت به CPU به دست خواهد آورد. از سوی دیگر، الگوریتم های متوالی بدتر خواهد شد، بنابراین پلت فرم کمتر انعطاف پذیر از CPU است. همچنین برای توسعه تحت GPU لازم است که مهارت های ویژه ای داشته باشید، OpenCL یا CUDA را بدانید.

سرانجام، FPGA. این پلت فرم ترکیبی از اثربخشی ASIC با توانایی تغییر برنامه است. فلاش جهانی نیست، اما یک کلاس از الگوریتم ها و وظایف وجود دارد که عملکرد بهتر آنها را نسبت به CPU و حتی GPU نشان می دهد. پیچیدگی توسعه تحت FPGA بالاتر است، اما پیشرفت های جدید این شکاف را کمتر می کند.

مزیت قاطع FPGA توانایی پردازش داده ها در سرعت دریافت آنها با حداقل تاخیر واکنش است. به عنوان مثال، شما می توانید یک روتر شبکه هوشمند را با تعداد زیادی از پورت ها تصور کنید: زمانی که بسته اترنت به یکی از پورت های خود می رسد، قبل از انتخاب پورت خروجی باید قوانین چندگانه را بررسی کنید. ممکن است لازم باشد برخی از زمینه های بسته را تغییر دهید یا موارد جدید را اضافه کنید.

با استفاده از FPGA اجازه می دهد تا شما را به حل این کار بلافاصله: BYTES بسته تازه شروع به وارد تراشه از رابط شبکه، و عنوان آن در حال حاضر تجزیه و تحلیل شده است. استفاده از پردازنده ها در اینجا می تواند سرعت پردازش ترافیک شبکه را به میزان قابل توجهی کاهش دهد. واضح است که برای روتر شما می توانید تراشه ثبت شده ASIC را ایجاد کنید، که به طور موثر کار خواهد کرد، اما اگر قوانین برای پردازش بسته ها باید تغییر کنند؟ تمام FPGA به دستیابی به انعطاف پذیری مورد نیاز در ترکیب با عملکرد بالا کمک می کند.

بنابراین، FPGAs استفاده می شود که در آن عملکرد بالا پردازش داده ها، کوچکترین زمان واکنش، و همچنین مصرف کم انرژی وجود دارد.

FPGA در ابر

در محاسبات ابری FPGA اعمال به یک حساب سریع، سرعت بخشیدن به ترافیک شبکه و دسترسی به آرایه های داده. این شامل استفاده از FPGA برای تجارت فرکانس بالا بر مبادلات سهام است. سرورها کارت های FPGA را با PCI Express وارد می کنند و اینتل رابط شبکه نوری (Altera) یا Xilinx.

الگوریتم های رمزنگاری کاملا در FPGA کم هستند، مقایسه توالی های DNA و وظایف علمی مانند دینامیک مولکولی. مایکروسافت به مدت طولانی از FPGA برای سرعت بخشیدن به سرویس جستجوی بینگ استفاده کرده است، و همچنین برای سازماندهی شبکه های تعریف شده در داخل ابر Azure.

رونق یادگیری ماشین نیز FPGA را از بین نمی برد. Xilinx و اینتل صندوق های مبتنی بر FPGA را برای کار با شبکه های عصبی عمیق ارائه می دهند. آنها به شما این امکان را می دهند که سیستم عامل FPGA را دریافت کنید که یک یا چند شبکه را مستقیما از چارچوب هایی مانند Caffe و Tensorflow اجرا کنید.

و این همه شما می توانید بدون ترک خانه و استفاده از خدمات ابری تلاش کنید. به عنوان مثال، آمازون می تواند یک ماشین مجازی را با دسترسی به کارت FPGA و هر ابزار توسعه، از جمله یادگیری ماشین، اجاره کند.

FPGA در لبه

چه چیز دیگری در FPGA جالب است؟ اما چرا این کار را انجام ندهید! رباتیک، اتومبیل های بدون سرنشین، هواپیماهای بدون سرنشین، لوازم علمی، لوازم پزشکی، دستگاه های سفارشی تلفن همراه، دوربین های نظارت تصویری هوشمند و غیره.

به طور سنتی، FPGA برای پردازش دیجیتال سیگنال های یک بعدی (و با پردازنده های DSP) در دستگاه های رادار، فرستنده های سیگنال رادیویی مورد استفاده قرار گرفت. با افزایش ادغام microcircuits و افزایش عملکرد پلت فرم FPGA، به طور فزاینده ای برای محاسبات با کارایی بالا، به عنوان مثال، برای پردازش سیگنال های دو بعدی "در لبه ابر" (محاسبات لبه) مورد استفاده قرار گرفت.

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

در عوض، بهتر است به رسمیت شناختن اعداد در ماشین حساب نصب شده به طور مستقیم به مسکن دوربین فیلمبرداری، و انتقال ماشین آلات در ابر فرمت ماشین. برای انجام این کار، شما حتی می توانید FPGA نسبتا ارزان را با مصرف برق کم مصرف کنید تا باتری را انجام دهید. این امر توانایی تغییر منطق عملیات FPGA را دارد، به عنوان مثال، هنگام تغییر استاندارد شماره ماشین.

آنچه که به رباتیک و هواپیماهای بدون سرنشین، پس از آن در این منطقه، به ویژه برای انجام دو شرایط - عملکرد بالا و مصرف انرژی کم اهمیت دارد. پلت فرم FPGA مناسب است زیرا غیر ممکن است و به ویژه می تواند مورد استفاده قرار گیرد، برای ایجاد کنترل کننده های پرواز برای کنترلرهای هواپیمای بدون سرنشین. در حال حاضر در حال حاضر UBL ها را می سازند که می توانند تصمیم بگیرند در پرواز.

توسعه پروژه در FPGA

سطوح مختلف طراحی وجود دارد: کم، بلوک و بالا. سطح پایین شامل استفاده از زبان های Verilog یا VHDL است، که در آن شما در حال توسعه در سطح Gear Register (RTL - سطح انتقال ثبت نام) مدیریت می کنید. در این مورد، شما ثبت نام را به عنوان در پردازنده تشکیل می دهید و توابع منطقی را تعیین می کنید که داده ها را بین آنها تغییر می دهند.

طرح های FPGA همیشه در فرکانس های ساعت خاص (معمولا 100-300 مگاهرتز) کار می کنند و در سطح RTL شما رفتار مدار را با دقت فرکانس فرکانس سیستم تعیین می کنید. این کار سختگیرانه منجر به ایجاد مؤثرترین طرح ها از لحاظ عملکرد، مصرف منابع کریستال FPGA و مصرف برق می شود. اما مهارت های جدی در مدار وجود دارد، و این روند با آنها بی سابقه است.

در سطح بلوک، شما عمدتا در اتصال بلوک های بزرگ آماده ساخته شده است که عملکرد خاصی را برای به دست آوردن قابلیت سیستم بر روی کریستال (سیستم بر روی تراشه) انجام می دهند.

در سطح بالایی از طراحی، دیگر اطلاعات را در هر ساعت کنترل نخواهید کرد، بلکه بر الگوریتم تمرکز کنید. کامپایلر یا مترجم با زبان های C و C ++ به سطح RTL، به عنوان مثال VIVADO HLS وجود دارد. این بسیار هوشمندانه است و به شما اجازه می دهد تا یک کلاس گسترده ای از الگوریتم ها را در سطح سخت افزار پخش کنید.

مزیت اصلی این رویکرد به زبان های RTL، سرعت بخشیدن به توسعه و به ویژه آزمایش الگوریتم را تسریع می کند: کد C ++ می تواند بر روی یک کامپیوتر اجرا شود و تایید شود، و آن را بسیار سریعتر از تغییرات الگوریتم تست در سطح RTL. برای راحتی، البته، شما باید پرداخت کنید - طرح ممکن است خیلی سریع نباشد و منابع سخت افزاری بیشتری را مصرف کند.

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

اغلب در یک طراحی شما نیاز به ترکیب تمام سه سبک طراحی. فرض کنید ما باید دستگاهی را ایجاد کنیم که بتوانیم به یک ربات ادغام کنیم و آن را با توانایی تشخیص اشیاء در جریان ویدئو - به عنوان مثال، نشانه های جاده ای قرار دهیم. تراشه محور ویدئو را بردارید و آن را به طور مستقیم به FPGA وصل کنید. برای اشکال زدایی، ما می توانیم از مانیتور HDMI استفاده کنیم، همچنین به FPGA متصل می شود.

فریم از دوربین به FPGA منتقل می شود بیش از رابط کاربری که به وضوح توسط سازنده سنسور تعریف شده است (USB در اینجا رول نمی کند)، پردازش و نمایش داده شده در مانیتور. برای پردازش فریم، شما نیاز به یک فریم دار، که معمولا در حافظه DDR خارجی نصب شده بر روی تخته مدار چاپی در کنار Microcircuit FPGA است.


نمودار بلوک پروژه FPGA معمولی

اگر سازنده ویدیو Seensor IP رابط IP را برای تراشه FPGA ارائه نمی کند، ما باید آن را در زبان RTL، شمارش دهه ها، بیت ها و بایت ها مطابق با مشخصات پروتکل انتقال داده ها بنویسیم. پیش پردازنده، کنترل کننده DDR و بلوک های IP HDMI، به احتمال زیاد آماده و به سادگی رابط های خود را متصل می کنند. و بلوک HLS که داده ها را جستجو می کند و پردازش داده های ورودی را پردازش می کند، ما می توانیم بر روی C ++ بنویسیم و با HLS Vivado پخش می کنیم.

به احتمال زیاد، ما هنوز هم نیاز به برخی از کتابخانه به پایان رسید از آشکارساز و طبقه بندی از نشانه های جاده ای که برای استفاده در FPGA اقتباس شده است. در این مثال، من، البته، یک طرح طراحی بسیار ساده را ذکر کردم، اما منطق کار را به درستی نشان می دهد.

مسیر طراحی را از نوشتن کد RTL قبل از دریافت یک فایل پیکربندی برای دانلود به FPGA در نظر بگیرید.

مسیر طراحی

بنابراین، کد RTL را بنویسید که طرح مورد نیاز شما را اجرا کند. قبل از بررسی آن بر روی غدد واقعی، باید اطمینان حاصل کنید که درست است و به درستی کار مورد نیاز را حل می کند. این از مدل سازی RTL در شبیه ساز بر روی کامپیوتر استفاده می کند.

شما طرح خود را، تا کنون تنها در کد RTL ارائه شده است، و آن را در ایستگاه مجازی قرار دهید، جایی که توالی سیگنال های دیجیتال به ورودی های مدار، بسته به زمان سیگنال های خروجی و مقایسه با آن را ثبت می کند نتایج مورد انتظار. معمولا اشتباهات را پیدا می کنید و به RTL نوشتن بازگردید.

بعد، کد تأیید منطقی به ورودی برنامه Synthesizer ارسال می شود. این توصیف متن مدار را به یک لیست مرتبط از عناصر دیجیتال از کتابخانه موجود برای این کریستال FPGA تبدیل می کند. در این لیست، عناصر مانند لوت، محرک ها و روابط بین آنها نمایش داده می شود. در این مرحله، عناصر هنوز به منابع سخت افزاری خاص وابسته نیستند. برای انجام این کار، شما باید بر اساس طرح محدود (محدودیت ها) - به ویژه، مشخص کنید که کدام مخاطب فیزیکی چیپ های I / O FPGA با استفاده از ورودی های منطقی و خروجی طرح شما متصل می شوند.

در این محدودیت ها، شما همچنین باید مشخص کنید، در چه فرکانس های ساعت، طرح باید کار کند. خروجی سینت سایزر و فایل محدود به پردازنده پیاده سازی داده می شود، که در میان سایر موارد، در محل اقامت و ردیابی (محل و مسیر) مشغول به کار است.

فرایند مکان هر کدام یک عنصر مستقل از NetList به یک عنصر خاص در داخل تراشه FPGA متصل می شود. بعد، روند مسیر را آغاز می کند، که در حال تلاش برای پیدا کردن اتصال بهینه این عناصر برای پیکربندی مناسب ماتریس سوئیچینگ Plit است.

قانون و مسیر را بر اساس محدودیت های اعمال شده توسط ما در طرح انجام دهید: تماس با تماس های I / O و فرکانس ساعت. دوره فرکانس زمانی بسیار تحت تأثیر پیاده سازی قرار می گیرد: نباید کمتر از تاخیر زمانی در عناصر منطقی در زنجیره بحرانی بین دو عامل متوالی باشد.

اغلب بلافاصله این الزام را برآورده نمی کند، و پس از آن شما باید به مرحله اولیه بازگردید و کد RTL را تغییر دهید: به عنوان مثال، سعی کنید منطق را در زنجیره بحرانی کاهش دهید. پس از موفقیت موفقیت آمیز، ما می دانیم که عناصری که در آن هستند و چگونه آنها متصل هستند.

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

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

پیاده سازی پروژه در PLI

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

شکل. 82مراحل طراحی دستگاه دیجیتال در PLI

مراحل اصلی طراحی PLI (از سخنرانی ها):

    نمودار دستگاه در حال توسعه و وارد شده در Xilinx است.

    پیاده سازی انجام می شود (پخش، شکل گیری نمودار با استخراج عناصر کتابخانه، بهینه سازی، قرار دادن بر روی یک کریستال) انجام می شود.

    برنامه نويسي.

  1. حافظه انجمنی سازمان، روش نمونه گیری، تفاوت از حافظه آدرس.

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

در دستگاه های به یاد ماندنی وابسته، جستجو برای اطلاعات بر اساس ویژگی انجمنی ثبت شده در هر سلول حافظه ساخته شده است.

یک کلمه که اجازه می دهد یک درخواست برای همه یا تنها برخی از تخلیه یک ویژگی انجمنی، استفاده از ماسک به شما اجازه می دهد تا منطقه جستجو را کاهش یا گسترش دهید.

جستجو برای اطلاعات به صورت موازی با تمام سلول ها با مقایسه پرس و جو با یک ویژگی انجمنی هر سلول ساخته شده است.

نتیجه جستجو باعث ایجاد یک مدار ترکیبی خاص می شود که سیگنال هایی را تولید می کند که عدم وجود کلمات را که شرایط جستجو را برآورده می کنند، در مورد حضور تنها یک کلمه، در مورد حضور چند کلمه ای که دارای ویژگی های متعددی هستند، تولید می کند.

پس از تشکیل و پردازش سیگنال های اطلاع رسانی، مدار کنترل توسط اطلاعات لازم خوانده می شود. هنگام ضبط، یک سلول آزاد بر اساس ارزش تخلیه اشتغال یافت می شود، اطلاعات در اولین سلول یافت می شود.

بررسی تخلیه اشتغال بر روی نصب ماسک های N-th (تخلیه اشتغال) ساخته شده است. هنگام استفاده از مدارهای ترکیبی اضافی در حافظه انجمنی، عملیات منطقی مختلف را می توان انجام داد، تعیین حداکثر یا حداقل تعداد، تعداد کلمات با همان ویژگی انجمنی و غیره سلول های حافظه دستگاه ذخیره سازی انجمنی باید عناصر حافظه استاتیک باشند، در حافظه انجمنی، درخواست تجدید نظر به تمام سلول ها در همان زمان ساخته شده و نباید توسط چرخه های بازسازی قطع شود. حافظه انجمنی سریع ترین عمل است، اما بسیار گران است، زیرا نیاز به یک طرح مقایسه اضافی دارد که به شما امکان می دهد تا هر سلول حافظه را جستجو کنید. بنابراین، چنین حافظه معمولا به صورت خالص مورد استفاده قرار نمی گیرد و دستگاه های حافظه حافظه حافظه پنهان با سرعت بالا معمولا به صورت جزئی انجام می شود.

که درکاملا وابسته حافظه پنهان (FACM، حافظه پنهان به طور کامل مرتبط)، هر سلول فروشگاه ذخیره شده، و در فیلد "برچسب" - یک آدرس فیزیکی کامل اطلاعات، یک کپی از آن ثبت شده است. با هر مبادله، آدرس فیزیکی اطلاعات درخواست شده با زمینه های "برچسب" تمام سلول ها مقایسه می شود و هنگامی که آنها همگام هستند، سیگنال ضربه در هر سلول نصب شده است.

هنگام خواندن و مقدار سیگنال ضربه \u003d 1، داده ها بر روی اتوبوس داده نمایش داده می شود، اگر هیچ اتفاقی (hit \u003d 0) وجود نداشته باشد، پس از خواندن از حافظه اصلی، داده ها همراه با آدرس در آن قرار می گیرد سلول حافظه پنهان آزاد یا تازه استفاده شده.

هنگام نوشتن، داده ها همراه با آدرس اول، به عنوان یک قانون، در حافظه پنهان قرار می گیرند (در سلول شناسایی شده با ضربه \u003d 1 و با ضربه \u003d 0). کپی کردن داده ها به حافظه پایه انجام می شود در حال اجرا یک کنترل کننده خاص زمانی که هیچ گونه تجدید نظر حافظه وجود دارد.

حافظه نوع FACM یک دستگاه بسیار پیچیده است و تنها در مخازن کم استفاده می شود، عمدتا در برنامه های ویژه. در عین حال، این نوع حافظه پنهان بزرگترین انعطاف پذیری عملکردی و درگیری های آدرس را فراهم می کند، زیرا هر واحد اطلاعات را می توان به هر سلول حافظه حافظه پنهان دانلود کرد.

از سخنرانی ها:

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

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

اطلاعات

این برچسب یک ویژگی متمایز است که در آن تصادفی است که یک قطعه اطلاعات می رود.

طرح ساده حافظه انجمنی:

منطقه ذخیره سازی - آدرس حافظه با سلول های شماره گذاری شده، اطلاعات و برچسب ها را نگه می دارد.

برای تجدید نظر به حافظه وابسته، یک نمونه از تگ دلخواه بر روی ثبت نام APROS قرار می گیرد. طرح مقایسه این درخواست را مقایسه می کند. یک تصادف در ثبت نام همزمان وجود دارد، جایی که برچسب از حافظه با نمونه همخوانی داشت. واکنش ها امکان پذیر است (هیچ اتفاقی وجود ندارد؛ حداقل یک تصادف وجود دارد - در این مورد سلول یافت شده در ثبت داده ها قرار می گیرد؛ تصادفی چندگانه - COP باید تصمیم بگیرد که از سلول ها برای پردازش استفاده شود).

کاربرد: پایگاه داده، پایگاه دانش، کامپیوتر به عنوان کش.

این مقاله تلاش می کند تا ترکیب مستندات همراه را در ماژول های دیجیتال توسعه یافته برای تراشه های انتگرال منطقی قابل برنامه ریزی (FPGS) تعیین کند. این مستندات همراه باید توسعه دهندگان را به مصرف کننده / مشتری برای استفاده بیشتر از ماژول دیجیتال توسعه یافته در پروژه های خود در مرحله طراحی دستگاه های دیجیتال در FPGA ارائه دهد.

معرفی

بنابراین، چه نوع مستندات طراحی باید از توسعه دهنده بپرسد اگر شرکت یا مشتری مشتری یا سایر توسعه دهندگان در آینده "بیگانه" دستگاه توسعه یافته در پروژه های خود مورد استفاده قرار گیرد؟ این مقاله می تواند به عنوان یک "CRIB" خدمت کند تا به طور صحیح یک کار فنی را برای توسعه یک دستگاه دیجیتال برای FPGA مطرح کند و سپس از مستندات طراحی توسعه دهنده برای یک دستگاه دیجیتال توسعه یافته درخواست کند. بر اساس تجربه قبلی با مستندات طراحی، شرکت یا شرکت توسط استانداردهای زیر و اسناد قانونی مورد استفاده قرار می گیرد:

  • GOST 2.102-68 ECCD. انواع و کامل بودن اسناد طراحی.
  • GOST 15.101-98. سیستم توسعه و تولید برای تولید. روش انجام کارهای علمی تحقیقاتی.
  • GOST R 15.201-20-20. سیستم توسعه و تولید برای تولید. تولید تولید و اهداف فنی. روش توسعه و تولید محصولات برای تولید.

به عنوان یک قانون، این یک فایل سیستم عامل و یک برنامه بود (شرح دستگاه دیجیتال بر روی VHDL / Verilog یا مجموعه ای از مدارهای دیجیتال توسعه یافته در ویرایشگر مدار با استفاده از عناصر کتابخانه ای از منطق دیجیتال، مانند عوامل، ثبت، شمارنده، شمارنده ها، رمزگشاها ، و غیره) در CD یا DVD و دستورالعمل های برنامه نویسی. و این است.

به عنوان مثال نویسنده، با مشکل زیر برخورد کرد. یک کارمند یک دستگاه دیجیتال چند مدولار پیچیده را توسعه داده است. تمام ماژول های توصیف شده در زبان VHDL و سیکلوگرافی عملیات این ماژول ها و دستگاه های دیجیتال به طور کلی به یک اسیلوسکوپ خوب و گران قیمت نگاه می کنند. او فایل ها را در مورد نیمکت تست نمی دانست یا نمی دانست که آیا آنها را به هر حال بنویسید، به این ترتیب، نظرات به پروژه و توصیف ماژول نیز وجود نداشت. این وضعیت ممکن است حتی بدتر شود اگر ماژول ها توسط مدارهای دیجیتال توسعه یافته در ویرایشگر مدار با استفاده از عناصر کتابخانه ارائه شوند. در اینجا یکی از معایب اصلی است: به جز توسعه دهنده خود، بعید است که شخص دیگری این دستگاه دیجیتال را درک کند، به خصوص اگر پروژه چند مدولار باشد، و توصیف هر ماژول بیش از 100 ردیف یا بیش از یک است صفحه نمایش. بنابراین، اگر توسعه دهنده دیگری مورد نظر باشد، لازم است که به یک توسعه جدید یا یک پروژه که قبلا یک دستگاه دیجیتال را برای FPGA توسعه داده است، معرفی شود، دوباره لازم است که زمان صرف توسعه این دستگاه دیجیتال را صرف کنیم.

تاریخچه طراحی تاریخچه برای PLI

در حال حاضر، بازار FPGA یکی از پویایی ترین در حال توسعه است. PLI در بسیاری از صنایع اعمال می شود. در حال حاضر هیچ ارتباطی وجود ندارد، تمام توسعه دهندگان روش شناسی را رضایت بخش برای به دست آوردن پیکربندی FPG ها با استفاده از مدل عملکردی دستگاه در سطح سیستم. روشی محبوب ترین برای حل این مشکل استفاده از تکنولوژی IP هسته ای (هسته های مالکیت معنوی) است. هسته های IP اجزای آماده ساخته شده اند که به آنها اجازه می دهد تا آنها را به راحتی آنها را در پروژه خود برای ایجاد یک سیستم پیچیده تر وارد کنید. این رویکرد دارای یک معایب قابل توجه است - پیوست هسته IP به یک پایه عنصر. هر هسته IP برای یک سری خاص از میکروچیپ های یک تولید کننده خاص بهینه شده است، که به طور قابل توجهی امکان انتقال دستگاه های ایجاد شده را از یک پایه یک عنصر به دیگری بدتر می کند. نزدیک بودن معماری CAD تجاری باعث می شود که مدل های کاربردی خود را از دستگاه های دستگاه خود در سطح سیستم اضافه کنید تا مدل های مبتنی بر دستگاه خود را در سطح Gear Register (RTL) بدست آورید. توسعه یک ماژول دیجیتال به صورت یک مدار دیجیتال کشیده شده در ویرایشگر مدار با استفاده از یک عنصر مدار پایه ساخته شده در سازنده ساخته شده در کتابخانه داخلی تولید کننده، مانند محرک ها، رمزگشاها، شمارنده ها، افزونه ها و غیره انجام می شود.

یکی دیگر از رویکردهای محبوب که ما را قادر می سازد از مدل عملکردی در سطح سیستم به مدل دستگاه ثبت نام انتقال دهیم - استفاده از زبان های توصیف سیستم در سطح سیستم (زبان های طراحی سیستم، SLDLS). چنین زبانهایی عبارتند از SystemC، Handel-C، VHDL، Verilog، System Verilog. مزیت اصلی استقلال سخت افزاری است که در آن دستگاه اجرا خواهد شد.

بنابراین، از یک طرف، هنگام استفاده از تکنولوژی IP-nuclei، توسعه دهنده دستگاه یک راه حل کیفی دریافت می کند، اما به شدت به سخت افزار متصل می شود، که در آن دستگاه اجرا می شود. از سوی دیگر، هنگام استفاده از زبان های توصیفی دستگاه در سطح سیستم، پیاده سازی دستگاه سخت افزار مستقل است. از پیشین، به شرح زیر است که در حال حاضر به اشتراک گذاری برای سرعت بخشیدن به طراحی ماژول های دیجیتال در زبان توصیف تجهیزات و هسته های IP تولید کننده (Xilinx، Alteral، و غیره) و شرکت های توسعه دهندگان شخص ثالث. هنگام استفاده از ماژول های شخص ثالث دیجیتال، گاهی اوقات ممکن است در اطلاعات درمانی اسناد همراه رخ دهد.

ارائه اطلاعات در مورد ماژول دیجیتال توسعه یافته برای FPGA

بسته به روش شناسی برای به دست آوردن پیکربندی FPGA در امتداد مدل عملکردی دستگاه در سطح سیستم، توسعه دهنده می تواند انواع زیر ماژول دیجیتال را برای FPGA انتخاب کند:

  • نرم افزار. - ماژول دیجیتال توسعه یافته توسط مصرف کننده به عنوان توصیف در زبان توصیف تجهیزات (VHDL، Verilog) یا / و در ویرایشگر پردازش Schema Schema Schema Schemic برای استفاده بیشتر در سنتز اتوماتیک مدارهای منطقی و بهینه سازی شده توسط پارامترهای عملکردی توسعه یافته است.
  • سیستم عامل. - توسعه یافته توسط شخص ثالث، یک ماژول دیجیتال، که هسته IR-Contry ارسال شده توسط مصرف کننده به عنوان یک مدار منطقی (لیست مدار - netlist) به نام عناصر منطقی FPGA تولید کننده و بهینه سازی شده بر روی پارامترهای عملکردی و الکتریکی نامیده می شود.

در مرحله توسعه مستندات، بر اساس تجربه شخصی، لازم است علاوه بر CD معمولی و TU انجام شده مطابق با GOST 15.101، GOST 15.201، GOST 2.102، GOST 2.114، مستند سازی برای تمام انواع مدل ها (سیستم ، منطقی، مدار) ایجاد شده توسط مراحل طراحی دستگاه های دیجیتال در PLI.

به عبارت دیگر، مستندات طراحی برای دستگاه دیجیتال برای FPGA، به جز فایل سیستم عامل، دستورالعمل های برنامه نویسی و پروژه ثبت شده در CD / DVD، باید شامل مستندات همراه باشد.

جدول. فهرست مستندات همراه

نام قسمت چشم انداز
نرم افزار. سیستم عامل.
عمومی
هدف و دامنه در باره r
مشخصات فنی در باره در باره
شرح سیگنال های بازنشانی در باره در باره
شرح سیگنال های هماهنگ سازی در باره در باره
شرح رابط ها در باره r
نمودارهای موقت r در باره
شرح ثبت های کنترل در باره در باره
طرح ساختاری (کاربردی) r r
راهنمای برنامه نویسی در باره در باره
مدل یا خانواده farce
شرکت تولید
r در باره
ارائه یک ماژول دیجیتال
برای طراحی منطقی در PLI
مدل RTL در باره نه
مدل منطق نه در باره
محدودیت های پروژه در باره در باره

در اینجا یک لیست از بخش ها (جدول)، که باید در مستندات پروژه ماژول دیجیتال همراه برای FPGA گنجانده شود. برای هر بخش، نشانه های نیاز به فعال کردن بخش در سند نشان داده شده است:

  • "O" - لزوما بخش ارائه شده؛
  • "P" - توصیه می شود برای تحویل.

فرمت های فایل توصیه شده برای انتقال مستندات همراه - MS Word، PDF (بهترین فرمت)، HTML. شرح زبان توصیف تجهیزات (VHDL، Verilog) یا / و توسعه یافته در ویرایشگر اسکیت ویرایشگر برنامه نویس در این فرم ارائه شده است به عنوان نیاز به نرم افزار غم انگیز برای توسعه. یک استثنا می تواند یک مقررات اضافی در فرمت گرافیکی (JPEG، BMP) از فایل های مدار دیجیتال توسعه یافته در فرایند طرح ابتدایی ویرایشگر است.

عمومی

این بخش اطلاعات کلی درباره ماژول دیجیتال طراحی شده را به عنوان یک توضیح توصیف می کند:

  • مدار عملکردی و بلوک های کامپوزیت / قطعات آن؛
  • سیگنال های امداد، هماهنگ سازی؛
  • رابط های استفاده شده؛
  • رجیستر کنترل؛
  • نمودار موقت؛
  • برنامه نويسي.

هدف و دامنه

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

مشخصات فنی

شرح ویژگی های فنی اساسی آن، مانند عملکرد، مصرف برق برای یک کریستال خاص FPGA، تعداد شیرهای اشغال شده، نوع کریستال مورد استفاده FPGA ارائه شده است. علاوه بر این، مشخص شد که در حال توسعه یک ماژول CAD دیجیتال سازنده FPGA و نرم افزار مورد استفاده برای مدل سازی و تأیید است. برای تمام برنامه های مورد استفاده، نسخه و به روز رسانی های نصب شده مشخص شده است. نمایش گرافیکی از ماژول دیجیتال به صورت یک جعبه سیاه و سفید با تعیین ورودی های خارجی / خروجی ها داده می شود و شرح مختصری از مقصد آنها داده شده است.

شرح سیگنال های بازنشانی

اطلاعات دقیق در مورد سیگنال های بازنشانی را محاسبه کنید:

  • لیستی از سیگنال های تخلیه خارجی و داخلی.
  • پارامترهای زمان و سیگنال های تخلیه موقت.
  • طرح های تشکیل سیگنال های بازنشانی داخلی، اگر چنین در ماژول دیجیتال گنجانده شده است.
  • نسبت با سیگنال های دیگر (به ویژه سیگنال هماهنگ سازی).

شرح سیگنال های هماهنگ سازی

اطلاعات دقیق در مورد سیگنال های هماهنگ سازی را انجام می دهد:

  • شرح سیگنال های هماهنگ سازی خارجی؛
  • سیگنال های هماهنگ سازی زمانی؛
  • شرح سیگنال های هماهنگ سازی داخلی و طرح های تشکیل؛
  • نسبت موقت بین سیگنال های هماهنگ سازی از منابع مختلف؛

شرح رابط ها

ویژگی های استفاده از تمام رابط های که بخشی از ماژول دیجیتال توسعه یافته است، مطلوب سازماندهی تعامل با سایر گره های سیستم بر روی کریستال ارائه شده است. علاوه بر این، لینک اینترنت به شرح کامل رابط استاندارد ارائه شده است یا توضیحات رابط خود ارائه شده است. در حال حاضر، رابط ها به AMBA، PLB، WishBone اتوبوس به عنوان رابط های یکپارچه ماژول های دیجیتال پذیرفته می شوند.

نمودارهای موقت

اطلاعات مورد نیاز برای سازماندهی تبادل اطلاعات از طریق رابط ها و سایر ورودی های ماژول ورودی / دیجیتال: نمایش گرافیکی نمودارهای موقت، توصیف پروتکل های انتقال داده ها، الزامات سیگنال های خارجی که به ماژول دیجیتال (مدت زمان، فرکانس، و غیره) و سایر اطلاعات ارائه شده است.

شرح ثبت های کنترل

شرح کلیه رجیستری کنترل ماژول دیجیتال داده شده است. شرح معمولی از ثبت نام کنترل شامل نام ثبت نام، آدرس ثبت نام در فضای آدرس داخلی، مقدار اولیه پس از از بین بردن سیگنال بازنشانی، نوع دسترسی (خواندن / نوشتن)، شرح زمینه های داخلی است.

طرح ساختاری (کاربردی)

یک تصویر از ساختار داخلی ترکیبات گره های داخلی اصلی / بلوک های ماژول دیجیتال، و همچنین توصیف متن کوتاه آنها داده شده است. علاوه بر این، شرح بلوک های داخلی اصلی ماژول دیجیتال داده شده است. هدف از این سند، ارائه اطلاعات مصرف کننده ضروری برای درک اصول ماژول دیجیتال است.

تعداد بلوک های شرح داده شده و شرح توصیفی، توسعه دهنده ماژول دیجیتال را تعریف می کند. ترجیحا، مکاتبات حداقل تعداد ماژول های توصیف شده توسط تعداد عناصر مدار ماژول دیجیتال ساختاری (کاربردی) توصیف شده است.

توصیف معمولی از واحد داخلی شامل موارد زیر است:

  • هدف از بلوک؛
  • نمودار بلوک ساختاری (عملکردی) (در صورت لزوم)؛
  • حالت ها و الگوریتم های کار؛
  • نمودارهای کاری موقت؛
  • واحد مدیریت سازمان؛
  • سازمان ارتباطات با بلوک های دیگر؛
  • هر اطلاعات دیگری.

راهنمای برنامه نویسی

تمام اطلاعات لازم در مورد فرایند برنامه نویسی را با استفاده از CAPR تولید کننده ماژول دیجیتال در ابزارهای مورد نیاز FPGA برای توسعه و اشکال زدایی نرم افزار، کتابخانه های نرم افزاری فراهم می کند.

مدل یا خانواده Farce، تولید کننده

برای ماژول دیجیتال Firmware نشان دهنده تولید کننده FPGA، مدل یا FPGA خانواده و ویژگی های سرعت آن است. برای نرم افزار ماژول دیجیتال، اطلاعات مربوط به تعداد منابع اشغال شده، مورد نیاز برای یو پی اس استفاده شده است.

ارائه یک ماژول دیجیتال برای طراحی منطقی

این مقاله با استفاده از پروژه "بیگانه" در VHDL - کمبود دستورالعمل های راهنمایی مناسب و قوانین نوشتن برنامه، مشکلات را تحت پوشش قرار داد. دستورالعمل های عمومی در مورد اسامی، قوانین "خوب" برای نوشتن برنامه ها و دستورالعمل های سنتز نیز داده شد. این سوالات باید تا آنجا که ممکن است با توسعهدهنده ترویج شود، اگر شما قصد دارید تا قبل از توسعه مدل RTL ماژول دیجیتال در FPGA ادامه دهید. این به ویژه در مورد نرم افزار ماژول نرم افزار دیجیتال در PLI درست است. در همان قسمت از مقاله، الزامات کلی برای کل پروژه ماژول دیجیتال توسعه یافته در FPGA شرح داده شده است. در اینجا سوالاتی که باید به آماده سازی یک کار فنی بر توسعه یک ماژول دیجیتال در FPGA توجه کنید، و معمولا به انتقال نتایج کار مربوط می شود.

مدل RTL

ماژول دیجیتال در زیر مجموعه سنتز شده از زبان Verilog یا VHDL یا / و توسعه یافته در ویرایشگر پردازش Schema Schema Schema، برای استفاده در فاز سنتز منطقی منطقی طراحی شده است. برای نرم افزار به صورت یک پروژه مونتاژ شده ماژول دیجیتال در CAPR تولید کننده FPGA می آید. برای یک ماژول دیجیتال، مدل RTL سیستم عامل بر اساس یک توافقنامه جداگانه ارائه شده است.

علاوه بر فایل های مدل RTL، منتقل می شود:

  • دستورالعمل استفاده از مدل.
  • شرح بلوک های حافظه موجود در مدل، از جمله نوع حافظه، اندازه، تعداد بلوک های حافظه، نام سلسله مراتبی بلوک حافظه است.
  • شرح فرآیند ایجاد هسته های آماده شده هنگام استفاده از برنامه ها برای ایجاد آنها (به عنوان مثال، CoreGenerator برای Xilinx ISE). در غیاب توصیف، محدودیت ها ممکن است برای طراحی مجدد و اعمال به دلیل وابستگی به تکنولوژی و سازنده ایجاد شود.
  • در مورد استفاده از میکروپروسسور از سازنده (به عنوان مثال، از Altera - پردازنده NIOS؛ از ریزپردازنده های Xilinx - میکروبرکس، میکروپروسسورهای PowerPC، توضیحات پردازنده پیکربندی هسته پردازنده و حاشیه آن مورد نیاز است.
  • مجموعه آزمون نیمکت (آزمون نیمکت) برای تأیید و مدل سازی یک ماژول دیجیتال نوشته شده در Verilog یا / و VHDL، یا / و سیستم Verilog.
  • هر گونه اطلاعات اضافی دیگر.

مدل منطق

این مدل یک لیست مدار است که با استفاده از نسخه های Verilog یا VHDL در کتابخانه تولید کننده FPGA توصیف شده است و دارای یک سیستم عامل ماژول دیجیتال است.

علاوه بر فایل های مدل منطقی، منتقل می شود:

  • دستورالعمل برای استفاده از این مدل.
  • مجموعه آزمون نیمکت (آزمون نیمکت) برای تأیید و مدل سازی یک ماژول دیجیتال نوشته شده در Verilog یا / و VHDL، یا / و سیستم Verilog.
  • راهنمای کار با مجموعه ای از آزمایشات برای مدل سازی و تایید یک ماژول دیجیتال.
  • هر گونه اطلاعات اضافی دیگر.

محدودیت های پروژه

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

لیست محدودیت نمونه برای سیگنال های هماهنگ سازی:

  • نمودار موقت (شکل موج ساعت)؛
  • پایداری فرکانس ساعت (Jitter)؛
  • تغییر فاز فرکانس ساعت؛
  • زمان انتقال تایمز زمان؛
  • نمودارهای موقت سیگنال های همگام سازی (شکل موج های تولید شده)؛
  • هر گونه اطلاعات اضافی دیگر.

مجموعه ای از محدودیت های سیگنال های همگام سازی برای ماژول های دیجیتال نرم افزار و سیستم عامل مورد نیاز است.

یک لیست نمونه از محدودیت های موقت:

  • زمان ورود در ورودی ها (زمان ورود در ورودی)؛
  • زمان های مورد نیاز در خروجی ها (زمان های مورد نیاز در خروجی ها)؛
  • مسیرهای چندگانه (مسیرهای چند چرخه)؛
  • مسیرهای دروغین (مسیرهای دروغین)؛
  • مدت زمان سوئیچینگ سیگنال داده (زمان انتقال سیگنال داده)؛
  • هر گونه اطلاعات اضافی دیگر.

نتیجه

ترکیب مستندات همراه در ماژول های دیجیتال توسعه یافته برای FPGA با توافق بین مصرف کننده و توسعه دهنده ارائه شده است. اغلب، توسعه دهنده به سادگی ماژول دیجیتال را در زبان VHDL، Verilog، سیستم Verilog و / یا طراحی شده در ویرایشگر مدار ارائه می دهد. با توجه به مستندات اضافی، پاسخ از توسعه دهنده اغلب اتفاق می افتد: "ماژول دیجیتال کار می کند، بنابراین استفاده می شود و استفاده می شود. در توصیف طرح در زبان ابزار، هیچ چیز دشوار نیست: شما آن را شکل می دهید. "

به نظر نویسنده، ممکن است با هر چیزی مقابله شود، همه چیز به تمایل و زمان صرف شده بستگی دارد، و زمان صرف شده برای درک پروژه در ماژول دیجیتال توسعه یافته، به طور مستقیم متناسب با تجربه توصیف از توصیف تجهیزات در VHDL، VERILOG و دانش دیجیتال و میکروپروسسوری تجهیزات مدار. این را می توان اجتناب کرد اگر در ابتدا با توسعه دهنده در مورد ترکیب مستندات همراه موافقت کرد، پس از استفاده از یک ماژول دیجیتال در پروژه خود آسان تر می شود، و پیاده سازی آن سریعتر رخ می دهد.

خلاصه کردن، نویسنده می خواهد توجه داشته باشید که هنگام تدوین کار برای توسعه یک دستگاه دیجیتال در FPGA باید با توصیه های داده شده در مقاله، سپس مشکلات استفاده مجدد یا در طول ارتقاء دستگاه دیجیتال قبلا توسعه یافته، دنبال شود بوجود امدن.

ادبیات

  1. Denisov A. چند راهنمایی برای طراحی دستگاه های دیجیتال در VHDL برای FPGA / / اجزای و فن آوری ها. 2009 № 12.
  2. GOST 2.102-68 ECCD. انواع و کامل بودن اسناد طراحی.
  3. GOST 2.114-95 ECCD. شرایط فنی
  4. GOST 15.101-98. سیستم توسعه و تولید برای تولید. روش اجرای تحقیق و Telski کار می کند.
  5. GOST R 15.201-20-20. سیستم توسعه و تولید برای تولید. تولید تولید و اهداف فنی. روش توسعه و تولید محصولات برای تولید.

در حالی که تعطیلات وجود داشت، یک پروژه کوچک در Verilog ساخته شده بود، که من مدت ها می خواستم امتحان کنم.

ماهیت پروژه به شرح زیر است: FPGA با سرعت بالا (نسبتا، البته البته) ADC با دو کانال و یک رابط موازی (14-16 بیت در هر کانال) متصل شده است. FPGA داده ها را از ADC می خواند و به buffer (برم حافظه داخلی آن) می پردازد. هنگامی که بافر پر شده است، خواندن متوقف می شود، و دستگاه خارجی (میکروکنترلر) می تواند داده ها را از بافر از طریق رابط SPI بخواند. شما همچنین می توانید برخی از پارامترها را با SPI پیکربندی کنید (این در پست بعدی نوشته می شود).

تست پروژه (تصویر قابل کلیک).

نتیجه سنتز برای سیکلون IVE

نتیجه من در کوارتوس دوم، برای FPGA خانواده سیکلون Ive (EP4CE6E22A7) سنتز شده است. این یکی از ساده ترین و کم هزینه FPGA در محفظه QFP144 در 6272 عناصر منطقی است. Microcircuit دارای حافظه ای از بیت های 30K * 9 است. پین های سفارشی - 92.

ep4CE6E22A7 microcircuit
عناصر منطقی - 301 (5٪)
پین ها - 41 (45٪)
حافظه - 65536 بیت (24٪)
فرکانس برای بدترین حالت (125 ثانیه) - 151 مگاهرتز.

حافظه 8 کیلوبایت، این بافر واقعی است که داده ها ثبت شده است. با دو کانال از 16 بیت، 32 بیت در شمارش معکوس و 2048 منابع. من تصمیم گرفتم که این کاملا کافی است، هرچند بافر می تواند حداقل در کل حجم گسترش یابد.

فرکانس کاملا مناسب است، من انتظار داشتم که فرکانس ساعت 50 مگاهرتز و 25 مگاهرتز ADC وجود داشته باشد. به عبارت دیگر، سهام سه طرفه در فرکانس به دست می آید.

تعداد عناصر منطقی به طور کامل کمی برای چنین FPGA، I.E. اگر می خواهید، می توانید چیزهای زیادی را حتی در آنجا انجام دهید، به خصوص از آنجا که پین \u200b\u200bها تا 51 سالگی باقی می مانند.

یک Cyclone 10 خانواده جدیدتر وجود دارد.

نتیجه سنتز برای سیکلون 10

chip 10Cl006ye144C8g را انتخاب کنید. این به عنوان بسیاری از عناصر منطقی (6272) به عنوان گزینه در Cyclone 4، و همان حافظه (30K x 9) است. مسکن یکسان است، QFP144، پین های سفارشی حتی کمتر - 89.

تراشه 10Cl006ye144C8G.
عناصر منطقی - 289 (5٪)
پین ها - 41 (46٪)
حافظه - 65536 بیت (24٪)
فرکانس برای بدترین حالت (85 ثانیه) - 145.5 مگاهرتز.

این کنجکاو است که این پروژه در عناصر منطقی جمع آوری شده است. به عبارت دیگر، با همان ظرفیت منطق در Cyclone 10، یک پروژه پیچیده تر مناسب خواهد بود. همه چیز در مورد همان سطح است.

یک سوال منطقی مطرح می شود: آیا امکان ذخیره، قرار دادن FPGA یا CPLD دیگر وجود دارد؟

بیایید FPGA MAX10 را امتحان کنیم.

نتیجه سنتز برای حداکثر 10

در اینجا خواننده (اگر او در موضوع است) می تواند گمراه کند: نه، همه چیز اشتباه است! حداکثر خانواده CPLD، نه FPGA، و اشتباه این مفاهیم - بی نظیر بی نظیر!

با این حال، با تلاش های بازاریابان اینتل (همه چیز آگاه است که سخنرانی در مورد چیپ های اینتل؟) خانواده Max10 به FPGA تبدیل شده است، اگر چه دارای حافظه پیکربندی داخلی غیر انتفاعی، مانند هر CPLD است.

بنابراین، یک تراشه را انتخاب کنید، به عنوان مثال، 10M02SCE144A7G (2304 LE، 101 GPIO، 12KX9 BRAM)، QFP144 مسکن.

تراشه 10m02sce144A7G.
عناصر منطق - 298 (13٪)
پین ها - 41 (41٪)
حافظه - 65536 بیت (59٪)
فرکانس برای بدترین حالت (125 ثانیه) - 153 مگاهرتز.

ما می بینیم که شاخص های مطلوب عملا باقی مانده اند، تنها میزان پر شدن کریستال افزایش می یابد، که قابل فهم است - 2304LE در برابر 6272 LE.

می تواند حداکثر II استفاده شود؟

در حال حاضر سوال این است: آیا امکان استفاده از هر نوع CPL بسیار ارزان مانند Max II وجود دارد؟ همه چیز در اینجا پیچیده تر است. آنها حافظه برم ندارند، به عنوان مثال نیاز به یک SRAM سریع خارجی است.

برای اتصال SRAM، البته به یک منطق اضافی نیاز دارید. اگر ما از حافظه 4K X 16 استفاده کنیم، پس ما نیاز به 16 پین اضافی برای داده ها، 12 برای آدرس و 3 برای کنترل (/ / cs، / ما، / oe)، تنها 31 پین اضافی نیاز داریم.

منطق نیز در اندازه افزایش خواهد یافت. تا آنجا که دقیق است، دشوار است بگوییم، اما در CPLD در 240 لو، در ابتدا مناسب نیست، و در 570 لو شاید آن را مناسب خواهد بود.

CPLD EPM570 را در مسکن QFP100 انتخاب کنید. ما فقط 72 پین نیاز داریم، مسکن 76 پین برای GPIO، I.E. این باید برای همه چیز کافی باشد، اما فضای بسیار کمی برای گسترش وجود دارد.

مزایای چنین راه حل: شاید قیمت پایین تر (حتی با توجه به تراشه SRAM اضافی)، منفی: پیچیدگی بزرگ مدار و منطقه هیئت مدیره.

قیمت سوال

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

EP4CE6E22C8N - 456.55 P (PROMELECTRONICS، EKB، ROS)
10Cl006ye144C - 754.71 (عنصر پنجم، اسپا، عمده فروشی)
10M02SCE144C8G - 456 P (ELITAN، EKB، عمده فروشی)
EPM570F100C5N - 368 P (Hightec، SPB) + حافظه (CY7C1021DV33-10ZSXI، SRAM 1MBIT 10NS 44TSOP) - 92،51 P (PROMELECTRONICS، EKB، ROS)

البته، شما می توانید پیدا کنید و ارزان تر، این فقط قیمت خرده فروشی در فروشگاه است، اما این نسبت در مورد یکسان خواهد بود.

می توان دید که گزینه ای با CPLD در قیمت برنده نمی شود، در حالی که دارای نقایص بسیاری است. بقیه گزینه ها تقریبا برابر است، به جز اینکه سیکلون 10 هنوز کمی گران تر است و تعداد کمی از مردم در انبار وجود دارد. با این حال، این یک خانواده کاملا جدید است، تا کنون همه توزیع کنندگان او را به ارمغان نمی آورند.

شخصا، من بیشتر دوست دارم گزینه ای در حداکثر 10. این یک مزیت دارد: هنگام شروع، نیازی به دانلود پیکربندی FPGA ندارید. در نوع cyclone 4، شما باید پیکربندی FPGA را دانلود کنید، که می تواند با استفاده از تراشه های حافظه پیکربندی اضافی یا استفاده از میکروکنترلر انجام شود. گزینه سوم دیگری وجود دارد: فلش از طریق JTAG و هرگز قدرت را از تراشه حذف نکنید. من شنیدم که کسی آن را انجام داد، من نمی دانم، این شوخی است یا نه، اما من دقیقا نمی خواهم انجام دهم.

با این حال، گزینه ای با سیستم عامل Cyclone 4 از طریق میکروکنترلر دارای مزیتی است: توانایی به روز رسانی Firmware FPGA از طریق رابط کاربر: USB، اترنت و غیره

یکی دیگر از گزینه های غیر معمول امکان پذیر است: نه برای قرار دادن یک میکروکنترلر در همه، اما برای فلش هر پردازنده داخلی در FPGA. اما این یک گزینه بسیار خوب نیست، احتمالا به این دلیل است در عین حال، قطعا نیاز به یک رام خارجی و رم، و همچنین حداقل یک پل USB است. البته لازم نیست که این گزینه را رد کنید، البته، اما به نظر می رسد که من در پیاده سازی پیچیده تر از یک میکروکنترلر پیچیده تر است.

در مورد چه توابع این سیستم عامل انجام می شود، من در پست بعدی نوشتم.

معرفی

LanguageVHDL در واقع یک استاندارد بین المللی در زمینه اتوماسیون طراحی سیستم دیجیتال است، زبان ورودی بسیاری از سیستم های طراحی خودکار مدرن (CAPR) از هر دو مدارهای مجتمع منطقی و قابل برنامه ریزی (PLS) و ماتریس های قابل برنامه ریزی قابل برنامه ریزی است. VHDL در درجه اول برای مشخصات طراحی شده است - شرح دقیق سیستم های طراحی شده و شبیه سازی آنها در مراحل اولیه طراحی - الگوریتمی و منطقی طراحی شده است. با استفاده از VHDL، می توانید مدارهای الکترونیکی را شبیه سازی کنید، با توجه به تاخیر های زمان واقعی.

به تازگی، سیستم های سنتز سنتز در این زبان بسیار با موفقیت توسعه یافته است. به عنوان مثال، با استفاده از سری پایه Capr Xilinx سری 2.1i، شما می توانید شرح اصلی نمودار را در زبان VHDL شبیه سازی کنید، سپس Synthesize Synthesize Syntesize و فایل پیکربندی (پیکربندی) تراشه Xilinx FPGA را دریافت کنید. استفاده از MAX + PLUSII CAPR به شما امکان می دهد مشکلات مشابهی را برای microcircuits قابل برنامه ریزی تولید شده توسط Altera حل کنید.

VHDL یک زبان قدرتمند است، به شما این امکان را می دهد که رفتار را توصیف کنید، I.E. الگوریتم هایی برای عملکرد سیستم های دیجیتال، و همچنین یک توصیف عملکرد ساختاری سلسله مراتبی از سیستم ها، وسیله ای برای توصیف فرآیندهای ناهمزمان موازی، ساختارهای منظم (سیستولیک) و در عین حال تمام نشانه های زبان برنامه نویسی سطح بالا است - اجازه می دهد شما برای ایجاد انواع داده های خود، دارای محاسبات گسترده و عملیاتی منطقی و غیره است.

3 4
زبان VHDL در حال توسعه است، کنفرانس های بین المللی به او اختصاص داده شده است، و مجلات علمی صادر می شود که در آن مشکلات استفاده از VHDL مورد مطالعه قرار می گیرند. او زبان توسعه پروژه های بین المللی، از جمله کسانی که با استفاده از اینترنت کامپیوتر جهانی اجرا شد، تبدیل شد. آشنایی با این زبان برای کار موثر در ایجاد تجهیزات متنوع متنوع در پایه ی عنصری مدرن مدارهای یکپارچه فوق العاده بالا ضروری است.

کار آزمایشگاهی شماره 1

FPGA Express Debugger

1. توضیحات عمومی

1.1. هدف این کار این است که مهارت ها را برای کار با FPGA Express Debugger بدست آورید.

کار آزمایشگاهی شامل وظایف خانگی و آزمایشگاهی است. تکالیف در توسعه مستقل از ساده ترین فرصت های اشکالزدایی قرار دارد و خود را با هدف خود آشنا می کند. وظیفه آزمایشگاهی شامل وارد کردن نسخه شما از برنامه نوشته شده در VHDL و تسلط بر اصول کار با FPGA Express Debugger در مثال خود است.

با توجه به راهنمای روش شناختی، آن را با انتصاب و قابلیت های اشکال زدایی مدل های دستگاه های دیجیتال در زبان VHDL آشنا است.

3. بخش نظری

FPGA Express پخش می کند و توصیف VHDL را به یک فرمت داخلی معادل با سطح عناصر منطق اولیه بهینه می کند. این فرمت سپس به تکنولوژی FPGA کامپایل شده است.

برای کار با VHDL، باید خود را با مفاهیم زیر آشنا کنید:

زبانهای دلخواه سخت افزار

با استفاده از FPGA Express.

مدل فرآیند طراحی

وزارت دفاع ایالات متحده در سال 1982 توسعه یافته است VHSIC HDL(VHDL) به عنوان بخشی از برنامه توسعه IP فوق العاده با سرعت بالا (VHSIC). VHDL رفتار، توابع، ورودی ها و خروجی های مدار دیجیتال را توصیف می کند. VHDL در سبک و نحو شبیه به زبان های برنامه نویسی مدرن است، اما شامل بسیاری از ساختارهای سخت افزاری خاص است. FPGA Express می نویسد و تجزیه و تحلیل نحو پشتیبانی از VHDL ..

زبانهای دلخواه سخت افزار

زبان های توضیحات سخت افزاری (HDL) برای توصیف معماری و رفتار سیستم های الکترونیکی گسسته استفاده می شود. این زبان ها برای ساخت پروژه های پیچیده طراحی شده اند. یک تقلید تاریخی اغلب در مورد چگونگی توصیف شرح ممکن است از کد های ماشین (ترانزیستورها و لحیم کاری) به assemblerblas (فهرست مدار) و بیشتر به زبان های سطح بالا (HDL) نامیده شود.

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

برنامه های کاربردی معمولی HDL

5 6
HDL معمولا توصیف های ترکیبی را پشتیبانی می کند که در آن طرح های ساختاری یا لیست های زنجیره ها می توانند به توصیف الگوریتم و توصیف رفتار متصل شوند. اگر چنین شرح های مختلفی وجود دارد، ممکن است معماری سیستم را در بالاترین سطح انتزاع نمایش دهید؛ سپس پروژه با افزایش برای اجرای اجزای خصوصی خصوصی، دقیق است. به طور متناوب، توصیف پروژه HDL در FPGA Express استفاده می شود و سپس کامپایلر را به طور خودکار اعدام را در سطح ابتدایی منطقی ترکیب می کند.

مزایای HDL.

روش شناسی پروژه ای که از HDL استفاده می کند، دارای مزایای اساسی اساسی نسبت به روش شناسی طراحی کامپوننت سنتی است. در میان این مزایا باید به شرح زیر باشد:

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

FPGA Express سنتز منطقی و بهینه سازی را فراهم می کند، بنابراین ممکن است به طور خودکار توضیحات VHDL را به سطح ابتدایی برای تکنولوژی انتخابی تبدیل کنید. این روش، تنگناهای سطح جزء را حذف می کند و زمان طراحی را کاهش می دهد، و همچنین تعداد خطاهای ساخته شده توسط پخش دستی برنامه VHDL به عناصر خاص را کاهش می دهد. از طريق بهینه سازی منطقی FPGA Express ممکن است به طور خودکار یک پروژه سنتز شده را به کوچکترین و طرح نزولی تبدیل کند. علاوه بر این، مجاز به اعطای اطلاعات به دست آمده در سنتز و بهینه سازی طرح ها، دوباره به توصیف موجود VHDL، که منجر به تنظیم دقیق تر از راه حل های معماری می شود.

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

VHDL، مانند بیشتر زبان های سطح بالا، تولید سخت چک کردن نوع. اجزای تشکیل دهنده کدام نوع سیگنال چهار تخت را نمی توان با یک سیگنال سه یا پنج تخت متصل کرد. چنین اختلاف نظر به یک خطای کامپایل منجر خواهد شد. اگر محدوده متغیرها از 1 تا 15 تعریف شده باشد، هنگامی که مقدار 0 تعیین می شود، خطا رخ می دهد. استفاده نادرست از انواع، منبع اصلی خطاهای در رسم توصیف است. چک کردن نوع بررسی چنین خطاها را حتی قبل از تولید پروژه تشخیص می دهد.

اشکال زدایی در FPGA Express

برای اشکال زدایی، شما باید اقدامات زیر را اجرا کنید:

7 8
توضیحات دستگاه طراحی شده (جزء) را در زبان VHDL در هر ویرایشگر متن ایجاد کنید. در این مورد، پیش نیاز این است که گسترش این فایل باید باشد: * .vhd. (به عنوان مثال، برای ایجاد یک فایل، شما می توانید از ویرایشگر کلید Commander Norton ساخته شده با استفاده از ترکیب کلید Shift-F4 استفاده کنید.)

2. فایل ایجاد شده را به پروژه در FPGA Express وصل کنید.

برای اتصال یک فایل به پروژه، شما باید یک پروژه ایجاد کنید:

منوی فایل / جدید را انتخاب کنید.

نام پروژه را وارد کنید

هنگام درخواست فایل های پروژه، شما باید فایل (ها) ایجاد شده در 1 نقطه را با یک توصیف در حال حاضر آماده از دستگاه (جزء) ایجاد کنید.

هنگامی که پروژه به درستی متصل می شود، یک پنجره ظاهر می شود، به دو بخش تقسیم می شود: منابع طراحی و چیپس (شکل 1). جایی که منابع طراحی - پنجره برای کار با فایل های پروژه، چیپس - پنجره برای کار با دستگاه های سنتز شده است.


عکس. 1. پنجره پروژه

برای سهولت عملیات با فایل (ها) پروژه در پنجره منابع طراحی، نام (ها) نمایش داده می شود، محل (ها) فایل (ها)، و همچنین حضور خطاهای نحوی و واژگانی یا اشتباهات

هنگامی که شما مکان نما را شناور و به طور همزمان با فشار دادن دکمه سمت راست ماوس بر روی هر یک از نام های این پنجره، منوی زمینه زیر ظاهر می شود (شکل 2):

به روز رسانی پروژه - تجزیه و تحلیل پروژه برای اشتباهات و یا اشتباهات.

پروژه به روز رسانی نیروی تجزیه و تحلیل کامل از تمام پروژه Falats برای اشتباهات و یا اشتباه است.

ایجاد پیاده سازی - ایجاد یک مدل دستگاه.

ویرایش فایل - ویرایش فایل.

شناسایی منابع - اتصال یک فایل به پروژه.

کتابخانه جدید - اتصال کتابخانه خود را به پروژه.

گزارش پروژه - گزارش پروژه (شرح مختصری در قالب یک فایل متنی خارجی).

حذف - حذف یک فایل یا کتابخانه از پروژه.


همانطور که در تمام برنامه های کاربردی با یک رابط کاربری دوستانه، هر آیتم منوی زمینه با یک منو ساده و دکمه های پانل کپی شده است.
شکل 3 بخشی از فایل با یک خطا

ویرایش فایل به طور مشابه به ویراستاران متن اتفاق می افتد و تنها تفاوت این است حذف کاراکترها یا ردیف ها تنها می توانند با استفاده از کلید پشت فضای باز انجام شوند.

پس از اصلاح برای جستجوی سایر خطاهای موجود در این پنجره، باید دکمه راست ماوس را فشار دهید و تجزیه و تحلیل آیتم فایل را در منوی زمینه فعال انتخاب کنید (جستجو برای اشتباهات یا خطاها). بعد بعد از موفقیت ویرایش مطلوب برای ذخیره تغییرات جاری است.

اگر هیچ خطایی وجود نداشته باشد، فایل مربوطه نسخه سنتز شده خود را (به عنوان مثال، مدل دستگاه توصیف شده در فرمت داخلی FPGA Express در شکل 4 نشان داده شده است.

شکل 4 نسخه سنتز شده از دستگاه Coder

نسخه سنتز شده یک لینک متوسط \u200b\u200bبرای موفقیت ایجاد یک مدل دستگاه دیجیتال است.

4. پرونده

4.1 با استفاده از هر ویرایشگر متن، توضیحات یک دستگاه دیجیتال را با توجه به گزینه خود شماره گیری کنید. برای جلوگیری از اشتباهات، لازم است که فایل دارای یک فرمت * .vhd باشد.

4.2 ایجاد یک پروژه در FPGA Express Debugger و اتصال یک فایل ثبت شده به آن.

4.3 پس از توصیف صحیح فایل توصیفی، یک گزارش را در مورد پروژه خود با استفاده از FPGA Express ایجاد کنید.

نام؛

هدف از کار؛

تجهیزات مورد استفاده؛

بخش نظری؛

شرح توالی اقدامات هنگام اشکال زدایی گزینه شما؛

چاپ گزارش پروژه؛

1. برنامه FPGA Express چیست و عملکرد اصلی آن چیست؟

2. مزایا و معایب زبان HDL به عنوان یک زبان از توضیحات سخت افزاری چیست؟

3. در هنگام تخریب توضیحات VHDL از دستگاه شما چیست؟

11 12

آزمایشگاه شماره 2

فرصت های اولیه FPGA Express Express

1. توضیحات عمومی

1.1. هدف از این کار، بررسی قابلیت های سنتز و بهینه سازی اشکال زدایی FPGA Express است.

کار آزمایشگاهی شامل وظایف خانگی و آزمایشگاهی است. تکالیف این است که اصول اشکال زدایی توصیف VHDL را تکرار کنید. وظیفه آزمایشگاهی شامل ورود به تجسم یک برنامه نوشته شده در VHDL و بررسی اصول سنتز و بهینه سازی دستگاه طراحی شده با استفاده از FPGA Express Debugger است.

1.3. تجهیزات مورد استفاده

برای انجام یک کار آزمایشگاهی، یک نوع IBM PC PEVM استفاده می شود، یک مانیتور رنگی با یک آداپتور گرافیک VGA و بالا، چاپگر.

2. تکالیف و راهنمایی برای اجرای آن

با توجه به راهنمای روش شناختی، آن را با و تکرار مقصد و امکان مدل های اشکال زدایی دستگاه های دیجیتال در زبان VHDL آشنا و تکرار می کند.

3. بخش نظری

روش شناسی طراحی

در شکل 5 یک روش طراحی معمولی را نشان می دهد که از شبیه ساز FPGA Express و VHDL استفاده می کند. هر مرحله از چنین مدل طراحی به طور دقیق شرح داده شده است.



شکل. 5. طراحی ساختاری مراحل طراحی

13 14
1. توصیف شرح پروژه در زبان VHDL. این توصیف ممکن است ترکیبی از عناصر ساختاری و عملکردی باشد. این شرح توسط شبیه سازهای VHDL FPGA Express و Synopsys استفاده می شود.

2. ارائه رانندگان تست زبان VHDL برای شبیه ساز. رانندگان دارای بردار آزمون برای مدل سازی و جمع آوری خروجی هستند.

3. مدل سازی پروژه با استفاده از شبیه ساز VHDL. صحت توصیف پروژه را بررسی کنید.

4. استفاده از FPGA Express به سنتز و بهینه سازی توصیف پروژه VHDL به لیست ابتدایی زنجیره. FPGA Express لیستی بهینه سازی شده را تولید می کند که محدودیت های زمانی معماری FPGA انتخاب شده را برآورده می کند.

5. با استفاده از سیستم طراحی FPGA (مدیر طراحی) برای برقراری ارتباط یک نسخه تکنولوژیکی خاص FPGA با یک شبیه ساز VHDL. سیستم طراحی شامل مدل های شبیه سازی و رابط های مورد نیاز برای طراحی پایان به پایان است.

6. مدل سازی یک نسخه فرآیند خاص پروژه با استفاده از شبیه ساز VHDL. مجاز به استفاده از درایورهای اصلی مدل سازی VHDL از پاراگراف 2، از آنجا که تعاریف ماژول ها و پورت ها در فرآیند انتقال و بهینه سازی ذخیره می شود.

7. مقایسه خروجی مدل سازی در سطح عنصری (بند 6) با خروجی مدل سازی توصیف اصلی VHDL (بند 3) برای تأیید اینکه اجرای صحیح است.

سلسله مراتب پروژه

FPGA Express از مرزهای سلسله مراتبی تعریف شده در هنگام استفاده از طرح های ساختاری ساختاری VHDL پشتیبانی می کند. این مرزها به دو نتیجه اصلی منجر می شود:

1. هر شی پروژه تعریف شده در توصیف VHDL به طور جداگانه سنتز شده و به عنوان یک پروژه مستقل نگهداری می شود. در عین حال، محدودیت های پروژه در نظر گرفته می شود، و هر شی را می توان به طور جداگانه در FPGA Express بهینه سازی کرد.

2. پیاده سازی کامپوننت در داخل توصیف VHDL در طول ورودی پشتیبانی می شود. نام پیاده سازی که به هر شیء کاربر اختصاص داده شده است تا اعدام بر روی سطح عنصر ذخیره شود.

توجه داشته باشید. FPGA Express پشتیبانی نمی کند و به طور خودکار سلسله مراتب دیگر ساختارهای VHDL غیر ساختاری مانند بلوک ها، فرایندها، چرخه ها، توابع و روش ها ایجاد نمی کند. این عناصر توصیف VHDL در زمینه پروژه های خود پخش می شوند. پس از خواندن پروژه VHDL، شما می توانید منطق فرآیند، ویژگی ها یا رویه های داخل FPGA Express (Window Window) را کنار بگذارید.

انتخاب مرزهای سلسله مراتبی تأثیر قابل توجهی بر کیفیت پروژه سنتز شده دارد. با FPGA Express، شما می توانید پروژه را بهینه سازی کنید، مرزهای سلسله مراتبی خود را حفظ کنید. FPGA بیان تنها به طور جزئی منطق را در سراسر ماژول های سلسله مراتبی بهینه می کند. بهینه سازی کامل در آن بخش های سلسله مراتب پروژه امکان پذیر است که در FPGA Express فشرده می شوند.

یک نمونه از یک ساختار سلسله مراتبی یک دستگاه پیچیده در شکل نشان داده شده است. 6

شکل. 6. ساختار سلسله مراتبی

انواع داده ها

در VHDL، شما باید نوع تمام پورت ها، سیگنال ها و متغیرها را اختصاص دهید. نوع داده های شیء توسط عملیات تعیین می شود که می تواند به آن اختصاص داده شود. به عنوان مثال، اپراتور و برای اشیاء نوع تعیین می شود بیت،اما نه برای اشیاء شی عدد صحیح. انواع داده ها مهم هستند و در سنتز پروژه. نوع داده های شیء اندازه آن (عرض در بیت ها) و سازمان بیت را تعیین می کند. انتخاب صحیح انواع داده ها به طور قابل توجهی کیفیت پروژه را بهبود می بخشد و به حداقل رساندن تعداد خطاها کمک می کند.

محدودیت های پروژه

لازم است محدودیت های کیفی ماژول پروژه را درون پنجره پیاده سازی اکسپرس FPGA توضیح دهیم.

یک ثبت نام را انتخاب کنید

قرار دادن برنامه های ثبت شده و تاکتیکی یک راه حل معماری بسیار مهم است. دو راه برای تعریف ثبت نام در توضیحات VHDL شما وجود دارد. هر یک از این روش ها مزایای خاصی دارند:

1. با انتخاب هر مورد دلخواه از کتابخانه FPGA، به طور مستقیم در توضیحات VHDL ثبت نام کنید. طرح های فروش بلیط می تواند پیچیدگی خودسرانه باشد. معماری را بر اساس محرک یا لتش انتخاب می کند. معایب اصلی این روش عبارتند از:

توضیحات VHDL در حال حاضر به یک تکنولوژی خاص وابسته است، زیرا شما عناصر ساختاری را از کتابخانه تکنولوژیک انتخاب کرده اید. با این حال، ممکن است این بخش از پروژه را به شکل یک شیء جداگانه جدا کنید، که پس از آن با بقیه پروژه همراه خواهد بود.

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

15 16
2. از ساختارها استفاده کنید اگر.و صبر کن.برای آوردن ماشه و لتش از توضیحات. مزایای این رویکرد به طور مستقیم مخالف کمبودهای قبلی است. هنگام استفاده از توصیف منطقی ثبت نام، برنامه VHDL از لحاظ تکنولوژیکی مستقل و ساده تر برای نوشتن است. این روش به FPGA Express اجازه می دهد تا نوع کامپوننت را که بسته به محدودیت ها توضیح داده شود، انتخاب کند. بنابراین، اگر یک مولفه خاص مورد نیاز باشد، اجرای آن باید استفاده شود. با این حال، برخی از انواع ثبت و لغات را نمی توان منطقی توصیف کرد.

پروژه های ناهمزمان

امکان استفاده از FPGA Express برای ساخت پروژه های ناهمزمان با پالس های همگام سازی چندگانه و کنترل شده وجود دارد. با این حال، اگر چه این پروژه ها منطقی هستند (از لحاظ آماری) درست است، آنها ممکن است نادرست شبیه سازی شده یا در ارتباط با شرایط مسابقه باشند.

سازه های زبان

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

کار آزمایشگاهی شماره 3

شبیه ساز مدل های VHDL مدل سازی

1. توضیحات عمومی

1.1. هدف از این کار، آشنایی با مدل های VHDL شبیه ساز مدل های مدل سازی است.

کار آزمایشگاهی شامل وظایف خانگی و آزمایشگاهی است. تکالیف این است که اصول اشکال زدایی، سنتز و بهینه سازی توصیف های VHDL را با استفاده از FPGA Express Debugger تکرار کنید. وظیفه آزمایشگاهی شامل وارد کردن یک نسخه نمونه ای از برنامه نوشته شده در VHDL و مدل سازی و تجزیه و تحلیل دستگاه شما با استفاده از شبیه ساز مدل ها است.

1.3. تجهیزات مورد استفاده

برای انجام یک کار آزمایشگاهی، یک نوع IBM PC PEVM استفاده می شود، یک مانیتور رنگی با یک آداپتور گرافیک VGA و بالا، چاپگر.

2. تکالیف و راهنمایی برای اجرای آن

با توجه به راهنمای روش شناختی، آن را با مقصد و تکرار مقصد و تمام ویژگی های اصلی اشکال زدایی مدل های دستگاه های دیجیتال در زبان VHDL آشنا و تکرار می کند.

3. بخش نظری

21 22
Modelsim یک سیستم شبیه سازی است که به شما اجازه می دهد تا توصیف هایی را که در زبان های VHDL و HDL ارائه شده است شبیه سازی کنید. در این مورد، پیش نیاز مدل سازی ساده، حضور توصیف مدل مدل فعال، I.E. در طول یک دوره زمانی خاص در ورودی و، بر این اساس، در خروجی این مدل، تغییرات در حالت های منطقی باید رخ دهد. به عنوان مثال: شرح عنصر ابتدایی خواننده وجود دارد (شکل 10).

شکل. 10. طرح دستگاه دیجیتال فعال

این در اینجا، علاوه بر توصیف ساختار و عملکرد عنصر خود، لازم است یک دستگاه اضافی ایجاد یک توالی خاص از حالت های منطقی ورودی (احتمالا بخش ورودی جدول حقیقت) عنصر خواننده ایجاد شود.

مدل سازی در مدل ها

در غیاب خطاها در مراحل اتصال فایل با دستگاه فعال منبع، فرآیند مدل سازی خود را می توان آغاز کرد.

بسته به اهداف مدل سازی در سیستم مدل سازی، ارائه شده است: یک کاروان برای اختیار موقت مدل سازی، و همچنین امکان مشاهده مستقیم در تقریبا تمام فرآیندهای کلیدی که در دستگاه رخ می دهد (دومی در آزمایشگاه بعدی در نظر گرفته می شود کار)

ابزار کنترل مدل سازی را در نظر بگیرید. به این معنا، برای کنترل کامل بر روند مدل سازی، منوی اصلی و گزینه های مورد نیاز است. همه آیتم ها برای کنترل منوی Run، و در منوی گزینه ها - گزینه های شبیه سازی گزینه ها (نصب پارامترهای مدل سازی خصوصی) طراحی شده اند.

هنگامی که گزینه های شبیه سازی را فعال می کنید، پانل مدل سازی پارامتر مدل سازی ظاهر می شود (شکل 14).

این پانل شامل سه زبانه است:

ورم - به طور مستقیم پارامترهای مدل سازی. پارامترهای زیر در اینجا نصب شده اند:

طول اجرای پیش فرض - تنظیم حداقل نمونه گیری زمانی از روند شبیه سازی.

27 28
محدودیت تکرار - حداکثر زمان تکرار.

هشدارهای سرکوب - خاموش کردن / تبدیل سیستم واکنش برای هشدارها مربوط به انواع مختلف اشتباهات.

نیروی پیش فرض نیرو - تنظیم مدل سازی فرایند مدل سازی (Freeze / Drive) / سپرده (به طور کامل تحت کنترل)).

Radix پیش فرض نمایش سیگنال پیش فرض (نمادین / باینری / باینری) / اکتال (اکتال) / دهدهی (دهدهی) / هگزاسیون (هگزادسیمال)) است.

شکل 14 - پانل گزینه های شبیه سازی

عبادتسیستم سیستم اکشن بر خطاهای مختلف (شکل 15):

ارجاع- شکستن مدل سازی (توجه (نظر) / هشدار (خطا)).

نادیده گرفتن اظهارات - تنظیم مرزهای سیستم دفاع از حفاظت. (توجه / نظر) / هشدار (اشتباه) / خطا (- پارامترهای خروجی منبع منبع را در پنجره خطای منبع) / شکست ("شکست") تنظیم می کند).

اقدامات سیستم


4. پرونده

5. دستورالعمل

بخش نظری؛

شرح توالی اقدامات با توضیحات نصب دستگاه برای مدل سازی؛

نتیجه گیری در مورد کار انجام شده است.

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

1. نیاز به استفاده از سیستم های مدل سازی مدل های مشابه چیست.

2. اگر هر کدام از کاستی های سیستم چیست؟

3. دیدگاه شما از کاربرد سیستم مدل سازی چیست؟

29 30

آزمایشگاه شماره 4

شبیه ساز مدل ها

1. توضیحات عمومی

1.1. هدف از این کار، دستیابی به مهارت ها برای شبیه سازی دستگاه های طراحی در سیستم مدل سازی است.

کار آزمایشگاهی شامل وظایف خانگی و آزمایشگاهی است. تکالیف این است که اصول کار با شبیه ساز مدل ها را تکرار کنید، در کار آزمایشگاهی قبلی تسلط دهید. وظیفه آزمایشگاهی این است که نسخه خود را از برنامه نوشته شده در VHDL و در انجام مدل سازی کامل و تجزیه و تحلیل دستگاه طراحی شده با استفاده از ModelSim، اتصال دهید.

1.3. تجهیزات مورد استفاده

برای انجام یک کار آزمایشگاهی، یک نوع IBM PC PEVM استفاده می شود، یک مانیتور رنگی با یک آداپتور گرافیک VGA و بالا، چاپگر.

2. تکالیف و راهنمایی برای اجرای آن

تکرار مواد را در کلاس های قبلی تکرار کنید.

3. بخش نظری


و خروجی) / سیگنال های داخلی (سیگنال های داخلی)).

برای انجام این کار، در مدل های، یک سیستم اطلاعات و اطلاعات کاربردی ویندوز ایجاد شد (نمایش منوی اصلی). شرایط اصلی برای همه پنجره ها فایل منبع به درستی متصل شده با توصیف VHDL از دستگاه شبیه سازی شده است.

اصول کار با آن را در نظر بگیرید:

1. منبع - پنجره با یک فایل منبع VHDL (شکل 16). به شما اجازه می دهد تا نقطه توقف را نصب کنید (برای این که شما نیاز به دوبار فشار دادن دکمه سمت چپ ماوس در شماره خط را فشار دهید). برای تغییر پنجره محتویات، شما باید فایل منبع انتخاب را فعال کنید ... منوی فایل اصلی (تغییر فایل منبع تنها می تواند بر روی فایل متصل به پروژه باشد)، یا دوبار کلیک بر روی دکمه سمت چپ ماوس در پنجره گزارش و سوالات را بررسی کنید

5.1. گزارش گزارش آزمایشگاهی باید شامل موارد زیر باشد:

نام؛

هدف از کار؛

تجهیزات مورد استفاده؛ ساختار به نام فایل مورد نیاز. توجه: پنجره به شما اجازه نمی دهد فایل های منبع را ویرایش کنید.


شکل 16.6 پنجره منبع

2. ساختار. - پنجره حاوی ساختار و وابستگی فایل های پروژه (شکل 17). تابع کمکی را برای پنجره منبع حمل می کند.

شکل. 17. پنجره ساختار


3. متغیرها - پنجره شامل تمام طراحی متغیر داخلی زبان VHDL برای توصیف مدل متصل شده فعلی (شکل 18) است. فقط تابع اطلاعات حمل می شود.

4. سیگنال ها - یک پنجره حاوی یک لیست و مقادیر تمام پورت ها و سیگنال های I / O (شکل 19). پنجره هر گونه تغییر را به محتویات تمام بنادر I / O و سیگنال ها ضبط می کند. ممکن است تعداد محدودی از سیگنال ها یا پورت ها را در این پنجره حذف، اضافه یا نصب کنید

مقدار. - مقدار سیگنال فعلی.

شکل. 21. پنجره سیگنال نیروی

تاخیر انداختن. - زمان تأخیر از مقدار سیگنال فعلی (مقدار مقدار به سمت راست میدان ورودی مشخص شده است).

ارزش دوم ارزش وضعیت بعدی این سیگنال یا پورت I / O است.

: قبل از تغییر شار به مقدار دقیقا به مقدار تاخیر وارد کنید، توجه داشته باشید که توجه داشته باشید از خطاهای هشدار مرتبط با مدل سازی دستگاه، تاخیر برای ارزش دوم - ارزش برای دستگاه طراحی شده ارائه شده است.

وضعیت آن در پس از آن (ارزش دوم). توجه: ارزش این فیلد باید لزوما تاخیر سیگنال باشد.


تکرار هر -این فیلد یک پارامتر اختیاری برای مدل سازی است، زیرا این به معنای یک دوره تکرار تغییرات در وضعیت پورت ورودی / خروجی یا مقدار سیگنال است. این فیلد در پارامترهای اساسی تغییرات با پرچم فعال شده در مقابل آن فعال است.

نکته: ارزش این فیلد باید لزوما بیشتر از مقدار تاخیر برای زمینه ارزش دوم باشد، زیرا نقطه شروع فرآیند مدل سازی برای تمام تاخیرهای سیگنال رایج است.

نوع. - درجه استقلال تغییرات را تنظیم کنید. (Freeze (سیستم به طور خودکار کنترل تغییرات) / درایو (توانایی کنترل) / سپرده (مدیریت طراح کنترل نشده)).

برای تأیید تنظیمات تغییر سیگنال وارد شده یا پورت I / O، روی دکمه Apply کلیک کنید.

برای تنظیم پارامترهای تغییرات در سیگنال دیگر، باید در پنجره سیگنال انتخاب شود.

ممکن است یک لیست محدود از سیگنال ها را با استفاده از پنجره سیگنال نصب کنید، جایی که می توانید مورد نیاز ترین آنها را انتخاب کنید، و افزودن به لیست لیست (Sub-clause signals انتخاب شده (اعمال می شود برای اضافه کردن یک گروه انتخاب شده به پنجره لیست)) . علاوه بر این، تمام سیگنال های پروژه فعلی را می توان به لیست (با استفاده از سیگنال ها در طراحی)، تمام سیگنال های فعال در لحظه شبیه سازی (با استفاده از سیگنال ها در منطقه) یا سیگنال های مربوط به هر جریان اطلاعاتی (با استفاده از پنجره Dataflow (انتخاب جریان مورد نیاز) و سیگنال های فرعی از dataflow ...).

توجه داشته باشید.

گام تحریک آمیز از ثبت تغییرات در مقادیر سیگنال در پارامترهای فرآیند شبیه سازی تنظیم شده است (گزینه های ... / شبیه سازی گزینه ها ...). پنجره گزینه های مختلفی را برای رفع تغییرات سیگنال ها فراهم می کند و جدول حاصل را در یک فایل جداگانه ذخیره می کند.

6. روند. - یک پنجره حاوی نام و وضعیت VHDL -Processions دستگاه شبیه سازی شده فعلی (شکل 23). امکان خروجی محدود فرایندها هنگام استفاده از آیتم های فرآیند در منوی اصلی گزینه ها (امکان خروجی تمام فرایندهای فعال (مشاهده فرآیندهای فعال) یا فرایندهای فعال در مرحله فعلی (شبیه سازی) وجود دارد.

شکل. 23. پنجره فرآیند

7. موج - پنجره مورد نیاز برای خروجی نمودارهای موقت یک مجموعه خاص از سیگنال ها یا پورت های I / O (شکل 24).

شکل. 24. پنجره موج

پنجره دارای تمام خواص یک ابزار انعطاف پذیر برای نظارت بر سیگنال ها در زمان فرآیند مدل سازی خود است. در مجموع با پنجره سیگنال و نقطه افزودن به شکل موج موج سیگنال اصلی، این پنجره توانایی تعریف یک لیست محدود از سیگنال های انتخاب شده از سیگنال ها (نصب در لیست کاری سیگنال های انتخاب شده در پنجره سیگنال) را دارد سیگنال های زیر بند در منطقه (نظارت بر سیگنال های فعال در تکرار شبیه سازی فعلی)، سیگنال های فرعی در طراحی (تنظیم تمام سیگنال های پروژه)، سیگنال های فرعی از داده ها از Dataflow (تنظیم سیگنال های درگیر در جریان اطلاعات انتخاب شده از پنجره Dataflow)) . مانند تمام پنجره های کاربردی، این پنجره دارای توانایی کار با لیستی از سیگنال های خروجی (منوی مکان نما و ویرایش پنجره)، به شما اجازه می دهد تا خروجی نمودار زمان را کنترل کنید (زوم منو و گزینه ها). یک ابزار کمکی اضافی، لغزنده (نصب شده در هر نقطه ای از نمودار با استفاده از ماوس)، که زمان مدل سازی را در موقعیت فعلی رفع می کند. علاوه بر این، هنگام تغییر موقعیت دونده، اگر مقادیر هر سیگنال در موقعیت بعدی تغییر یابد، تغییرات مربوطه در لیست تصاویر سیگنال ها (به سمت چپ نمودارها، همانطور که نشان داده شده است ثبت می شود در شکل 24)

8. DataFlow - یک پنجره ای است که سازماندهی تمام جریان های اطلاعات موجود در دستگاه مدل سازی را نشان می دهد (شکل 25).

شکل. 25. پنجره Dataflow

همانند بسیاری از پنجره های کاربردی، در ارتباط با سایر ویندوز کار می کند:

سیگنال ها (این پنجره به شما اجازه می دهد تا سیگنال های زیر را انتخاب کنید تا جریان های اطلاعات مربوط به اطلاعات مربوطه را در پنجره Dataflow تجسم کنید).

فرآیند (با این پنجره، شما می توانید یک فرآیند را برای نشان دادن جریان اطلاعات خود انتخاب کنید).

4. پرونده

4.1. با استفاده از هر ویرایشگر متن، توضیحات یک دستگاه دیجیتال را با توجه به گزینه خود، شماره گیری کنید. برای جلوگیری از اشتباهات، لازم است که فایل دارای یک فرمت * .vhd باشد.

4.2. یک پروژه را در سیستم مدل سازی مدل سازی ایجاد کنید و به آن تایپ شده و در فایل FPGA Express وارد کنید.

4.3. پس از اتصال به درستی اتصال فایل توضیحات، سیستم را برای تست دستگاه خود نصب کنید.

4.4. تست و تجزیه و تحلیل کامل دستگاه دیجیتال خود را با توجه به گزینه شما.

5. دستورالعمل ثبت نام گزارش و مسائل کنترل

5.1. گزارش گزارش آزمایشگاهی باید شامل موارد زیر باشد:

نام؛

هدف از کار؛

تجهیزات مورد استفاده؛

بخش نظری؛

شرح توالی اقدامات در روند تجزیه و تحلیل و مدل سازی گزینه شما؛

چاپ تمام ایالت ها، تمام سیگنال ها؛

چاپ فایل منبع شما؛

چاپ نمودارهای موقت و فرآیندهای موقت؛

نتیجه گیری در مورد کار انجام شده است.

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

1. توابع اصلی سیگنال ها و پنجره های موج چیست؟

2. تجسم ساختار ساختار جریان اطلاعات در طراحی در طول طراحی چقدر مهم است؟

37 38
3. دستگاه هایی با چه نوع سیگنال ها، به نظر شما، می توانند در شبیه ساز مدل ها آزمایش شوند؟

کار آزمایشگاهی شماره 5

آشنایی با زبان VHDL

1. توضیحات عمومی

زنگ.

کسانی هستند که این خبر را قبل از شما خوانده اند.
مشترک شدن برای دریافت مقالات تازه.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید زنگ را بخوانید
بدون هرزنامه