Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить

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

Пн сен 10, 2018 20:54:14

Понял.Спасибо!

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

Сб мар 23, 2019 22:43:05

Муръ! Подскажите, на каком семействе плис можно сделать простой 32-битный сдвиговый регистр с частотой семплирования 400 мегагерц (!) Ну и слегка потом, творчески обработать результат :)

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

Вс мар 24, 2019 11:47:41

Ну и слегка потом, творчески обработать результат :)

Не знаю, что Вы под этим подразумеваете... Но вопрос сперва стоит ставить о производителе и цене вопроса. Можно например слёту топовый Kintex порекомендовать, но думою, что цена в тысяч USD Вас не устроит. Что касается по существу вопроса, то из дешовых микросхем можно cyclone 4 порекомендовать, или spartan6 у Xilinx (в последнем кстати есть возможность сконфигурировать сдвиговый регистр на базе лутов SRL16 и SRL32 соответственно). Интересующие Вас скоростные характеристики приведены в разделе dc and switching characteristics даташитов. Но самое надёжное, написать проект в соответстующей IDE и проверить его на отсутствие временных ограничений. После этого сможете сориентироваться конкретней по поводу кристалла. Но работа на 400 МГц эта для названных мною семейств, что называется работа на пределе! Ни о каком запасе по скорости, речи в данном случае не идёт. Конечно есть аппаратные блоки способные работать на гораздо больших скоростях, но пользовательская логика такое уже не потянет (в более менее сложном проекте). Так что данные придётся распарралеливать или искать другие пути обхода...

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

Чт авг 22, 2019 18:46:04

Здравствуйте. Планирую одну штуковину собрать на плисине. Нужен тактовый генератор. Но доступная микруха без pll, а частоту хотелось бы 200-400 МГц. Так вот - могу ли я в самом плис собрать что-то автоколебательное на логике, например на цепочке инверторов? Мне квартус позволит такое? стабильность и точность не важна.

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

Пт авг 23, 2019 08:41:51

Лично я такого не делал, хотя один коллега мне про такое рассказывал и говорил, что как то даже работало (ну естественно о точности и стабильности речи не идёт). Другой вопрос, что у Вас там за плис в которой блоков pll нет? CPLD какая то старая? Вы уверены что в ней логика такую частоту потянет? Или вам чисто поприкалываться?

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

Вс авг 25, 2019 12:21:00

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

Добавлено after 2 minutes 11 seconds:
P.S. микрухи пока только заказал, будут ехать пару недель. Да и платы под них еще не разводил, и бластер купить надо. Это я к тому, что отчитаться о тестах в шелезяке пока не могу.

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

Вс авг 25, 2019 12:29:49

Не знаю, это фишка 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 minutessignal is "NO";
attribute FSM_EXTRACT of hour   signal is "NO";
attribute FSM_EXTRACT of tminutes:signal is "NO"

Может и для вашего случая есть какие атрибуты - надо почитать документацию по квартусу (я пользуюсь ISE от Xilinx).

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

Вс авг 25, 2019 12:49:43

ну я тоже думаю что подобная возможность имеется. Если не через прямые директивы, то в той пачке настроек проекта. Пока что отложил это в сторону. Ожидал увидеть простой рубильник - нет, низкая, высокая оптимизация. Как в привычных сишных компиляторах, но не тут то было.

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

Ср окт 09, 2019 21:55:16

в общем сходу стартануть автоколебательный контур во втором максе не получилось. Но тут подвернулись оочень дешовые 4е циклоны, заказал сразу 4 штуки, посмотрим что да как. Что хочу спросить - когда конфигурирую встроенный плл, оно позволяет забить частоту целых 1.3 ГГц. Это реально хоть что-то затактировать на такой частоте? Оно заведется? Мне только пару двоичных счетчиков, не думаю что перегреется.

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

Чт окт 10, 2019 08:44:16

Даже если pll и позволит сгенерить стабильный сигнал с такой частотой, то логика (во всяком случае пользовательская) с такими скоростями работать не сможет. Для 3-его циклона, помоиму максимальная частота защёлкивания триггера была в районе 400 МГц. Не думою, что в 4-ом эта цифра сильно изменилась. Такие высокие частоты необходимы для тактирования высокоскоростных приемопередатчиков.

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

Чт окт 10, 2019 10:12:43

Понял. Ну, в каталоге где заказывал указано частоту 472.5МГц. В принципе, меня это устраивает. Сделаю новую плату и проведу эксперименты.

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

Чт окт 10, 2019 10:27:35

472.5МГц - это максимальная частота, если угодно, идеализированная... Для маломальски рабочего проекта, делите её в 1,5-1,8 раза... получите рабочую. Для более-менее серьёзного проекта, делите на 2,2-2,5.
P.S. Наверняка 472.5МГц это для топового спидгрейда, а если Вы микросхемы по дешевки срубили, скорей всего они самые тормознутые из всего скоростного ряда.

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

Чт окт 10, 2019 11:13:57

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

Добавлено after 4 minutes 8 seconds:
http://www.kosmodrom.com.ua/el.php?name=EP4CE6E22C8N
7 баксов за штуку. Скоро приедут, посмотрим.

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

Чт ноя 14, 2019 21:36:19

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

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

Чт ноя 14, 2019 22:00:54

Это что получается только последовательно исполнение в процессе с привязкой к тактовому сигналу? Я рассчитывал на асинхронную логику

Ничего не получается. Асинхронная логика в плис живёт, хотя конечно с тактами лучше. Попробуйте для начала светодиодиком помогать... Убедитесь, что дело не в железке. Ну а то, что у Вас вместо и, или ссинтезилась, так это Вы в коде могли где-то нарукожопить. Одним словом, сначала проверьте железку, а уж потом код!

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

Чт ноя 14, 2019 22:11:57

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

Добавлено after 2 minutes 8 seconds:
ну так чем это сложнее мигания светодиодиком? Сигналы на входные ножки подаются, на выходе ничего не меняется.
Вложения
sch.png
(13.93 KiB) Скачиваний: 108

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

Чт ноя 14, 2019 22:33:39

Ну сделайте так:
Out <= In;
И больше ничего. Убедитесь, что железяка живая...
P.S. проверьте ноги правильно назначены?

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

Пт ноя 15, 2019 09:05:15

Уже привязывал на одну ножку, эффекта нет. Привязку ног сегодня проверю. Выход должен быть тот - если вывожу просто константу, то работает корректно. Может быть еще косяк с настройкой уровней? у меня логика относительно 3,3В, я на все ножки включил режим CMOS3.3V.

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

Пт ноя 15, 2019 10:18:11

если вывожу просто константу, то работает корректно.

Что значит константу? Подайте с контроллера меандр на ногу In и проверте, что на Out будет тот же меандр. Или моргайте светодиодом используя тактовый сигнал.

я на все ножки включил режим CMOS3.3V.

Режим тут не причём, если конечно, Вы банки правильно запитали...

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

Пт ноя 15, 2019 19:44:56

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

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

Добавлено after 1 minute 24 seconds:
работает :beer:
Вложения
fpga.png
(45.99 KiB) Скачиваний: 102
Ответить