Посоветуйте Quartus для Altera Max3000A

Все, что не подходит под определение "старого софта и железа", обсуждается здесь
Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26891
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Посоветуйте Quartus для Altera Max3000A

Сообщение Rio444 » 05.10.2018,18:38

Кто в чём создаёт прошивки?
Может и не Quartus вовсе. Я пока совсем "чайник".

И ещё, посоветуйте какую-нибудь книжку с примерами.
Некоторые, казалось бы простые вещи Quartus 9.0 отказывается компилировать.
Некоторые компилирует, но схема какая-то кривая получается. Совсем не то, что ожидал.
Электронка: Изображение копия Изображение

Andrei88
Advanced Member
Сообщения: 846
Зарегистрирован: 12.04.2008,18:17
Откуда: Пермская обл. г.Пермь

Сообщение Andrei88 » 05.10.2018,18:45

Для таких, скорее Max Plus II 10.x - вроде бы, последняя 10.2 - в свое время мы лабы на ней делали - достаточно простая с интерфейсом еще в стиле Win 3.x, но в полном варианте, который должен быть на торрентах, есть все, что нужно - редактор - графический и текстовый, компиляторы VHDL, Verilog и AHDL (наиболее простой язык) и симулятор, можно прогнать полученное устройство.
Собственно, если программировать MAX3000 для себя, думаю, самое подходящее
Ищу:
Медицинский словарь для Сократа 2.0
Программу проверки орфографии "Цензор"
Русский офис 95 и 96 года для Win 3.x где не только FineReader и Сократ

Аватара пользователя
CodeMaster
Advanced Member
Сообщения: 7669
Зарегистрирован: 27.08.2010,11:17
Откуда: Воронеж
Контактная информация:

Вклад в сообщество

Сообщение CodeMaster » 05.10.2018,19:06

Rio444 писал(а):Я пока совсем "чайник".
Я тоже рядом с ПЛИС не стоял, но ZX'e есть тема где всегда есть народ с ними связанный, может чем поможет
Rio444 писал(а):И ещё, посоветуйте какую-нибудь книжку с примерами.
Там все хвалят "учебник" от Ewgeny7 (для низкого старта).
"Во времена всеобщей лжи говорить правду - это экстремизм" © Джордж Оруэлл, "1984"

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26891
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Сообщение Rio444 » 05.10.2018,19:14

Спасибо! Почитаю на досуге. Тема там разрослась.

Немного конкретизирую вопрос. Кто-нибудь встречал прошивку Altera для работы на шине ISA? Желательно на Verilog. Си мне ближе.
Электронка: Изображение копия Изображение

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

Вклад в сообщество

Сообщение Tronix » 05.10.2018,20:46

Я сам нуб. И нихрена не знаю. Но что знаю - скажу. Например, про кактус. Скачивается совершенно свободно с официального сайта https://www.intel.com/content/www/us/en ... enter.html . Правда зарегаться надо, но дело минутное. Там если выбрать вкладку "Select by Device" и затем MAX series - MAX 3000A, то видим, что последний кактус, который поддерживает сабж - 13.0, Service Pack 1. Но я использую Quartus II 9.1 sp2 Web Edition - вполне хватает, хоть и компилирует одним ядром процессора, а не многопоточно, как крякнутые кактусы. Ну да мне не влом лишние ~10 секунд подождать. Умеет и схемно рисовать, и Verilog. Впрочем, наверное и 13 версия умеет схемно рисовать.

Про ISA и код на Verilog.... Если вдруг интересно, можете почитать мои потуги создать контроллер SD-карт на EPM3032 тут: http://www.nedopc.org/forum/viewtopic.php?f=87&t=18519 Начинал было со схемного рисования, но в итоге переключился на Verilog. WARNING! Скорее всего говнокод и так делать нельзя. Там много воды и мистики, но в итоге как-то это чудо все-таки заработало, только с небольшой скоростью (тактировалось от CLK сигнала - 8МГц, значит на SPI шло ~4МГц). Все попытки переключится на тактирование от OSC (18МГц) заканчивались дичайшими глюками, потому что не получалось синхронизироваться с машинными тактами и впихнуть в эти несчастные 32 ячейки нормальный конечный автомат. Но от CLK вполне себе работало. Вот тут тесты скорости: http://www.phantom.sannata.ru/forum/index.php?t=27749

Сейчас же собрал себе новую игрушку: http://www.phantom.sannata.ru/forum/ind ... 5#pp465565 . Только еще допаял на плату семисегментные индикаторы, 3.5" аудио-джек, ну и SD конечно.

Изображение

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

А, вообще, justontime очень хорошо шарит в теме, и насоздавал уже кучу всяких устройств с FPGA для ISA. Жаль только, что как-то код не очень всем показывает, а я бы например очень хотел посмотреть на реализацию Covox по части PWM. С какой скоростью сэмплировать и тд. С примерами оно лучше как-то.

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26891
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Сообщение Rio444 » 05.10.2018,23:16

