Как бы потихонечку освоить работу с FPGA

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Как бы потихонечку освоить работу с FPGA

Post by Lavr »

Давно я уже присматриваюсь к тому, как бы потихонечку освоить работу с FPGA...
Есть у меня проекты, которые хочется увидеть в железе, но уж зело они великИ,
чтобы их паять на макетках... (к примеру, 4-bit-CPU)
Да и в принципе, люди, владеющие FPGA, говорят, что забудешь фразу "у меня
нет вот такой-то микросхемы логики
"...

Я подробно слежу за FPGA-проектами на нашем форуме и пролопатил много материалов
в сети интернет, в результате у меня сложилось мнение, что мне нужно, но оно нуждается
в уточнении людей, имеющих опыт.

1) мне нужна платка с ПЛИС Altera, достаточно ёмкой для проекта с CPU, 5-вольтовой,
удобная для сопряжения с беспаечной макеткой - посоветуйте?

2) мне нужен Quartus, но почему-то везде советуют "не очень новой версии" -
в новых что-то выпилено и чего-то не хватает. Какой искать Quartus?

3) мне нужен USB-Программатор ByteBlaster. Здесь вроде как вариантов нет... :-?

Этого всего достаточно?


Пока я не определился точно с пунктами 1) и 2) хотелось бы попрактиковаться в каком-либо
простеньком "симуляторе" VHDL, из того, что я прочитал, советуют: Симулятор Aldec и еще
Icarus Verilog в связке с GTKWave for Windows.

Есть еще что-либо небольшое, доступное и удобное?
iLavr
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Starting with FPGA

Post by Shaos »

Xilinx лучше ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Starting with FPGA

Post by newold86 »

Lavr wrote:мне нужна платка с ПЛИС Altera, достаточно ёмкой для проекта с CPU, 5-вольтовой
FPGA Altera вообще не бывает совместимых с 5V. Были старые CPLD от Altera (их еще можно купить за сумасшедшие деньги при весьма скромных по современным меркам параметрам), которые совместимы с 5V
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

newold86 wrote:FPGA Altera вообще не бывает совместимых с 5V.
Я, конечно, боюсь ошибиться, но кажется, на нашем форуме и читал, что есть экземпляры,
вполне работающие при 5V, хотя этого и не обещает производитель.
Вот мне такой экземпляр и хотелось бы приобрести... или даже парочку...
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

Ну вот, к примеру, есть такая плата: Марсоход2 - с ПЛИС Cyclone III

Image

Я правильно понимаю, что ПЛИС Cyclone III в ней работает при 3.3В,
а для согласования с периферией там в линии воткнуты резисторы?
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

Из того, что я просмотрел в интернете, мне понравились вот такие платки:
ALTERA FPGA CycloneII EP2C5T144.JPG
Но эта, на мой взгляд, неудобна для макетирования...

Вот эта - более удобна...
Altera CycloneII EP2C5T144.JPG
А вот эта, как мне кажется, удобнее всего, особенно если бы коннектор
поперек двух основных рядов вывели бы под шлейф...
core_EP2C8.JPG
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

Есть платки, уже увешанные преобразователями:
bot.800.jpg
Но, видимо, это всё же экзотика...

Вот еще довольно симпатичный экземпляр: MCU ALTERA FPGA NIOS
ALTERA MCU FPGA NIOS.jpg
Довольно популярная DE0-Nano_FPGA Altera Cyclone IV что-то мне кажется
слишком "навороченной" и дорогой...
DE0-Nano_FPGA Altera Cyclone IV.jpg
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Re: Starting with FPGA

Post by Vasil Ivanov »

Shaos wrote:Xilinx лучше ;)
Не факт. Хотя они может и распространены больше в Америкосии. В Xilinx ISE констрейны писать - лучше сразу застрелиться, к тому же они там заметно ограниченнее, чем в Квартусе.
Vivado в расчет не берем - в ней нет поддержки хоббийных плисин.
И по дев-бордам (хоббийным) Альтеровские гораздо лучше Хилых (могу судить по своему опыту).
Vasil Ivanov
vasil-i@yandex.ru
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

