Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Программируемая логика - это не так уж и сложно. Разберемся вместе.
Sebastyan
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Пн янв 01, 2018 09:05:17

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Sebastyan »

Понял.Спасибо!
Аватара пользователя
Мяукните!
Открыл глаза
Сообщения: 63
Зарегистрирован: Пн апр 20, 2015 14:00:32
Контактная информация:

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Мяукните! »

Муръ! Подскажите, на каком семействе плис можно сделать простой 32-битный сдвиговый регистр с частотой семплирования 400 мегагерц (!) Ну и слегка потом, творчески обработать результат :)
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Грендайзер »

[uquote="Мяукните!",url="/forum/viewtopic.php?p=3599285#p3599285"]Ну и слегка потом, творчески обработать результат :)[/uquote]
Не знаю, что Вы под этим подразумеваете... Но вопрос сперва стоит ставить о производителе и цене вопроса. Можно например слёту топовый Kintex порекомендовать, но думою, что цена в тысяч USD Вас не устроит. Что касается по существу вопроса, то из дешовых микросхем можно cyclone 4 порекомендовать, или spartan6 у Xilinx (в последнем кстати есть возможность сконфигурировать сдвиговый регистр на базе лутов SRL16 и SRL32 соответственно). Интересующие Вас скоростные характеристики приведены в разделе dc and switching characteristics даташитов. Но самое надёжное, написать проект в соответстующей IDE и проверить его на отсутствие временных ограничений. После этого сможете сориентироваться конкретней по поводу кристалла. Но работа на 400 МГц эта для названных мною семейств, что называется работа на пределе! Ни о каком запасе по скорости, речи в данном случае не идёт. Конечно есть аппаратные блоки способные работать на гораздо больших скоростях, но пользовательская логика такое уже не потянет (в более менее сложном проекте). Так что данные придётся распарралеливать или искать другие пути обхода...
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Ярослав555 »

Здравствуйте. Планирую одну штуковину собрать на плисине. Нужен тактовый генератор. Но доступная микруха без pll, а частоту хотелось бы 200-400 МГц. Так вот - могу ли я в самом плис собрать что-то автоколебательное на логике, например на цепочке инверторов? Мне квартус позволит такое? стабильность и точность не важна.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Грендайзер »

Лично я такого не делал, хотя один коллега мне про такое рассказывал и говорил, что как то даже работало (ну естественно о точности и стабильности речи не идёт). Другой вопрос, что у Вас там за плис в которой блоков pll нет? CPLD какая то старая? Вы уверены что в ней логика такую частоту потянет? Или вам чисто поприкалываться?
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Ярослав555 »

ну, я выбрал MAX II. Десятой у нас не нашел, можно на каком-нибудь mouser купить - но доставка десять баксов, как-то не хочется. Это личная разработка, с бюджетами не разгонишься.
Пока что попробовал собрать подобие генератора - любое мое творение в vhdl квартус сводит к одному зацикленному инвертору. Я думал в цепочку вставлять элементы-пустышки для кое-какой регулировки частоты, но оптимизация это все съедает. Графический способ показал себя получше - привязка промежуточных звеньев к портам вывода не дает оптимизации срезать пустышки. Но хотелось бы освоить именно VHDL.
В общем пока что играюсь с квартусом и вникаю в язык. На счет xilinx в магазинах вообще туго, в основном альтера.

Добавлено after 2 minutes 11 seconds:
P.S. микрухи пока только заказал, будут ехать пару недель. Да и платы под них еще не разводил, и бластер купить надо. Это я к тому, что отчитаться о тестах в шелезяке пока не могу.
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение uldemir »

Не знаю, это фишка VHDL или конкретно зайлинксовского компилятора, но есть всякие attributes которые могут потребовать, чтобы кой-что не оптимизировал или обрабатывал иначе. Вот у меня в одном проекте было:

Код: Выделить всё

-- Сигнал "начального старта". Так как инициализируется лог.0, а при выполнении присваивается
-- только лог.1, необходим атрибут KEEP, чтобы оптимизатор не сократил этот сигнал.
signal start_stop  : std_logic := '0';
attribute KEEP : string;
attribute KEEP of start_stop : signal is "TRUE";

-- Чтобы объявленные переходы счетчика не кодировались бы при помощи конечного автомата,
-- вставляем атрибут запрещающий синтезатору это делать для названных сигналов.
attribute FSM_EXTRACT : string;
attribute FSM_EXTRACT of minutes: signal is "NO";
attribute FSM_EXTRACT of hour   : signal is "NO";
attribute FSM_EXTRACT of tminutes:signal is "NO"; 
Может и для вашего случая есть какие атрибуты - надо почитать документацию по квартусу (я пользуюсь ISE от Xilinx).
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Ярослав555 »

ну я тоже думаю что подобная возможность имеется. Если не через прямые директивы, то в той пачке настроек проекта. Пока что отложил это в сторону. Ожидал увидеть простой рубильник - нет, низкая, высокая оптимизация. Как в привычных сишных компиляторах, но не тут то было.
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Ярослав555 »

в общем сходу стартануть автоколебательный контур во втором максе не получилось. Но тут подвернулись оочень дешовые 4е циклоны, заказал сразу 4 штуки, посмотрим что да как. Что хочу спросить - когда конфигурирую встроенный плл, оно позволяет забить частоту целых 1.3 ГГц. Это реально хоть что-то затактировать на такой частоте? Оно заведется? Мне только пару двоичных счетчиков, не думаю что перегреется.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Грендайзер »

