Quartus ii, початок знайомства

Програма на vhdl вже є, тепер розповім що з нею робити.

При запуску програма пропонує створити новий проект або відкрити існуючий

Quartus ii, початок знайомства

вибираємо "Create a New Project", якщо вже зайшли в програму, тоді
File-> New Project Wizard ...
Не думаю що ви побачите щось нове: вибір каталогу і назва проекту, додавання файлів до проекту, вибір чіпа, фініш.

Тепер потрібно створити файл (грунтуючись на статтю Що таке VHDL. Найпростіший приклад створення логічного елемента в ПЛІС) створюємо файл vhdl
File-> New-> VHDL File

Quartus ii, початок знайомства

Копіпаст в нього весь код, зберігаємо. Тепер вказуємо програмі що це головний файл проекту
Project-> Set as Top-Level Entity

Quartus ii, початок знайомства

(Без цього нічого не вийде).

Можна компілювати.
Processing-> Start Compilation (Ctrl + L)
або фіолетовий трикутник вгорі на панелі.

Виводиться звіт про компіляції, якщо все добре - йдемо далі.

Перед прошивкою потрібно призначити відповідність між сигналами входу і виходу в проекті і пинами чіпа. заходимо
Assignments-> Pins

Quartus ii, початок знайомства

Внизу бачимо назву наших сигналів. В поле Location просто вибираємо потрібний пін, або клацнути два рази на піне (де зображення мікросхеми) і вибрати потрібне ім'я.

У ПЛІС все Піни рівноправні, можуть бути як входом, так і виходом, або двонаправлені. Деякі висновки можуть бути джерелом глобального клок, глобальним скиданням або глобальним enable. У нашому проекті є всі ці види сигналів, звичайно не обов'язково їх підключати до цих пінам, але в більшій проект де тактовий сигнал йде на багато модулів це буде ефективніше, оскільки фізично вони так побудовані всередині чіпа. Також в залежності від конкретної мікросхеми можна вибирати навантажувальну здатність виведення, підключати підтягаючий резистор або захисний діод.

Після призначень висновків можна приступати до програмування
Tools-> Programmer

Quartus ii, початок знайомства

Коли проект складається з безлічі файлів (а це найчастіше), тоді зручно щоб головним був файл схемотехнического опису. створюємо
File-> New-> Block Diagram / Schematic File
Зберігаємо, назвемо його main.

Щоб додати туди наш vhdl файл, треба створити з нього символьний файл. Для цього вибираємо vhdl файл, тиснемо
File-> Create / Update-> Create Symbol File for Current File

Quartus ii, початок знайомства

Повертаємося до нашого main.bdf, тиснемо Symbol Tool (кнопочка у вигляді логічного елемента І).

Quartus ii, початок знайомства

Програма створила 2 символьних файлу, оскільки в vhdl два entity. Власне то що ми описали в entity ми бачимо в образі цього символьного файлу, якийсь чорний ящик у якого є входи і виходи, а то що в ньому відбувається описано в architecture.

Тепер додаємо Піни, даємо їм якесь осмислене назва.

Quartus ii, початок знайомства

Має вийти щось типу цього:

Quartus ii, початок знайомства

Тут можна додавати різні цікаві штуки, такі як мікросхеми стандартної логіки або різні суматори, мультиплексори і т. Д.

Quartus ii, початок знайомства

Також в залежності від використовуваної мікросхеми її «фарш» у вигляді пам'яті, або як в сімействі MAX II, вбудований генератор на 5 МГц. Все додається і з'єднується проводами, причому в чіпі воно також буде фізично з'єднане.

Зберігаємо файл, знову проробляємо
Project-> Set as Top-Level Entity

Тепер мої зауваження і доопрацювання проекту.

Тут 2 entity будуть зайвими, оскільки в схемотехническом файлі можна з'єднувати всі блоки звичним чином і одні сигнал пускати куди завгодно.

Також тут не потрібно підключати бібліотеку, т. К. Вона не використовується (в ній описані сигнали типу std_logic).

Наш файл спрощується до такого


тепер внесу свої 5 копійок в код

відмазки
Історично склалося що я описав створення проекту в Квартус за першою статтею про vhdl, хоча краще було б по другій. Але так як у мене були зауваження по цій статті, а також хотілося Ultrin'у показати як створюється проект в Квартус я вирішив нічого не переробляти.

Взагалі тема про ПЛІС стає популярною, а для мене особливо. Поки ще не прочитав усіх статей, але до сих пір не вирішу на якому виробнику зупинитися - Altera або Xilinx. У будь-якому випадку страшенно радий, що з'явилося це співтовариство і народ викладає статті на тему ПЛІС, а то починати тільки з зарубіжної літератури і даташітов якось сумно.

ЗИ. Паралельно намагаюся освоїти AVR. Нічо так))))))))))
ЗЗИ. Звернення до тих, хто знає і вміє: жахливо буду вдячний вам (напевно, не тільки я), якщо ви продовжите розповідати про цю цікаву тему з таким же ентузіазмом

У пострадянському просторі чомусь Альтеровская продукція більш популярна (ІМХО, можливо по-тому, що є офіційні центри Альтери), а ось за кордоном, особливо у японо-корейців і в європі дуже часто зустрічаюся з розробками під Xilinx. На мій погляд, російськомовних матеріалів під Альтера більше і вона простіше в освоєнні.

Ну збентежилася аж. Подивися ціни в терраелектроніке той-же.

А по сабжу: ось чому логіка хороша на відміну від контролера - це:

- Ну ясна річ, все распараллеліть (і це головне!). Вважай чогось, лей в UART, читай з SPI - все одночасно, аби пам'ять встигала (ну це, якщо вона взагалі потрібна).
- Мало якихось інтерфейсів? Додай хоч скільки, яких треба на одному камені.

Але є, звичайно, речі, для яких логіка, ІМХО, не дуже підходяща штука: наприклад підтримка FAT, стека TCP / IP ... і це все що я згадав :)
Так само, не слід займатися херней і намагатися запхати в логіку який-небудь проц, наприклад альтеровскій Nios II. Це безглуздо, краще взяти готовий, він все одно виграє по швидкості, а гемора буде сильно менше.

Ну якщо є невикористані ресурси, то вже краще помучитися і запхати Ніос, ніж, тулить зовнішній. А взагалі багато речей, які роблять на МКконроллерах / процесорі часто можна замінити не складним цифровим автоматом.

Для новачків пораджу ще непогану серію статей по Quartus I. Там є і компіляція, і призначення портів, і моделювання і ТаймКвест.

EasyEDA: безкоштовний Хмарний CAD

Прямий ефір

Схожі статті