Pull to refresh

Comments 19

Занятно видеть FPGA и аналоговый осциллограф на одной фотографии ). Смотрю ваши опыты продолжаются, это хорошо, даже очень. Надеюсь вы в курсе основного недостатка CPLD микросхем?
MAX 7000 devices use CMOS EEPROM cells to implement logic functions, and can be programmed and
erased up to 100 times.
Советую быстрее перебираться на более новые семейства, они уже вполне доступны для домашнего использования.
Честно, был не в курсе. Я эту микросхему скоро передарю, мне уже в замен отдали EPM3064. А более новых семейств у меня тоже есть )) Больше отдаю предпочтение, конечно, к Cyclone от 2 по 4.

Слева направо Altera: 2хEP4CE6, EP4CE10, 2xMAXii EPM240, EPM3064.
Снизу Lattice LC4064V и Lattice LC4032V


EP2C5
Доступные для домашнего использования новые семейства это EPM240 с корпусом TQFP-100 и сложнее?
Вам доступные с точки зрения паять или с точки зрения купить? Для себя доступными считаю Altera, потому что программатор порядка 300р, и готовые платы ПЛИС от 700р до 1500р от маленьких MAX240 до Cyclone. Я больше рекомендую Cyclone, конечно. Вот ПЛИС на 10 — 20 тысяч ячеек — это уже то 10 тысяч рублей может доходить, и я их уже считаю не очень доступными. По той же причине Xilinx пока мне недоступны из за высокой цены программатора, даже китайского. Достойные платы на Lattice где-то порядка 2500 рублей.
Вот плата сделана утюгом. Вполне реально паять. Это Altera EPM3000 серии. Такие же и 7000й. Добываются из старых изделий. Купить их дорого, хоть 300р не деньги, но 32 ячейки — вообще я не знаю на что можно применить. За вменяемые деньги (до 100 рублей) можно купить Altera MAXii 240. Это TQFP-100. Из обвеса потребуется только стабилизатор на 3V3, конденсаторы. Для работы — генератор. Любой, но желательно поменьше, порядка 25 МГц или ниже, чтобы половину ПЛИС не тратить на деление частоты. И разъем для подключения программатора. В 240 ячеек можно засунуть очень много, пример тому сайт — Марсоход.
Ну так TQFP-44 это совсем не TQFP-100, с ним в самоделках работать гораздо проще. Просто 3000 и 7000 серия уже относятся к нерекомендуемым, поэтому я о TQFP-100 и вспомнил. А 32 -ячеек иногда хватает с избытком — EPM3032A применяется в одном изделии у нас на работе.
Кстати по 7000 и 3000 серии есть одна интересная особенность. У нас на них был реализован фазовый детектор с автовыравнием фазы, который иногда глючил на определенных фазовых частотах. При этом в реализованной схеме детектора сигналы со входов шли сразу на несколько логических элементов. Глюки ушли после предварительной буферизации сигналов со входа (элемент НЕ).
Класс! Маша просто супер! У меня лежит iCE40-HX8K Breakout Board от Lattice. Даже захотелось самому на ней прикольные звучки погонять. Хотя понимаю конечно что с таким монстром на 8К ячеек это немного не спортивно. Вам же с 64 ячейками безоговорочный респект. С Новым Годом!
Спасибо, я ей передам! Это наш охотник-защитник. В этом году на даче мы с ней не голодали. Всегда свежие мыши, хомяки и птицы. Один раз даже целую сосиску принесла.
ПЛИСы — очень интересная для меня тема, я тоже присматриваюсь к Lattice вашей серии. Нравится то, что там количество GPIO порядка 160, можно очень много чем по управлять, при желании. При случае, обязательно куплю. А 8К ячеек — это нормально как раз. Я когда делаю декодирование MIDI сообщений, генерацию сигналов разных форм (синус, пила, итд), плюс ADSR то уже получается вполне увесисто. И это на один голос, без полифонии. Полифонический электроорган с четырьмя регистрами в лоб, вполне себе почти полностью заполняет Альтеру на 4К ячеек. Так что для целей музыки 8к — это вполне нормально. Да, пили-мили — попроще влезает и в 64 ячейки. Но тут целочисленное деление. Можно попробовать еще и DDS. В общем, не стоит стесняться использовать ресурсы.
Блин, завидую Вам черной и белой завистью! Моя Защитница и Охотница умерла три года назад. Бусильда Укусильдовна Кошкарская. 21 год прожила. Из них 7 лет с нами. Мать с тех пор категорически против кошек, собак и прочей живности.
ПЛИСы вообще отдельная песня. Это одна из моих больших любовей. Наряду с кошками, Eclipse(в смысле не яхта Абрамовича а среда разработки), мотоциклами и мордобойными искусствами. Занимаюсь ими уже лет 10. Эта плата была куплена для одного проекта, где плисина в итоге была забита на 98%. Сейчас постепенно дозреваю до постройки квадрокоптера с продвинутыми функциями обработки видео в реальном времени. Но там закладываюсь вот на это http://www.adapteva.com/parallella/. Это Xilinx. Вобщем очень рад, что ещё один хороший человек (и друг кошек !) этим заинтересовался. Если будут по этому какие-то вопросы, всегда буду рад помочь. Почитав Ваши статьи, понял что с базовым освоением технологии Вы и сами прекрасно справились, но когда дойдёт дело до реализации алгоритмов (например быстрого преобразования Фурье), могут возникнуть проблемы.
Да, друзей больно терять. Очень. Сам вот тоже в этом году потерял.
Хорошо, по ПЛИСам обязательно обращусь! Есть вопросы. К примеру, тут столкнулся с такой темой, почему-то у меня Quartus не захотел к шине WOR в топ модуле, подключать N дочерних подмодулей с выходом на этот тип шины.
Честно говоря никогда не пользовался Квартусом (работал только с Xilinx и Lattice) и никогда не использовал проводного ИЛИ. Разве что в прошлом веке, в стране которой уже нет, когда паял модули для КАМАК. Так на вскидку. Для того чтобы быть подключенным к проводному ИЛИ, подмодули должны иметь выходы с открытым коллектором (ну или с открытым стоком, если речь о современных КМОП). Поглядите у себя в настройках выходов подмодулей, какие опции для них заданы. Нужная опция должна по-идее должна называться как-то типа open-drain или похоже. Гляньте во-первых поддерживает что-либо подобное Квартус, и во-вторых установлено ли оно у Вас. Думаю если во-первых Квартус это поддерживает, во-вторых Вы её установите, то проблема решится. Однако предостерегу. Проводное ИЛИ как правило прилично увеличивает задержки. По крайней мере в дискретной ТТЛ-логике. Лучше используйте мультиплексоры.
Я хотел применить WOR внутри ПЛИС. Не выдавая наружу. Что интересно, просто внутри одного модуля на Verilog — это работает. Но если логика лежит в другом модуле и в этот он просто подключен, то нет.
Вот это вообще странно… Я честно говоря никогда не пытался делать внутри чипа ни проводное ИЛИ, ни три состояния, а всегда использовал мультиплексоры. Так что тут не знаю. Гляньте все-таки в Квартусе на опции выходов. Наверняка если оно позволяет это делать внутри модуля, то как-то задаётся и во вне. В конце концов такой приём, немного через задницу, но по-идее должно сработать. Сделайте чисто коммуникационный модуль. В нём N подмодулей принимаются по обычным шинам, а внутри всё это передаётся на проводное ИЛИ. Блин, просто интересно стало. Жаль что сейчас довольно плотно занят другим проектом.
Идея была какая. Есть модуль VGA. Он генерит развертку Х, У. И есть N модулей, каждый на вход получает X, Y, и каждый выдает что-то на RGB. Ну и вот идея была в том, чтобы сделать RGB как WOR. И если кто-то из модулей выдает цвет, то оно рисуется. Если бы это получилось, то можно было бы легче организовать произвольное число элементов на экране VGA и их было бы проще добавлять/убавлять.
Ну если так, то можно R, G и B просто покомпонентно объединить выходными элементами ИЛИ. Если мне не изменяет мой склероз, LUT у Альтеры 6-входовые. Т.е. для объединения 6 модулей по RGB Вам понадобятся всего три дополнительных ячейки. А добавлять-убавлять Вы ведь всё равно будете перекомпиляцией проекта. Так что по-моему вполне допустимо.
В общем, для прототипов не важно, какой размер ПЛИС. Вот уже под конкретное устройство можно выбирать. Причем, иногда приходится выбирать по цене. К примеру если в MAX240 за 700р не влезает, а влезет в MAX на 570 или 1200, то они уже стоят больше 1000 рублей. А за 1000 — 1300 можно выбрать уже Cyclone 2-4 с количеством ячеек от 4 до 6 тысяч. Плюс там уже и PLL и аппаратные умножители, памяти больше, есть и возможность отладиться через Signal Tap.

Вот тут, к примеру EP2C5 для экспериментов.



Sign up to leave a comment.

Articles