Tronix, Вас я и ждал (в том числе).
Спасибо, что откликнулись.
Tronix писал(а):Но я использую Quartus II 9.1 sp2 Web Edition
Как ни странно, у меня сейчас стоит то же самое. До этого пробовал (недо)крякнутый 9.0, free 18.1.
9.1 web оказался компактным и вроде работает как надо.
Tronix писал(а):Если вдруг интересно, можете почитать мои потуги создать контроллер SD-карт на EPM3032 тут: http://www.nedopc.org/forum/viewtopic.php?f=87&t=18519
Почитаю, спасибо!
Tronix писал(а):WARNING! Скорее всего говнокод и так делать нельзя. Там много воды и мистики, но в итоге как-то это чудо все-таки заработало
Углубляясь, постепенно прихожу к выводу, что при всех претензиях на стройность и логичность Verilog-а, некоторые вещи нифига не логичны. Их надо просто знать. Например - реализация мультиплексора.
Tronix писал(а):Все попытки переключится на тактирование от OSC (18МГц) заканчивались дичайшими глюками
Вообще-то там должно быть 14.318.



Электронка: Изображение копия Изображение

Аватара пользователя
alecv
Advanced Member
Сообщения: 6993
Зарегистрирован: 05.10.2004,11:13
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Сообщение alecv » 06.10.2018,10:15

Вот еще моя старая статья
https://habr.com/post/277947/
Там конечно много (тупого) троллинга и после всех переездов Хабра и Гикмаймса еле ее нашел.

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26891
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Сообщение Rio444 » 06.10.2018,10:30

alecv писал(а):
Коллега, спасибо!
Это едва ли не первое, что я прочитал.
Отличная статья!
Электронка: Изображение копия Изображение

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26891
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Сообщение Rio444 » 18.10.2018,13:15

Если вдруг сюда забредет кто-то из ПЛИСоводов, просьба помочь с вопросами:

Проект на Max3000A EPM3064, Quartus 9.1 web, Verilog.

1. Какие должны быть подтягивающие резисторы для пинов JTAG (на самом проектируемом устройстве)? Использование внешнего КонфПЗУ не подразумевается. Программируется непосредственно ПЛИС и только она.
В готовых схемах нашел варианты:
первый - все пины вешаются через резисторы 1кОм на Vcc (+3,3В),
второй - все на Vcc, кроме TCK, который на GND.
Как правильно? Где об этом почитать? Гугл ничего не выдал (или не так искал).
2. Как правильно использовать Global Reset? Нужно ли что-то дополнительно указывать Квартусу или просто вручную сделать цепь инициализации каждого триггера и назначить её пину "Global Clear"?
3. Аналогичный вопрос по использованию Global Clock.

P.S. Просьба к модератору переименовать тему в "Вопросы, связанные с применением ПЛИС".
Электронка: Изображение копия Изображение

Аватара пользователя
EJSanYo
Advanced Member
Сообщения: 414
Зарегистрирован: 27.12.2007,23:55

Вклад в сообщество

Посоветуйте Quartus для Altera Max3000A

Сообщение EJSanYo » 25.09.2019,12:33

Rio444 писал(а): 18.10.2018,13:15 Если вдруг сюда забредет кто-то из ПЛИСоводов, просьба помочь с вопросами:
Забрёл. :biggrin:
Rio444 писал(а): 18.10.2018,13:15 Какие должны быть подтягивающие резисторы для пинов JTAG (на самом проектируемом устройстве)?
Я по жизни вешал все на Vcc через резюки по 10 кОм. Думаю, сопротивление некритично, как и в случае подтяжек для контроллеров. В подробности по работе JTAG-а не вдавался, но на работе мои предшественники по жизи делали так, и проблем никогда с этим не было. У меня тоже.
Rio444 писал(а): 18.10.2018,13:15 Как правильно использовать Global Reset?
Аналогичный вопрос по использованию Global Clock.
Непосредственно на VHDL почти ничего не делал. :08: А в схемном редакторе в библиотеках есть примитив под названием GLOBAL. На всякий случай вешал его последовательно с этими самыми входами, хотя, наверно, компилятор и так должен это учитывать.
А физический смысл в том, что сигналы выделенных ног аппаратно уже разведены во все блоки чипа, так что если в создаваемой схеме есть общий тактовый сигнал, или общий сброс, то при задействовании для этих целей выделенных ног компилятор может оптимизировать межсоединения, сократив и что более важно выровняв задержку прихода сигналов к элементам схемы. Но при этом будут накладываться определённые аппаратные ограничения на логику работы этих входов. В частности, насколько помню, "глобальный" тактовый сигнал работает только по фронту/срезу, а не по уровню, а сброс наоборот - только по уровню, причём лог. 1
Хорошо иметь DOOM-ик в деревне!

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26891
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Посоветуйте Quartus для Altera Max3000A

Сообщение Rio444 » 25.09.2019,14:04

EJSanYo писал(а): 25.09.2019,12:33Забрёл.
Если уж Вы забрели, то ответьте пожалуйста на новый вопрос. Что делать с ножками Altera для прошивки по JTAG, если эта прошивка не нужна?
Т.е. Altera уже прошита. Можно ли оставить их "висеть в воздухе" или надо куда-то подтягивать?

На старые вопросы я уже сам давно ответил, спасибо.
Мои ответы (во многом схожие с Вашими):
1. Подтяжка через резисторы 1К. Все на Vcc, кроме CLK, который на GND. Документ, страница 5 и 9.
2. Global Reset сам по себе не работает. Это просто вход, который оптимизирован на то, чтобы им сбрасывать триггеры. Каждую линию от Global Reset до каждого триггера надо "проводить" вручную.
3. То же самое, но для синхронизации триггеров (т.е. для их входов Clock).
Global Reset и Global Clock работают и по фронту, и по срезу (и по уровню), единственное ограничение - они могут работать только как входы. На них даже не обязательно "вешать" сигналы Reset и Clock. Любые входные.
Электронка: Изображение копия Изображение

Ответить