Даже если pll и позволит сгенерить стабильный сигнал с такой частотой, то логика (во всяком случае пользовательская) с такими скоростями работать не сможет. Для 3-его циклона, помоиму максимальная частота защёлкивания триггера была в районе 400 МГц. Не думою, что в 4-ом эта цифра сильно изменилась. Такие высокие частоты необходимы для тактирования высокоскоростных приемопередатчиков.
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Ярослав555 »

Понял. Ну, в каталоге где заказывал указано частоту 472.5МГц. В принципе, меня это устраивает. Сделаю новую плату и проведу эксперименты.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Грендайзер »

472.5МГц - это максимальная частота, если угодно, идеализированная... Для маломальски рабочего проекта, делите её в 1,5-1,8 раза... получите рабочую. Для более-менее серьёзного проекта, делите на 2,2-2,5.
P.S. Наверняка 472.5МГц это для топового спидгрейда, а если Вы микросхемы по дешевки срубили, скорей всего они самые тормознутые из всего скоростного ряда.
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Ярослав555 »

Т-е они на производстве тестируются и как-то помечаются? Я видел этот спид грейд в настройках плл вчера вечером, теперь становится понятно что это такое. Ну, если не подойдут эти дешовые, закажу подороже, не катастрофа. Мне нужно в принципе найти техническое решение и на выходе получить устройство. Дорогой вариант в бюджет вписывается.

Добавлено after 4 minutes 8 seconds:
http://www.kosmodrom.com.ua/el.php?name=EP4CE6E22C8N
7 баксов за штуку. Скоро приедут, посмотрим.
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Ярослав555 »

Это снова я. Наконец доделал плату, сел за писание программ. Раньше я набросал проект, который после компилирования в нетлист вивере выглядел корректно. Планировал последовательно переносить код в пустой проект. И на первом же этапе впал в ступор. В архитектуре я написал следующее:
enable <= selectIn(0) and selectIn(1) and selectIn(2);
Что скомпилилось в обычный элемент ИЛИ с тремя входами. Такая простая программа в максе (кстати нашел где купить макс10 ) мне нужна для отладки программы микроконтроллера.
Но зашив программу я обнаружил что программа в плис как будто исполняется один раз и больше не реагирует на изменение входов. Поискав в интернете я наткнулся на какие-то дельта циклы... Это что получается только последовательно исполнение в процессе с привязкой к тактовому сигналу? Я рассчитывал на асинхронную логику! Объясните, если не сложно, или ссылку какую дайте, может быстрее будет.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Грендайзер »

[uquote="Ярослав555",url="/forum/viewtopic.php?p=3736884#p3736884"]Это что получается только последовательно исполнение в процессе с привязкой к тактовому сигналу? Я рассчитывал на асинхронную логику[/uquote]
Ничего не получается. Асинхронная логика в плис живёт, хотя конечно с тактами лучше. Попробуйте для начала светодиодиком помогать... Убедитесь, что дело не в железке. Ну а то, что у Вас вместо и, или ссинтезилась, так это Вы в коде могли где-то нарукожопить. Одним словом, сначала проверьте железку, а уж потом код!
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Ярослав555 »

я написал или... уже голова не варит. И, конечно же. Вот так оно выглядит

Добавлено after 2 minutes 8 seconds:
ну так чем это сложнее мигания светодиодиком? Сигналы на входные ножки подаются, на выходе ничего не меняется.
Вложения
sch.png
(13.93 КБ) 451 скачивание
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Грендайзер »

Ну сделайте так:
Out <= In;
И больше ничего. Убедитесь, что железяка живая...
P.S. проверьте ноги правильно назначены?
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Ярослав555 »

Уже привязывал на одну ножку, эффекта нет. Привязку ног сегодня проверю. Выход должен быть тот - если вывожу просто константу, то работает корректно. Может быть еще косяк с настройкой уровней? у меня логика относительно 3,3В, я на все ножки включил режим CMOS3.3V.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Грендайзер »

[uquote="Ярослав555",url="/forum/viewtopic.php?p=3737028#p3737028"]если вывожу просто константу, то работает корректно.[/uquote]
Что значит константу? Подайте с контроллера меандр на ногу In и проверте, что на Out будет тот же меандр. Или моргайте светодиодом используя тактовый сигнал.

[uquote="Ярослав555",url="/forum/viewtopic.php?p=3737028#p3737028"]я на все ножки включил режим CMOS3.3V.[/uquote]
Режим тут не причём, если конечно, Вы банки правильно запитали...
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сообщение Ярослав555 »

так и делаю - подаю на вход меанрд периодом 2с и никакой реакции.
Что значит правильно банки запитал? Ну, на все банки подал напряжение 3,3V, вроде никого не пропустил.
(подтер пост, разбираюсь)

Добавлено after 29 minutes 17 seconds:
нашел непропаяную ножку вццио5, грею паяльник :)))

Добавлено after 1 minute 24 seconds:
работает :beer:
Вложения
fpga.png
(45.99 КБ) 451 скачивание
Ответить

Вернуться в «ПЛИС»