Форум программистов, компьютерный форум, киберфорум
Программируемая логика: ПЛИС, ПАИС
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
6 / 5 / 2
Регистрация: 04.11.2012
Сообщений: 225

Базовые вещи при освоении ПЛИС в части ввода-вывода информации

03.05.2024, 12:11. Показов 4219. Ответов 55
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Подскажите пожалуйста по такому вопросу.
Каковы базовые вещи при освоении ПЛИС в части ввода-вывода информации?
С такими задачами сталкиваюсь впервые, киньте какую-нибудь идею, может есть какая-нибудь литература, которая может помочь в решении данной задачи?
Конкретный пример задачи: реализовать на ПЛИС ввод информации со спутника в память, затем вывод информации на один из выходов ПЛИС.
Можно также другие простые задачи, чтобы я мог поработать над ними и потестировать в отладочной среде.
Буду очень признателен за помощь!

Добавлено через 3 часа 7 минут
Есть множество понятий в голове, которые ещё сложно ещё выстроить в единую картинку.
Кажется, что ввод-вывод - это какая-то простая концепция. Наподобие, "с помощью клавиатуры введите число от 0 до 1000, выводите его на семисегментный четырёхразрядный индикатор и храните в энергонезависимой памяти, чтобы после отключения и включения ПЛИС это значение сохранялось".
В то же время, какие-то серилайзеры и десерилайзеры, блоки контроля импеданса, SDR и DDR триггеры, различные типы задержек для компенсации неодинаковости линий, собственные PLL для более точной подстройки блоков данных, высокосортная память и т.д.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.05.2024, 12:11
Ответы с готовыми решениями:

Нужны базовые рекомендации, и поддержка в освоении
Доброго времени суток! Пару часов назад захотел освоить базовые функции этой прекрасной проги(как я думаю) А именно меня интересует...

Замена метода ввода вывода информации на возврат строки информации об объекте, который дальше можно выводить на экран
1)Заменить метод вывода информации об объекте на метод который возвращает строку информации об объекте который дальше можно выводить на...

Базовые вещи о справочниках и не только
Моя обработка: &НаКлиенте Процедура Команда1(Команда) Команда2(); КонецПроцедуры &НаСервере Процедура Команда2() ...

55
Нарушитель
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,305
Записей в блоге: 195
08.07.2024, 21:28
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Istorik Посмотреть сообщение
А что это за устройство?
устройство моё, работа с памятью, но там всё иначе, это будет кэш команд для своего процессора работающего на статической логике.
Сделаю иначе, просто хотел схемы разобрать в публикации, ну немного иначе будет - с кучей дорожек на схеме синтезируемой - не вопрос.
Цитата Сообщение от Istorik Посмотреть сообщение
Подскажите какую-нибудь литературу или примеры по работе ПЛИС с памятью
"Проектирование функциональных блоков встраиваемых систем на FPGA" В.В. Соловьев, там много про память, но боюсь что это не совсем основы.
0
Нарушитель
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,305
Записей в блоге: 195
09.07.2024, 05:46
В это воскресенье должен точно закончить проект. У меня тоже работа с памятью, но пока только для кэша команд процессора, потому что мне как то трудно пока представляется передача пакетов информации в статической логике.

Добавлено через 2 минуты
Разве что менять режимы работы блоков.
0
6 / 5 / 2
Регистрация: 04.11.2012
Сообщений: 225
09.07.2024, 06:58  [ТС]
Цитата Сообщение от Hretgir Посмотреть сообщение
"Проектирование функциональных блоков встраиваемых систем на FPGA" В.В. Соловьев, там много про память, но боюсь что это не совсем основы.
Спасибо, поищу)

Добавлено через 25 минут
Как я понимаю, для управления памятью тоже нужно писать отдельные контроллеры. Например для SDRAM - SDRAM Контроллер.

Добавлено через 9 минут
На вики, например, есть таблица истинности для SDRAM https://ru.wikipedia.org/wiki/SDRAM. Она исчерпывающая? Я ещё не очень хорошо знаком, но можно ли описать её с помощью конечного автомата?
0
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
09.07.2024, 08:06
Цитата Сообщение от Istorik Посмотреть сообщение
На вики, например, есть таблица истинности для SDRAM https://ru.wikipedia.org/wiki/SDRAM. Она исчерпывающая?
Это не таблица истинности а таблица команд. Алгоритм подачи зависит от разработчика.
Вообще в большинстве сред присутствуют IP Core которые так или иначе реализуют работу с оперативой.


