Предлагается курс по работе с САПР QuartusII, HDL-языком Verilog и системой моделирования ModelSim. Рассматриваются вопросы проектирования цифровых схем (комбинационных, триггерных), автоматов Мили и Мура, различных регистровых устройств, таких как счётчики, регистры хранения, сдвига и т.п. - ru-vid.com - t.me/FPGAing - vk.com/FPGAing - zen.yandex.ru/id/623f67692ac6d6128c80762c - rutube.ru/channel/25203873
А вот интересно. Я попробовал сделать простой сдвиговый регистр, один отмечен как счетчик, второй как данные, но на схеме - это всего лишь один единственный элемент. Интересно, это отдельный элемент, например в Max II, или этот регистр строится из простых элементов 2И-НЕ, т.е. сначала будут триггеры, а затем - множество триггеров. Т.е. вопрос в том, в ПЛИСе будет использован только один 4-х разрядный элемент сдвига или же будут просто использовано 8 элементов 2И-НЕ (которые предварительно объединятся компилятором в модуль 4-х разрядного сдвигового регистра)? И можно ли после компиляции посмотреть сколько реально простых элементов ПЛИС было использовано?..второй вопрос снимаю (увидел где показывает).
Не понял вопроса. Сдвиговый регистр - это последовательно подключённые триггеры. В плисах триггеры уже существуют как самостоятельные элементы, нет необходимости (и даже вредно) собирать их на элементах И. Сколько разрядов у регистра столько будет и триггеров, + некоторое количество элементов для обеспечения режима хранения. Я с Max II не работал, какие там триггеры не знаю, может быть у них уже есть вход разрешения работы, тогда режим хранения на внешних элементах делать не нужно, всё уже есть внутри триггера.
Кстати, наверно, схема не будет один в один со всеми элементами и их наименованиями. Я сделал код, который в одном ассигне делает операцию И и в другом тоже И, у каждого элемента своё имя. А потом взял и третий элемент И поставил между ними. В результате компилятор оптимизировал по своему и выставил просто один элемент 4И-НЕ. (Программа Квартус версии 18)
Да, оптимизирует, притом по жёсткому. Если, скажем, выход какого-нибудь элемента никуда не подключён, то делается вывод что элемент ненужен и он удаляется, следовательно те элементы которые были подключены на его вход становятся не подключёнными, а значит тоже не нужны. И в итоге он так всю схему может выкинуть.
21:48 я уже начал изучать Верилог и полагаю, компилятор просто воспринял тип провода по умолчанию как wire, даже если убрать его совсем. Наверно с типом reg так не получилось бы перемещать в модуле куда угодно. Возможно я неправ.
Вчера только узнал, что есть такое, как ПЛИС со своей архитектурой и средой разработки. Сразу понравилось и захотелось попробовать, заказл простую Altera MAX 2. Но вот вопрос,- Вы не планируете случайно рассказать ещё и о характеристиках ПЛИС-плат, чтобы иметь представление на какой плате сколько и каких элементом можно разместить, т.к. я вроде как увидел, что на них могут быть не только логические элементы, но и даже операционные усилители и т.п? Также нашёл плату SDRAM как раз для ПЛИС. Как запрограммировать ПЛИС чтобы произвести элементарные действия записи/чтения? Понимаю, что это обширная область знаний, но на мой взгляд это необходимо - без практики очень сложно что-то осваивать, теорию нельзя пощупать.
Логические элементы и операционные усилители где, на плате чтоль? На платах так-то по мимо ПЛИС много чего может быть, и микросхемы USB и Eth и ЦАП/АЦП и даже PCI-E со своей обвязкой. Как про платы рассказать я даже не знаю, их много разных, а мой опыт тоже ограничен. По поводу SDRAM, у меня как бы запланирован такой видос, но когда я его сделаю сказать не могу, времени катастрофически не хватает.
@@ПЛИСоводство Операционники именно на самой ПЛИС, т.е. можно ли создать схему не только на TTL, но и запрограммировать входы/выходы, например для подключения к ним аналоговых цепей или повесить, например, тот же RC-фильтр (вывести аналог, фильтрануть, и пустить его на другой вход ПЛИС). Или хотя бы ЦАП/АЦП тоже на самой ПЛИС. Я видел мельком в каком-то даташите что-то похожее, возможно я просто неправильно интерпретировал треугольный элемент (в зарубежных схемах часто замечал, что похожим образом отображается тот же 2И-НЕ). Т.е. здесь больше вопрос в том, можно ли на ПЛИС как-то получить аналоговые входы и выходы, и какие наиболее бюджетные модели ПЛИС имеют такие элементы в своём составе. Также интересно узнать, есть ли модели ПЛИС, которые имеют в своём составе, например, 10-20 тыс.элементов, но при этом количество выводов порядка 100-200, и если есть, то что это за модели (просто замечал, что чем больше элементов, тем больше пинов, но мне не нужно 1000 пинов). Т.е. возможно у Вас есть какой-то опыт по доступному бюджетному ряду, хотя бы до 10 тыс. руб за один ПЛИС.
@@ElVinto Не, операционников, на сколько я знаю, в ПЛИС нет, а вот ЦАП/АЦП бывают, но таких моделей не так много и стоят они не мало, я сам с такими дела не имел. И вообще, сейчас мало какие ПЛИС легко доступны, в основном это те что продают китайцы, а это, для Alter-ы, младшие модели семейства Cyclone 4: это или EP4CE6 или EP4CE10, а для Xilinx-а - Spartan 6. Есть pdf-ка Cyclone IV FPGA Device Family Overview, там расписано у каких моделей какая ёмкость и сколько ног. Так то может EP4CE22 подойти. Есть ещё китайские с благозвучным названием Gowin, но мне не доводилось работать с ними.
Мне просто не понятно, почему так мало просмотров? Всю жизнь мечтал иметь такого преподавателя. Отличная подача, полная и читая речь! Огромное спасиботавьлру за его титанический труд на канале! Вот бы сказать все. На ттю е смотреть неудобно совсем!
очень тяжело воспринимать информацию, когда все видео названы цифрами. ну серьезно, так сложно было указать, о чем то или иное видео, вместо "проектирование схем [0 ... N]"? Если бы не волшебная функция яндекс браузера с кратким пересказом видео, я даже и не знаю, начал бы смотреть эту серию роликов.
@@ПЛИСоводство, на временных диаграммах, когда Е, x0, x1 =101, у вас у1=0,у2=1, а должно быть у1=1, у2=0, как я понял. С у2 тоже самое. При Е, х0, х1=110 у1=1,у2=0, а должен быть у1=0, у2=1.
@@user-li4ge2pe5d Да нет же правильно всё. Дешифратор выставляет 1 на том выходе номер которого подан на вход. Когда x0, x1 =01, то это 2 в десятичной системе исчисления, значит у2 =1, остальные нули. Тут просто может сбить с толку, что после нуля на иксах идёт не единица, а двойка, за которой идёт уже единица, т.е. так 0, 2, 1, 3.
Это будет не сильно проще, а может быть даже и сложнее. Счётчик в любом случае остаётся, да ещё условие с переходом возникает. 1. Ждём изменение в сигнале; 2. Запускаем выдержку; 3. Ещё раз опрашиваем сигнал. Если сигнал изменился фиксируем факт нажатия кнопки. Если не изменился значит случайное кратковременное замыкание контактов, возвращаемся на п. 1.
@@ПЛИСоводство В железе это реализуется просто - D триггер тактируется с частотой 50-100 Гц. При этом состояние триггера будет отображать состояние кнопки. Самопроизвольное замыкание контактов может быть только в одном случае - кнопка неисправна. Могу допустить самопроизвольное размыкание контактов от, например, вибрации. Но в условиях вибрации и решения другие.
@@andreyparovozz Думаю как раз наоборот, при вибрации на нажатой кнопке контакт не отскочит, ибо прижат пальцем, а вот на отпущенной силы возвратной пружины может не хватить. И как мне кажется предложный в видео вариант вполне справится с задачей и в условиях вибрации.
@@andreyparovozz Ну если говорить о вибрации, то, скорее всего, и трёхконтактная кнопка не поможет, тут принципиальной разницы с двухконтактной нет. Тут или всё таки алгоритмически решать, или уже как-то механикой самой кнопки, типа жёстче пружину ставить или ещё что.
Здравствуйте! У меня ModelSim-Altera. Пытаюсь просимулировать мегафункции (однапортовую память и PLL). На однапортовой памяти симуляция не идёт но при этом в консоли ошибок нет, а при симуляции PLL выдаёт ошибку (Error: (vsim-3033) Instantiation of 'pllA_0002' failed. The design unit was not found.) В общем что то не то с библиотеками, а что не пойму. может в тестбенче для мегафункций нужно прописывать какие то опции?
1. Какая плисина? 2. Что значит "симуляция не идёт"? Не запускается? Виснет? Сигналы в нуле? 3. Модуль PLL в коде верилога присутствует или как-то по другому к проекту подключается?
1. Cyclone V 5CSEBA6U2317 2. Сигнал красный (Z) неопределённый. 3. PLL в коде присутствует но не присутствует тестбенче...мне тут подсказали, что мегафункции нужно прописывать вестбенче. ..но как это сделать пока не нашёл.
@@user-pv7iy5zf3r 2. Если правильно помню, в расцветке по умолчанию красный цвет это неизвестное состояние (Х). Если так, то тогда всё логично, память в начале неинициализированная, а значит содержит в себе неопределённые значения. Если после записи в память всё равно Х, то дело или в неправильной записи или что-то с тактовым сигналом. Если всё таки Z, то это странно, внутренние элементы ПЛИС не имеют Z-буферов. 3. Да. Нужно в скрипт компиляции добавить файл который был создан мегафукцией, примерно как на 22:00, те две строчки что после vmap work rtl_work. И проконтролировать чтобы в строчке запуска симуляции vsim была нужная библиотека.
2. Да я перепутал там X. Инициализация не помогла. Мне кажется, что у меня библиотеки не те или они не работают. 3. В скрипте синтеза мега функция конечно же вставлена и схема удачно синтезируется и память распознаётся, но вот что конкретно нужно написать в тестбенче я не понял.
Спасибо за видео. Хороший курс по верилогу и модельсиму. Было бы интересно послушать ваши лекции по qsys, nios запуск симуляции с эклипса в модельсиме ну и прочие штуки :)
Кроме этого "RTL Viewer" ничего нет там чтобы посмотреть нормально схему? В logisim например нарисовал схему уже можно потыкать, проверить как примерно работает схема.
RTL Viewer это так сказать идеальная схема полученная после переработки входной информации от пользователя. Эту схему он потом адаптирует под архитектуру ПЛИС, её можно посмотреть в technology map viwer. А чтобы потыкать посмотреть как работает это надо симулятор запускать. Квартусовский симулятор подробно рассматривался в курсе по цифровой схемотехнике (есть плейлист на канале) в лабораторных работах.
@@ПЛИСоводство Спасибо за Ваш ответ. Досмотрю этот курс пару дней и пойду в другой playlist на вашем канале, в общем что-то начал вроде понимать. Более лучшего курса я тут не нашел, сняли вы его видимо лет 6 назад, но думаю что актуально на сегодня тоже. Многое настройки сходятся.
@@boson_higgs Если уж совсем в специфические детали не углубляться, то от версии к версии в Квартусе мало что меняется, только добавляются поддержки новых микросхем.
Отдельно взятого видео где симулятор был бы рассмотрен полностью от начала и до конца нет. Но думаю лабораторных работ к первым пяти лекциям будет достаточно для того чтобы начать с ним работать.
Приветствую! Никак не найду где в этой программе можно найти функции и таблицы? Я еще просматриваю ваши уроки, может до них еще дойду, но пока не дошел до этого места. Спасибо!