Vasil Ivanov wrote:И по дев-бордам (хоббийным) Альтеровские гораздо лучше Хилых (могу судить по своему опыту).
Я по Вашему опыту тоже судю... :lol:
Vasil Ivanov wrote:Как привыкнешь к плис-ам, то будешь ловить себя на мысли - "и чего это я раньше этим не занялся и все тянул". И про рассыпуху забудешь как про страшный сон. И не бойся подымать руку на FPGA, они не страшные . Не зацикливайся на одном Xilinx-е, с Альтерой тоже знакомься. Из симулей юзаю менторские modelsim (10.1c) и questasim (10.0b). Халява ессно - лицензия к ним сильно крутая по цене, не для индивидуалов. Если когда-нить дозреешь до дев-борды, то Боже упаси тебя покупать какие-нить от "LDM-Systems" !, только от DIGILENT, типа NEXYS2, NEXYS3. А для Альтеры от TERASIC, типа Altera DE0, Altera DE1.
Но тогда уж берите на себя смелость - советуйте, с чего мне стартануть без мучительного наступания на грабли? :wink:
Со временем у меня напряженно, чтобы грабли испытывать на себе...

А вариант, на котором остановился newold86 кажется мне слишком навороченным отдельным изделием:
DE2-115.gif
Хотя советы newold86 на его старте я тоже учитываю...
newold86 wrote:1. Не уверен, что CPLD лучший вариант для экспериментов - формально есть ограничение в 100 перезаписей. Однако FPGA сложнее в подключении (если хочется сохранять состояние, то нужно еще конфигурационное ПЗУ).

2. С 5В формально совместимы только CPLD Max 7000S (полностью вход и выход) и Max 3000A (входы полностью, выходы дают 3.3В как "1", что не будет работать с 5В CMOS микросхемами). FPGA формально даже 5V на входе не должны выдержать, хотя есть примеры, когда все работает без проблем. 100% вариант согласования - 74LVC8T245

3. Ног много не бывает. Начинал с 44 PLCC корпуса - даже не дошло до пайки, понял, что ног не хватает. Самый многоногий в PLCC (есть панельки) - 84, что тоже маловато. Реально сейчас использую 144 QFP (припаял с использованием платы-переходника из Chip и Dip), но вообще нужно было ставить 208 QFP (как раз поместится на плату-переходник).

4. Для прикидки - количество использованных макроячеек в моем Орионе - 200, из которых штук 50 - разные отладочные прибамбасы. Так что если брать CPLD, то нужно хотя бы 256 ячеек (а еще лучше - 512).
newold86 wrote:для начинающих по русски можно найти полезные вещи здесь - http://www.marsohod.org/

Качать нужно Quartus WEB edition. Можно скачать полноценный Subscription Edition, но без покупки он работает 30 дней. В самом начале разницу все-равно вообще не увидите.

Размер пакета большой - счет идет на гигабайты, не удивляйтесь.

Тонкий вопрос с версией Quartus. Если работать с 5В CPLD (Max 3000 и 7000), то последняя, поддерживающая их - 13.0 SP1. Не путать с 13.1 - на сегодня последняя версия, старые CPLD не поддерживает.

После скачивания Quartus'а еще понадобится (скорее всего) скачать поддержку именно тех CPLD/FPGA, с которыми будете работать.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

Следующая плата, на мой взгляд, наиболее грамотно выполнена, для работы с ней в макетке:
CoreEP4CE6 EP4CE6E22C8N АЛЬТЕРА Циклон IV
CoreEP4CE6 EP4CE6E22C8N АЛЬТЕРА Циклон IV.jpg
CoreEP4CE6 EP4CE6E22C8N_2.jpg
You do not have the required permissions to view the files attached to this post.
iLavr
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Starting with FPGA

Post by newold86 »

Lavr wrote:Довольно популярная DE0-Nano_FPGA Altera Cyclone IV что-то мне кажется
слишком "навороченной" и дорогой...
Только FPGA, установленная на плате, уже устоит в районе USD 60 - 70
Если добавить все остальное, то вроде цена всей платы в USD 79 вполне оправдана

Нужно смотреть, какого объема проекты есть желание запихивать внутрь FPGA. Для понимания порядков - мой проект viewtopic.php?f=87&t=10836 потребовал следующее количество ресурсов FPGA:
resource.png
Насчет 5V - я думал (ошибочно), что вопрос был насчет именно кристалла FPGA, штатно работающего с 5V. Варианты "попробовали, все работает" я вообще не люблю - даже что-то нарушая, предпочитаю четко отдавать себе отчет в том, что может произойти в результате моих нарушений.

Насчет согласования уровней - я вроде довольно много на этом форуме с этим возился, пробовал разные варианты. Идеально - двунаправленные преобразователи с принудительным выбором направления, но тогда всегда будет вставать вопрос о том, как рулить направлением. Кроме того, управляется вся микросхема, а это 8 или 16 линий (чаще всего), поэтому нужно сильнее задумываться, что к чему подключать. Преобразователи с автоматическим выбором направления КРАЙНЕ капризны, связываться с ними зарекся.