Цитата Сообщение от Hretgir Посмотреть сообщение
трудно пока представляется передача пакетов информации в статической логике
Конечные автоматы решают задачку, счетчики тактов. Тут придется думать на уровне сигналов.
0
6 / 5 / 2
Регистрация: 04.11.2012
Сообщений: 225
10.07.2024, 06:38  [ТС]
Цитата Сообщение от Worldmaster Посмотреть сообщение
Это не таблица истинности а таблица команд. Алгоритм подачи зависит от разработчика.
Вообще в большинстве сред присутствуют IP Core которые так или иначе реализуют работу с оперативой.
Под рукой это держать можно. Но прежде чем переходить к готовым решениям, хочу написать что-то сам, чтобы лучше понимать.
0
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
10.07.2024, 07:54
Цитата Сообщение от Istorik Посмотреть сообщение
хочу написать что-то сам, чтобы лучше понимать.
Дело в том что в ПЛИС все не так как в классическом программировании. Там очень много скрытых факторов которые так или иначе могут влиять на конечный продукт. IP как правило созданы больше для того чтобы минимизировать всякие проблемы типа длины линий, задержки между сигналами чтобы все это укладывалось в требуемый рабочий частотный диапазон.
0
6 / 5 / 2
Регистрация: 04.11.2012
Сообщений: 225
10.07.2024, 08:25  [ТС]
Цитата Сообщение от Worldmaster Посмотреть сообщение
Дело в том что в ПЛИС все не так как в классическом программировании. Там очень много скрытых факторов которые так или иначе могут влиять на конечный продукт. IP как правило созданы больше для того чтобы минимизировать всякие проблемы типа длины линий, задержки между сигналами чтобы все это укладывалось в требуемый рабочий частотный диапазон.
Что такое "скрытые факторы" в ПЛИС?

Добавлено через 1 минуту
Цитата Сообщение от Worldmaster Посмотреть сообщение
Дело в том что в ПЛИС все не так как в классическом программировании. Там очень много скрытых факторов которые так или иначе могут влиять на конечный продукт. IP как правило созданы больше для того чтобы минимизировать всякие проблемы типа длины линий, задержки между сигналами чтобы все это укладывалось в требуемый рабочий частотный диапазон.
Для меня сейчас различные готовые модули, IP-ядра - как чёрные ящики. У меня не всегда получается с ними работать и получать результат, который хочется. Поэтому я разбираю их на простые элементы (когда это возможно) и пробую каждый элемент в отдельности или в совокупности, чтобы смотреть, как это всё работает целиком.
0
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
10.07.2024, 08:32
Цитата Сообщение от Istorik Посмотреть сообщение
IP-ядра - как чёрные ящики.
Они и остануться всегда черными ящиками. Это нормально.

Цитата Сообщение от Istorik Посмотреть сообщение
Что такое "скрытые факторы" в ПЛИС?
когда собрали проект по своему алгоритму. Синтезировали а потом выяснилось что при размещении в чип ваш алгоритм превратился в огромную связку триггеров которые раскиданы по всему чипу и расстояния между блоками не позволяют работать на заданных частотах. Slack - так называемые.
0
6 / 5 / 2
Регистрация: 04.11.2012
Сообщений: 225
10.07.2024, 08:45  [ТС]
Цитата Сообщение от Worldmaster Посмотреть сообщение
когда собрали проект по своему алгоритму. Синтезировали а потом выяснилось что при размещении в чип ваш алгоритм превратился в огромную связку триггеров которые раскиданы по всему чипу и расстояния между блоками не позволяют работать на заданных частотах. Slack - так называемые.
И как с этим бороться? Какие-то приёмы наверняка есть?

Добавлено через 2 минуты
Цитата Сообщение от Worldmaster Посмотреть сообщение
Они и остануться всегда черными ящиками. Это нормально.
Вот, а здесь кто-то (если не ошибаюсь, Skryp) упоминал, что иногда нужно писать собственные IP-ядра, т.е. закладывать в них какой-то алгоритм на базе цифровых схем. Например тот же контроллер для управления памятью.
0
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
10.07.2024, 09:49
Цитата Сообщение от Istorik Посмотреть сообщение
что иногда нужно писать собственные IP-ядра
да никто не запрещает свое писать, но когда проект большой сводить все в кучу будет прям задача.

