Тёмный
ПЛИСоводство
ПЛИСоводство
ПЛИСоводство
Подписаться
Предлагается курс по работе с САПР QuartusII, HDL-языком Verilog и системой моделирования ModelSim.
Рассматриваются вопросы проектирования цифровых схем (комбинационных, триггерных), автоматов Мили и Мура, различных регистровых устройств, таких как счётчики, регистры хранения, сдвига и т.п.
- ru-vid.com
- t.me/FPGAing
- vk.com/FPGAing
- zen.yandex.ru/id/623f67692ac6d6128c80762c
- rutube.ru/channel/25203873
ПЛИСоводство
1:06
2 года назад
Комментарии
@ElVinto
@ElVinto 2 дня назад
А вот интересно. Я попробовал сделать простой сдвиговый регистр, один отмечен как счетчик, второй как данные, но на схеме - это всего лишь один единственный элемент. Интересно, это отдельный элемент, например в Max II, или этот регистр строится из простых элементов 2И-НЕ, т.е. сначала будут триггеры, а затем - множество триггеров. Т.е. вопрос в том, в ПЛИСе будет использован только один 4-х разрядный элемент сдвига или же будут просто использовано 8 элементов 2И-НЕ (которые предварительно объединятся компилятором в модуль 4-х разрядного сдвигового регистра)? И можно ли после компиляции посмотреть сколько реально простых элементов ПЛИС было использовано?..второй вопрос снимаю (увидел где показывает).
@ПЛИСоводство
@ПЛИСоводство 2 дня назад
Не понял вопроса. Сдвиговый регистр - это последовательно подключённые триггеры. В плисах триггеры уже существуют как самостоятельные элементы, нет необходимости (и даже вредно) собирать их на элементах И. Сколько разрядов у регистра столько будет и триггеров, + некоторое количество элементов для обеспечения режима хранения. Я с Max II не работал, какие там триггеры не знаю, может быть у них уже есть вход разрешения работы, тогда режим хранения на внешних элементах делать не нужно, всё уже есть внутри триггера.
@ElVinto
@ElVinto 3 дня назад
Кстати, наверно, схема не будет один в один со всеми элементами и их наименованиями. Я сделал код, который в одном ассигне делает операцию И и в другом тоже И, у каждого элемента своё имя. А потом взял и третий элемент И поставил между ними. В результате компилятор оптимизировал по своему и выставил просто один элемент 4И-НЕ. (Программа Квартус версии 18)
@ПЛИСоводство
@ПЛИСоводство 3 дня назад
Да, оптимизирует, притом по жёсткому. Если, скажем, выход какого-нибудь элемента никуда не подключён, то делается вывод что элемент ненужен и он удаляется, следовательно те элементы которые были подключены на его вход становятся не подключёнными, а значит тоже не нужны. И в итоге он так всю схему может выкинуть.
@ElVinto
@ElVinto 3 дня назад
21:48 я уже начал изучать Верилог и полагаю, компилятор просто воспринял тип провода по умолчанию как wire, даже если убрать его совсем. Наверно с типом reg так не получилось бы перемещать в модуле куда угодно. Возможно я неправ.
@ПЛИСоводство
@ПЛИСоводство 3 дня назад
Если совсем не объявить - даст ошибку. С reg то же самое. Прикол просто у Квартуса такой, видимо как-то в два прохода компилирует.
@ElVinto
@ElVinto 10 дней назад
Вчера только узнал, что есть такое, как ПЛИС со своей архитектурой и средой разработки. Сразу понравилось и захотелось попробовать, заказл простую Altera MAX 2. Но вот вопрос,- Вы не планируете случайно рассказать ещё и о характеристиках ПЛИС-плат, чтобы иметь представление на какой плате сколько и каких элементом можно разместить, т.к. я вроде как увидел, что на них могут быть не только логические элементы, но и даже операционные усилители и т.п? Также нашёл плату SDRAM как раз для ПЛИС. Как запрограммировать ПЛИС чтобы произвести элементарные действия записи/чтения? Понимаю, что это обширная область знаний, но на мой взгляд это необходимо - без практики очень сложно что-то осваивать, теорию нельзя пощупать.
@ПЛИСоводство
@ПЛИСоводство 9 дней назад
Логические элементы и операционные усилители где, на плате чтоль? На платах так-то по мимо ПЛИС много чего может быть, и микросхемы USB и Eth и ЦАП/АЦП и даже PCI-E со своей обвязкой. Как про платы рассказать я даже не знаю, их много разных, а мой опыт тоже ограничен. По поводу SDRAM, у меня как бы запланирован такой видос, но когда я его сделаю сказать не могу, времени катастрофически не хватает.
@ElVinto
@ElVinto 9 дней назад
@@ПЛИСоводство Операционники именно на самой ПЛИС, т.е. можно ли создать схему не только на TTL, но и запрограммировать входы/выходы, например для подключения к ним аналоговых цепей или повесить, например, тот же RC-фильтр (вывести аналог, фильтрануть, и пустить его на другой вход ПЛИС). Или хотя бы ЦАП/АЦП тоже на самой ПЛИС. Я видел мельком в каком-то даташите что-то похожее, возможно я просто неправильно интерпретировал треугольный элемент (в зарубежных схемах часто замечал, что похожим образом отображается тот же 2И-НЕ). Т.е. здесь больше вопрос в том, можно ли на ПЛИС как-то получить аналоговые входы и выходы, и какие наиболее бюджетные модели ПЛИС имеют такие элементы в своём составе. Также интересно узнать, есть ли модели ПЛИС, которые имеют в своём составе, например, 10-20 тыс.элементов, но при этом количество выводов порядка 100-200, и если есть, то что это за модели (просто замечал, что чем больше элементов, тем больше пинов, но мне не нужно 1000 пинов). Т.е. возможно у Вас есть какой-то опыт по доступному бюджетному ряду, хотя бы до 10 тыс. руб за один ПЛИС.
@ПЛИСоводство
@ПЛИСоводство 7 дней назад
@@ElVinto Не, операционников, на сколько я знаю, в ПЛИС нет, а вот ЦАП/АЦП бывают, но таких моделей не так много и стоят они не мало, я сам с такими дела не имел. И вообще, сейчас мало какие ПЛИС легко доступны, в основном это те что продают китайцы, а это, для Alter-ы, младшие модели семейства Cyclone 4: это или EP4CE6 или EP4CE10, а для Xilinx-а - Spartan 6. Есть pdf-ка Cyclone IV FPGA Device Family Overview, там расписано у каких моделей какая ёмкость и сколько ног. Так то может EP4CE22 подойти. Есть ещё китайские с благозвучным названием Gowin, но мне не доводилось работать с ними.
@ElVinto
@ElVinto 7 дней назад
@@ПЛИСоводство Благодарю за ответ! Теперь знаю в каких наименованиях искать.Cyclon видел в Квартусе, остальные надо гуглить.
@user-qi5li3wv6i
@user-qi5li3wv6i 14 дней назад
Ура ПЛИС, так ещё и аниме
@dimahavryliuk8409
@dimahavryliuk8409 21 день назад
Бро, случайно в рекомендациях попал твой канал, столько обучающих видосов на вес золота. Ты лучший
@DimKir-lo1nc
@DimKir-lo1nc Месяц назад
Прошел ваш курс, Большое Спасибо! Очень интересно и главное все понятно, как все работает и взаимодействует в целом. Удачи Вам!
@ПЛИСоводство
@ПЛИСоводство Месяц назад
Поздравляю. Теперь на очереди курс по Квартусу и Верилогу. ))
@sttalex
@sttalex Месяц назад
Мне просто не понятно, почему так мало просмотров? Всю жизнь мечтал иметь такого преподавателя. Отличная подача, полная и читая речь! Огромное спасиботавьлру за его титанический труд на канале! Вот бы сказать все. На ттю е смотреть неудобно совсем!
@ПЛИСоводство
@ПЛИСоводство Месяц назад
Просто тема эта уж очень узкоспециализированная.
@KT315A-qp9re
@KT315A-qp9re Месяц назад
А где посмотреть реализацию синхронного триггера? Он сделан на двух триггерах защёлках или как-то более мудрёно?
@ПЛИСоводство
@ПЛИСоводство Месяц назад
Мудрёно. Книга Е.А. Зельдин Триггеры, стр. 62, рис. 54
@YaVnykDeda
@YaVnykDeda Месяц назад
Есть ли смысл качать более новые версии Quartus? Или они чем-то хуже или урезанные?
@ПЛИСоводство
@ПЛИСоводство Месяц назад
Новые версии нужны только если какие-то микросхемы не поддерживаются старыми.
@AS-ws9pp
@AS-ws9pp 2 месяца назад
Что значит 1'd1 ?
@ПЛИСоводство
@ПЛИСоводство 2 месяца назад
1' - одноразрядная; d - в децимальном виде. На канале есть плейлист с видео по Верилогу, там всё подробно рассказываю.
@arielvolog
@arielvolog 2 месяца назад
черный фон в редакторе кода - вы серьезно
@ПЛИСоводство
@ПЛИСоводство 2 месяца назад
А что не так?
@vadimgerasimenko4904
@vadimgerasimenko4904 2 месяца назад
Прекрасно!
@AaOneRey
@AaOneRey 2 месяца назад
очень тяжело воспринимать информацию, когда все видео названы цифрами. ну серьезно, так сложно было указать, о чем то или иное видео, вместо "проектирование схем [0 ... N]"? Если бы не волшебная функция яндекс браузера с кратким пересказом видео, я даже и не знаю, начал бы смотреть эту серию роликов.
@ПЛИСоводство
@ПЛИСоводство 2 месяца назад
В описании есть краткое содержание.
@Aibeck1chanell
@Aibeck1chanell 2 месяца назад
Пишу из 2024. Писк поначалу взбесил. А потом начал засыпать и нашел один плюс. Следующий ролик уже не "проспишь") Автору спасибо из 2024)
@user-gg4nh9lc5e
@user-gg4nh9lc5e 3 месяца назад
Похоже, что когда индексом массива является большая конкатенация, ее результат усекается до 32 бит и используется полученное значение.
@papspupok6281
@papspupok6281 3 месяца назад
Спасибо за контент! Я уже думал что канал под забросил, а то в телеге пишет что аккаунт удален.
@ПЛИСоводство
@ПЛИСоводство 3 месяца назад
Странно, у меня работает, только что повесил там сообщение. t.me/FPGAing
@deniska8785
@deniska8785 3 месяца назад
Спасибо!
@user-li4ge2pe5d
@user-li4ge2pe5d 3 месяца назад
В схеме дешифратора у1 и у2 немного неправильно работают
@ПЛИСоводство
@ПЛИСоводство 3 месяца назад
Время?
@user-li4ge2pe5d
@user-li4ge2pe5d 3 месяца назад
@@ПЛИСоводство, на временных диаграммах, когда Е, x0, x1 =101, у вас у1=0,у2=1, а должно быть у1=1, у2=0, как я понял. С у2 тоже самое. При Е, х0, х1=110 у1=1,у2=0, а должен быть у1=0, у2=1.
@ПЛИСоводство
@ПЛИСоводство 3 месяца назад
@@user-li4ge2pe5d На какой минуте это?
@user-li4ge2pe5d
@user-li4ge2pe5d 3 месяца назад
​@@ПЛИСоводство, 57:36
@ПЛИСоводство
@ПЛИСоводство 3 месяца назад
@@user-li4ge2pe5d Да нет же правильно всё. Дешифратор выставляет 1 на том выходе номер которого подан на вход. Когда x0, x1 =01, то это 2 в десятичной системе исчисления, значит у2 =1, остальные нули. Тут просто может сбить с толку, что после нуля на иксах идёт не единица, а двойка, за которой идёт уже единица, т.е. так 0, 2, 1, 3.
@andreyparovozz
@andreyparovozz 3 месяца назад
Дребезг подавляется очень просто - период опроса кнопки должен превышать период дребезга.
@ПЛИСоводство
@ПЛИСоводство 3 месяца назад
Это будет не сильно проще, а может быть даже и сложнее. Счётчик в любом случае остаётся, да ещё условие с переходом возникает. 1. Ждём изменение в сигнале; 2. Запускаем выдержку; 3. Ещё раз опрашиваем сигнал. Если сигнал изменился фиксируем факт нажатия кнопки. Если не изменился значит случайное кратковременное замыкание контактов, возвращаемся на п. 1.
@andreyparovozz
@andreyparovozz 3 месяца назад
@@ПЛИСоводство В железе это реализуется просто - D триггер тактируется с частотой 50-100 Гц. При этом состояние триггера будет отображать состояние кнопки. Самопроизвольное замыкание контактов может быть только в одном случае - кнопка неисправна. Могу допустить самопроизвольное размыкание контактов от, например, вибрации. Но в условиях вибрации и решения другие.
@ПЛИСоводство
@ПЛИСоводство 3 месяца назад
@@andreyparovozz Думаю как раз наоборот, при вибрации на нажатой кнопке контакт не отскочит, ибо прижат пальцем, а вот на отпущенной силы возвратной пружины может не хватить. И как мне кажется предложный в видео вариант вполне справится с задачей и в условиях вибрации.
@andreyparovozz
@andreyparovozz 3 месяца назад
@@ПЛИСоводство В особо ответственных ситуациях ставятся две пары контактов - одна НО, другая НЗ.
@ПЛИСоводство
@ПЛИСоводство 3 месяца назад
@@andreyparovozz Ну если говорить о вибрации, то, скорее всего, и трёхконтактная кнопка не поможет, тут принципиальной разницы с двухконтактной нет. Тут или всё таки алгоритмически решать, или уже как-то механикой самой кнопки, типа жёстче пружину ставить или ещё что.
@ostrov11
@ostrov11 4 месяца назад
верни писк ))
@ПЛИСоводство
@ПЛИСоводство 4 месяца назад
Наверно скоро бусти открою, туда добавлю. )
@ostrov11
@ostrov11 4 месяца назад
@@ПЛИСоводство хорошая идея
@deniska8785
@deniska8785 4 месяца назад
Спасибо
@user-sy6lc6hv7e
@user-sy6lc6hv7e 4 месяца назад
Спасибо Дружище! У меня вопрос: Вы случаем не инженером разработчиком работаете? Просто подача материала на высшем уровне!
@ПЛИСоводство
@ПЛИСоводство 2 месяца назад
Да.
@deniska8785
@deniska8785 4 месяца назад
Спасибо
@ostrov11
@ostrov11 4 месяца назад
Verilog - Язык Verilog - Язык Проектирования Схем преобразование типов Проектирования Схем Verilog
@ostrov11
@ostrov11 4 месяца назад
... мужик че хотел спросить )) так, праздный интерес )) а "твои изделия" летят или светят?))
@ПЛИСоводство
@ПЛИСоводство 4 месяца назад
Ничего не понял. Куда летят? Кому светят? Какой-то тонкий намёк на что-то?
@ostrov11
@ostrov11 4 месяца назад
@@ПЛИСоводство та не, забей )) без негатива
@mikebountain
@mikebountain 3 месяца назад
шпиён детектед ))
@ostrov11
@ostrov11 3 месяца назад
​@@mikebountain ... слоны идут на север
@ostrov11
@ostrov11 3 месяца назад
@@mikebountain ... хуже врага и предателей только свои турбачи оголтелые.
@user-pv7iy5zf3r
@user-pv7iy5zf3r 4 месяца назад
Здравствуйте! У меня ModelSim-Altera. Пытаюсь просимулировать мегафункции (однапортовую память и PLL). На однапортовой памяти симуляция не идёт но при этом в консоли ошибок нет, а при симуляции PLL выдаёт ошибку (Error: (vsim-3033) Instantiation of 'pllA_0002' failed. The design unit was not found.) В общем что то не то с библиотеками, а что не пойму. может в тестбенче для мегафункций нужно прописывать какие то опции?
@ПЛИСоводство
@ПЛИСоводство 4 месяца назад
1. Какая плисина? 2. Что значит "симуляция не идёт"? Не запускается? Виснет? Сигналы в нуле? 3. Модуль PLL в коде верилога присутствует или как-то по другому к проекту подключается?
@user-pv7iy5zf3r
@user-pv7iy5zf3r 4 месяца назад
1. Cyclone V 5CSEBA6U2317 2. Сигнал красный (Z) неопределённый. 3. PLL в коде присутствует но не присутствует тестбенче...мне тут подсказали, что мегафункции нужно прописывать вестбенче. ..но как это сделать пока не нашёл.
@ПЛИСоводство
@ПЛИСоводство 4 месяца назад
​@@user-pv7iy5zf3r 2. Если правильно помню, в расцветке по умолчанию красный цвет это неизвестное состояние (Х). Если так, то тогда всё логично, память в начале неинициализированная, а значит содержит в себе неопределённые значения. Если после записи в память всё равно Х, то дело или в неправильной записи или что-то с тактовым сигналом. Если всё таки Z, то это странно, внутренние элементы ПЛИС не имеют Z-буферов. 3. Да. Нужно в скрипт компиляции добавить файл который был создан мегафукцией, примерно как на 22:00, те две строчки что после vmap work rtl_work. И проконтролировать чтобы в строчке запуска симуляции vsim была нужная библиотека.
@user-pv7iy5zf3r
@user-pv7iy5zf3r 4 месяца назад
2. Да я перепутал там X. Инициализация не помогла. Мне кажется, что у меня библиотеки не те или они не работают. 3. В скрипте синтеза мега функция конечно же вставлена и схема удачно синтезируется и память распознаётся, но вот что конкретно нужно написать в тестбенче я не понял.
@ПЛИСоводство
@ПЛИСоводство 4 месяца назад
@@user-pv7iy5zf3r Возможно проблема с тактовым сигналом, он слишком быстрый. Имеет смысл попробовать более медленный: `timescale 10ms/1ms
@ostrov11
@ostrov11 4 месяца назад
Verilog Проектирования Схем видео Язык Проектирования Схем видео плис Проектирования Схем видео
@R4FBF
@R4FBF 4 месяца назад
Отличные уроки спасибо
@deniska8785
@deniska8785 4 месяца назад
!
@ostrov11
@ostrov11 4 месяца назад
повторим спасибо
@user-ko2th7mx2n
@user-ko2th7mx2n 4 месяца назад
Писк в начале не к месту. Оглушил в наушниках.
@ПЛИСоводство
@ПЛИСоводство 4 месяца назад
Это уже традиция.
@ПЛИСоводство
@ПЛИСоводство 4 месяца назад
Это перезалив. Оригинальный видос попортил Ютуб, а восстанавливать не хочет.
@deniska8785
@deniska8785 4 месяца назад
Всегда рад Вашему новому контенту
@Andr_e_y
@Andr_e_y 4 месяца назад
отлично. Хочется продолжение реальных проектов
@NRelectronics
@NRelectronics 4 месяца назад
Молодец что не оставляешь дело!
@ПЛИСоводство
@ПЛИСоводство 4 месяца назад
О, рад, что заглянул.
@turbo4163
@turbo4163 4 месяца назад
Спасибо что не оставляешь нас на совсем.
@ostrov11
@ostrov11 4 месяца назад
спасибо мужик
@user-qr4eg4up8n
@user-qr4eg4up8n 4 месяца назад
Столько времени прошло с прошлого то видео! Приятно слышать вас вновь!
@deniska8785
@deniska8785 4 месяца назад
!
@blakely1317
@blakely1317 4 месяца назад
Спасибо большое, что записали такой плейлист! Будем смотреть, изучать) Редкий материал, даже для западного ютуба
@johnrom8787
@johnrom8787 4 месяца назад
Нужно убрать этот дикий писк в начале видео. Это жесть
@DimKir-lo1nc
@DimKir-lo1nc 5 месяцев назад
Спасибо!
@DimKir-lo1nc
@DimKir-lo1nc 5 месяцев назад
СПАСИБО!!!
@i-am-sergei
@i-am-sergei 5 месяцев назад
Уважаемый автор, А можно с вами как то связаться по вопросам разработки ?
@ПЛИСоводство
@ПЛИСоводство 5 месяцев назад
Jack0v@mail.ru
@edgull_tlt
@edgull_tlt 5 месяцев назад
Отличный урок. Спасибо!
@DimKir-lo1nc
@DimKir-lo1nc 6 месяцев назад
Спасибо!!!
@smaetu
@smaetu 6 месяцев назад
Спасибо за видео. Хороший курс по верилогу и модельсиму. Было бы интересно послушать ваши лекции по qsys, nios запуск симуляции с эклипса в модельсиме ну и прочие штуки :)
@ПЛИСоводство
@ПЛИСоводство 6 месяцев назад
Да мне бы тоже... Времени на всё не хватает.
@user-dx9gz7yb9y
@user-dx9gz7yb9y 6 месяцев назад
Масло зачем сливал😂
@ПЛИСоводство
@ПЛИСоводство 6 месяцев назад
Без масла меньше весит. )) Сальники менял.
@boson_higgs
@boson_higgs 7 месяцев назад
Кроме этого "RTL Viewer" ничего нет там чтобы посмотреть нормально схему? В logisim например нарисовал схему уже можно потыкать, проверить как примерно работает схема.
@ПЛИСоводство
@ПЛИСоводство 7 месяцев назад
RTL Viewer это так сказать идеальная схема полученная после переработки входной информации от пользователя. Эту схему он потом адаптирует под архитектуру ПЛИС, её можно посмотреть в technology map viwer. А чтобы потыкать посмотреть как работает это надо симулятор запускать. Квартусовский симулятор подробно рассматривался в курсе по цифровой схемотехнике (есть плейлист на канале) в лабораторных работах.
@boson_higgs
@boson_higgs 7 месяцев назад
@@ПЛИСоводство Спасибо за Ваш ответ. Досмотрю этот курс пару дней и пойду в другой playlist на вашем канале, в общем что-то начал вроде понимать. Более лучшего курса я тут не нашел, сняли вы его видимо лет 6 назад, но думаю что актуально на сегодня тоже. Многое настройки сходятся.
@boson_higgs
@boson_higgs 7 месяцев назад
@@ПЛИСоводство Квартусовский симулятор в каком примерно уроке рассматривался не помните ?
@ПЛИСоводство
@ПЛИСоводство 7 месяцев назад
@@boson_higgs Если уж совсем в специфические детали не углубляться, то от версии к версии в Квартусе мало что меняется, только добавляются поддержки новых микросхем.
@ПЛИСоводство
@ПЛИСоводство 7 месяцев назад
Отдельно взятого видео где симулятор был бы рассмотрен полностью от начала и до конца нет. Но думаю лабораторных работ к первым пяти лекциям будет достаточно для того чтобы начать с ним работать.
@boson_higgs
@boson_higgs 7 месяцев назад
Приветствую! Никак не найду где в этой программе можно найти функции и таблицы? Я еще просматриваю ваши уроки, может до них еще дойду, но пока не дошел до этого места. Спасибо!
@ПЛИСоводство
@ПЛИСоводство 7 месяцев назад
Что за функции, что за таблицы?
@boson_higgs
@boson_higgs 7 месяцев назад
@@ПЛИСоводство имею ввиду булевы функции..например .logisim-evolution даёт таблицу на нарисованную логическую схему
@ПЛИСоводство
@ПЛИСоводство 7 месяцев назад
@@boson_higgs Quartus таблиц истинности не даёт. Есть RTL Viewer где он рисует получившуюся схему в абстрактном виде.