Резисторы с диодами - принципиально работает, но при правильном подходе нужно внимательно следить за тем, что они делают с более-менее высокочастотными сигналами. И выходное напряжение может быть недостаточным для некоторых типов 5V микросхем. Кстати, не стоит надеяться на внутренние диоды FPGA - тогда нужно обеспечить правильную последовательность включения питания и загрузки прошивки.
You do not have the required permissions to view the files attached to this post.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Starting with FPGA

Post by newold86 »

Lavr wrote:Следующая плата, на мой взгляд, наиболее грамотно выполнена, для работы с ней в макетке: CoreEP4CE6 EP4CE6E22C8N АЛЬТЕРА Циклон IV
Из того, что вижу на картинке:

1. Никаких преобразователей для 5V совместимости нет
2. Для работы понадобится что-то типа USB Blaster, который тоже стоит денег. У той же Nano Blaster имеется прямо на борту, поэтому подключать к компьютеру можно прямо через USB
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

newold86 wrote:Насчет согласования уровней - я вроде довольно много на этом форуме с этим возился, пробовал разные варианты. Идеально - двунаправленные преобразователи с принудительным выбором направления, но тогда всегда будет вставать вопрос о том, как рулить направлением.
Осознал из Вашего же опыта... но честно говоря, утыкивать всё "ёжиками" преобразователей
никакого желания нет. :-?

Вот этот вариант мне нравится больше, особенно, если резисторы уже на плате ПЛИС:
newold86 wrote:Резисторы с диодами - принципиально работает, но при правильном подходе нужно внимательно следить за тем, что они делают с более-менее высокочастотными сигналами. И выходное напряжение может быть недостаточным для некоторых типов 5V микросхем.
Но честно говоря, не понял совершенно, как Вы их там поставили в своей последней разработке.
Если есть ссылка, откуда Вы брали эту "мысль" - ткните в нее на посмотреть...

Особо высоких частот не предполагаю. Думаю, 10 МГц - максимально...
Начать хотел бы с "Ориона-128", почему и попросил Вас поделиться исходниками.
Глядя в Ваш "Орион", хочу попробовать сам написать "Специалист" - т.к. задача мне очень понятна.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

newold86 wrote:1. Никаких преобразователей для 5V совместимости нет
Да, их там похоже что нет, придется ставить извне что-то.
Но зато плата точно встанет в макетку, а не будет болтаться на шлейфах сбоку.
newold86 wrote:2. Для работы понадобится что-то типа USB Blaster, который тоже стоит денег.
Понадобится. Я вроде как это учел...
Lavr wrote:3) мне нужен USB-Программатор ByteBlaster. Здесь вроде как вариантов нет... :-?
newold86 wrote:У той же Nano Blaster имеется прямо на борту, поэтому подключать к компьютеру можно прямо через USB
Ну и USB-Программатор ByteBlaster позволяет подключать к компьютеру прямо через USB.
А лишнее "прямо на борту" мне и кажется "излишними наворотами".
iLavr
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Starting with FPGA

Post by newold86 »

Lavr wrote:Вот этот вариант мне нравится больше, особенно, если резисторы уже на плате ПЛИС:
newold86 wrote:Резисторы с диодами - принципиально работает, но при правильном подходе нужно внимательно следить за тем, что они делают с более-менее высокочастотными сигналами. И выходное напряжение может быть недостаточным для некоторых типов 5V микросхем.
Но честно говоря, не понял совершенно, как Вы их там поставили в своей последней разработке.
Если есть ссылка, откуда Вы брали эту "мысль" - ткните в нее на посмотреть...
Это тайное древнее знание, доступное лишь избранным ! Но по секрету расскажу - выход/вход 5V через резистор подключается ко входу/выходу FPGA. К этому же входу/выходу FPGA подключается анод быстродействующего защитного диода (типа Шоттки). Катод диода подключается либо к +3.3V, либо через соответствующий стабилитрон на землю. Таким образом, напряжение на выводе FPGA ограничивается не "на глазок", током (как при использовании только резистора), а именно на уровне 3.3V (плюс выброс на время реакции диода). Уверен, что Вы про такой метод знали, только не думали, что так просто :)
Вообще на просторах интернета я находил документ, в котором подробно расписывались способы сопряжения логики с разными уровнями, но сейчас под рукой нет. Могу еще предложить документ от Altera, нужный кусок прилагаю:
MaxII - 5V.pdf
Lavr wrote:Особо высоких частот не предполагаю. Думаю, 10 МГц - максимально...
Думаю, что даже в несколько раз более высоких частотах проблем быть не должно
You do not have the required permissions to view the files attached to this post.