Цитата Сообщение от Istorik Посмотреть сообщение
Какие-то приёмы наверняка есть?
Там целая наука. минимизировать код. Разбивать на более мелкие блоки. А еще пересечение частотных доменов это вообще отдельная песня.
0
6 / 5 / 2
Регистрация: 04.11.2012
Сообщений: 225
10.07.2024, 10:44  [ТС]
Цитата Сообщение от Worldmaster Посмотреть сообщение
А еще пересечение частотных доменов это вообще отдельная песня.
Тогда, наверное, лучше писать отдельные модули, где у каждого только своя частота, а потом соединять их через модуль верхнего уровня. Я это так увидел. Т.е. не писать всё устройство в одном модуле подряд.
0
6 / 5 / 2
Регистрация: 04.11.2012
Сообщений: 225
16.07.2024, 08:20  [ТС]
У кого-нибудь есть опыт разработки CAN или ModBus на ПЛИС? А также регуляторов (ПИД- либо адаптивных)? Поделитесь, будьте добры.
0
Нарушитель
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,305
Записей в блоге: 195
17.07.2024, 21:48
Цитата Сообщение от Istorik Посмотреть сообщение
Тогда, наверное, лучше писать отдельные модули, где у каждого только своя частота, а потом соединять их через модуль верхнего уровня. Я это так увидел.
Возможно это и так, но мне представляется простота несколько иначе, правда задача решаемая схемой должна быть для этого не тривиальной - соединять через нетактируемые триггеры, тогда с синхронизацией проблем не будет. Так как триггер даст задержку - поэтому и задача должна быть не тривиальной - чтобы задержки не сказывались сильно. Код нетактируемого триггера я сбрасывал.
Ещё - делать полность статическую логику, только это не проще чем синхронизация тактов, если схема конечно не тривиальна.
Тут мне кажется выбирается приём, который проще, только у всех они разные.
0
 Аватар для Worldmaster
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
18.07.2024, 09:07
Цитата Сообщение от Istorik Посмотреть сообщение
У кого-нибудь есть опыт разработки CAN или ModBus на ПЛИС? А также регуляторов (ПИД- либо адаптивных)? Поделитесь, будьте добры.
Вот есть сайт . Если получится зарегистрироваться то там есть бесплатные ядра на много чего.
0
6 / 5 / 2
Регистрация: 04.11.2012
Сообщений: 225
18.07.2024, 11:04  [ТС]
Цитата Сообщение от Worldmaster Посмотреть сообщение
Вот есть сайт . Если получится зарегистрироваться то там есть бесплатные ядра на много чего.
Спасибо.

Цитата Сообщение от Hretgir Посмотреть сообщение
Возможно это и так, но мне представляется простота несколько иначе, правда задача решаемая схемой должна быть для этого не тривиальной - соединять через нетактируемые триггеры, тогда с синхронизацией проблем не будет. Так как триггер даст задержку - поэтому и задача должна быть не тривиальной - чтобы задержки не сказывались сильно. Код нетактируемого триггера я сбрасывал.
Ещё - делать полность статическую логику, только это не проще чем синхронизация тактов, если схема конечно не тривиальна.
Тут мне кажется выбирается приём, который проще, только у всех они разные.
Спасибо. Буду пробовать разные способы.

Добавлено через 3 минуты
Hretgir, а как ваша публикация поживает, доделали?
0
Нарушитель
266 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,305
Записей в блоге: 195
18.07.2024, 22:49
Цитата Сообщение от Istorik Посмотреть сообщение
Hretgir, а как ваша публикация поживает, доделали?
сегодня уже просто не успею (каждый вечер занимаюсь схемой и описанием на verilog) добавить пару ключей и один триггер, и описать связи в них (пришлось решать эту задачку тоже). А так всё в принципе готово. Завтра пятница - доделаю, в субботу буду пробовать загружать это на FPGA, в случае успеха - тестбэенч, чисто для интереса, и потом ещё над самой публикацией тоже поработать будет надо...сомнительно что публикация будет готова, но тест бенч к ней я могу добавить потом (ни разу не делал и ещё стоит почитать доку по ним), тогда может и успею.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.07.2024, 22:49

Разъясните базовые вещи по maven
Добрый день, осваиваю maven + idea. Допустим я создал учебный проект на java 8. Сохранил. Прописал в настройках maven'a и самой идеи , что...

Организация ввода / вывода информации
вариант №9

Организация ввода/вывода информации
Всем здравствуйте! Уже пол дня бъюсь над заданием:umnik: сил больше нет, жду помощи профессионала:) Задание: Организуйте ввод с...

Контроль ввода вывода информации
Помоги пожалуйста как написать так что если пользователь вводит информацию не правильно то выводилось соответствующее сообщение . Вот...

организация ввода-вывода информации в мк-51
Вид числа – распакованное; мк осуществляет Вывод; Начальный адрес – 20Н; Длина массива в P1.7; Инициатор – MK; Уровни...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
56
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru