Муръ! Подскажите, на каком семействе плис можно сделать простой 32-битный сдвиговый регистр с частотой семплирования 400 мегагерц (!) Ну и слегка потом, творчески обработать результат
Не знаю, что Вы под этим подразумеваете... Но вопрос сперва стоит ставить о производителе и цене вопроса. Можно например слёту топовый Kintex порекомендовать, но думою, что цена в тысяч USD Вас не устроит. Что касается по существу вопроса, то из дешовых микросхем можно cyclone 4 порекомендовать, или spartan6 у Xilinx (в последнем кстати есть возможность сконфигурировать сдвиговый регистр на базе лутов SRL16 и SRL32 соответственно). Интересующие Вас скоростные характеристики приведены в разделе dc and switching characteristics даташитов. Но самое надёжное, написать проект в соответстующей IDE и проверить его на отсутствие временных ограничений. После этого сможете сориентироваться конкретней по поводу кристалла. Но работа на 400 МГц эта для названных мною семейств, что называется работа на пределе! Ни о каком запасе по скорости, речи в данном случае не идёт. Конечно есть аппаратные блоки способные работать на гораздо больших скоростях, но пользовательская логика такое уже не потянет (в более менее сложном проекте). Так что данные придётся распарралеливать или искать другие пути обхода...
Здравствуйте. Планирую одну штуковину собрать на плисине. Нужен тактовый генератор. Но доступная микруха без pll, а частоту хотелось бы 200-400 МГц. Так вот - могу ли я в самом плис собрать что-то автоколебательное на логике, например на цепочке инверторов? Мне квартус позволит такое? стабильность и точность не важна.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Лично я такого не делал, хотя один коллега мне про такое рассказывал и говорил, что как то даже работало (ну естественно о точности и стабильности речи не идёт). Другой вопрос, что у Вас там за плис в которой блоков pll нет? CPLD какая то старая? Вы уверены что в ней логика такую частоту потянет? Или вам чисто поприкалываться?
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
ну, я выбрал MAX II. Десятой у нас не нашел, можно на каком-нибудь mouser купить - но доставка десять баксов, как-то не хочется. Это личная разработка, с бюджетами не разгонишься. Пока что попробовал собрать подобие генератора - любое мое творение в vhdl квартус сводит к одному зацикленному инвертору. Я думал в цепочку вставлять элементы-пустышки для кое-какой регулировки частоты, но оптимизация это все съедает. Графический способ показал себя получше - привязка промежуточных звеньев к портам вывода не дает оптимизации срезать пустышки. Но хотелось бы освоить именно VHDL. В общем пока что играюсь с квартусом и вникаю в язык. На счет xilinx в магазинах вообще туго, в основном альтера.
Добавлено after 2 minutes 11 seconds: P.S. микрухи пока только заказал, будут ехать пару недель. Да и платы под них еще не разводил, и бластер купить надо. Это я к тому, что отчитаться о тестах в шелезяке пока не могу.
Не знаю, это фишка 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).
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
ну я тоже думаю что подобная возможность имеется. Если не через прямые директивы, то в той пачке настроек проекта. Пока что отложил это в сторону. Ожидал увидеть простой рубильник - нет, низкая, высокая оптимизация. Как в привычных сишных компиляторах, но не тут то было.
в общем сходу стартануть автоколебательный контур во втором максе не получилось. Но тут подвернулись оочень дешовые 4е циклоны, заказал сразу 4 штуки, посмотрим что да как. Что хочу спросить - когда конфигурирую встроенный плл, оно позволяет забить частоту целых 1.3 ГГц. Это реально хоть что-то затактировать на такой частоте? Оно заведется? Мне только пару двоичных счетчиков, не думаю что перегреется.
Даже если pll и позволит сгенерить стабильный сигнал с такой частотой, то логика (во всяком случае пользовательская) с такими скоростями работать не сможет. Для 3-его циклона, помоиму максимальная частота защёлкивания триггера была в районе 400 МГц. Не думою, что в 4-ом эта цифра сильно изменилась. Такие высокие частоты необходимы для тактирования высокоскоростных приемопередатчиков.
472.5МГц - это максимальная частота, если угодно, идеализированная... Для маломальски рабочего проекта, делите её в 1,5-1,8 раза... получите рабочую. Для более-менее серьёзного проекта, делите на 2,2-2,5. P.S. Наверняка 472.5МГц это для топового спидгрейда, а если Вы микросхемы по дешевки срубили, скорей всего они самые тормознутые из всего скоростного ряда.
Т-е они на производстве тестируются и как-то помечаются? Я видел этот спид грейд в настройках плл вчера вечером, теперь становится понятно что это такое. Ну, если не подойдут эти дешовые, закажу подороже, не катастрофа. Мне нужно в принципе найти техническое решение и на выходе получить устройство. Дорогой вариант в бюджет вписывается.
Это снова я. Наконец доделал плату, сел за писание программ. Раньше я набросал проект, который после компилирования в нетлист вивере выглядел корректно. Планировал последовательно переносить код в пустой проект. И на первом же этапе впал в ступор. В архитектуре я написал следующее: enable <= selectIn(0) and selectIn(1) and selectIn(2); Что скомпилилось в обычный элемент ИЛИ с тремя входами. Такая простая программа в максе (кстати нашел где купить макс10 ) мне нужна для отладки программы микроконтроллера. Но зашив программу я обнаружил что программа в плис как будто исполняется один раз и больше не реагирует на изменение входов. Поискав в интернете я наткнулся на какие-то дельта циклы... Это что получается только последовательно исполнение в процессе с привязкой к тактовому сигналу? Я рассчитывал на асинхронную логику! Объясните, если не сложно, или ссылку какую дайте, может быстрее будет.
Это что получается только последовательно исполнение в процессе с привязкой к тактовому сигналу? Я рассчитывал на асинхронную логику
Ничего не получается. Асинхронная логика в плис живёт, хотя конечно с тактами лучше. Попробуйте для начала светодиодиком помогать... Убедитесь, что дело не в железке. Ну а то, что у Вас вместо и, или ссинтезилась, так это Вы в коде могли где-то нарукожопить. Одним словом, сначала проверьте железку, а уж потом код!
Уже привязывал на одну ножку, эффекта нет. Привязку ног сегодня проверю. Выход должен быть тот - если вывожу просто константу, то работает корректно. Может быть еще косяк с настройкой уровней? у меня логика относительно 3,3В, я на все ножки включил режим CMOS3.3V.
если вывожу просто константу, то работает корректно.
Что значит константу? Подайте с контроллера меандр на ногу In и проверте, что на Out будет тот же меандр. Или моргайте светодиодом используя тактовый сигнал.
так и делаю - подаю на вход меанрд периодом 2с и никакой реакции. Что значит правильно банки запитал? Ну, на все банки подал напряжение 3,3V, вроде никого не пропустил. (подтер пост, разбираюсь)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения