Хотелось бы сделать что-нибудь на ПЛИС, но пока не могу понять, как к этой области вообще подступиться. Для начала интересует один вопрос. Для распространённых МК (AVR, STM32) можно вести разработку, используя только СПО (свободное программное обеспечение) - есть много разных IDE, есть семейство компиляторов GCC, отладчик GDB. Благодаря этому разработку и отладку проектов на данных МК можно вести даже из линукса. Возможно ли заниматься разработкой для ПЛИС (каких - Altera, Xilinx или других - пока не уточняем) также из линукса и используя только СПО? Или из винды, но всё равно используя СПО. То есть другими словами, возможно ли заниматься разработкой для ПЛИС, не используя специальное проприетарное платное ПО? Варианты типа "писать текст в блокноте" по понятным причинам не подходят. Всё-таки цель - работать удобно. Добавлено: Sun Sep 17, 2017 10:28 pm |
Вариант - бесплатная (но всё равно проприетарная) версия Quartus (ALTERA). я выбрала Альтеру именно из-за удобства использования. Добавлено: Sun Sep 17, 2017 11:04 pm |
У Квартуса для ПЛИС Альтеры есть линукс версия. https://habrahabr.ru/post/274837/ Добавлено: Sun Sep 17, 2017 11:07 pm |
Для Альтеры - USB blaster (прошивалка) https://ru.aliexpress.com/item/Integrated-Circui.../32818957518.html max 2 CPLD https://ru.aliexpress.com/item/ALTERA-MAX-II-EPM.../32239076830.html https://ru.aliexpress.com/item/OpenEPM1270-Packa...ts/753380897.html https://ru.aliexpress.com/item/Free-shipping-ALT.../32762405021.html Cyclone 4 FPGA https://ru.aliexpress.com/item/USB-Blaster-alter.../32813061054.html Добавлено: Sun Sep 17, 2017 11:13 pm |
Ух ты! Спасибо за ссылки! Плата на Cyclone 4 выглядит очень круто. Не подскажешь, где почитать про отличие Cyclone 4 FPGA от MAX 2 CPLD? Я так понял, это несколько разные семейства... Добавлено: Sun Sep 17, 2017 11:33 pm |
Циклон это FPGA, а Макс CPLD. Прошивка CPLD хранится внутре самой CPLD микросхемы, а у FPGA загружается из внешней памяти. Добавлено: Mon Sep 18, 2017 12:04 am |
Для ознакомления и изучения сейчас наверное нет большой разницы... можно приобрести ту же epm1270 или циклон 3..4. На max2 можно делать несложные устройства, всякие небольшие контроллеры, интерфейсы, логику, на циклонах -уже что-то посложнее, с математикой, памятью, обработкой сигналов, софт-ядрами.. Добавлено: Mon Sep 18, 2017 1:55 am |
Циклон какой-нить у китайцев с прошивалкой за 500руб. У xilinx прошивалка не бюджетно стоит. Добавлено: Wed Sep 20, 2017 10:09 pm |
Не так уж и дорого: http://www.aliexpress.com/item/Xilinx-Platform-.../32691266814.html Добавлено: Wed Sep 20, 2017 11:00 pm |
Ну если это чудо работает, замечательно. Часто бывает, что нефига не работает или работает через жопу. С альтеровским шейками, втч китайскими, я такого не слышал. Сам пользуюсь оригинальной. Добавлено: Wed Sep 20, 2017 11:06 pm |
Работает, проверяли. Понятно, что оригинальный лучше. Но для дома, для семьи как-то жирновато получается всем оригинальным пользоваться ![]() Добавлено: Wed Sep 20, 2017 11:11 pm |
На Али заказывал вот такую отладочную платку с CPLD Altera MAX II и USB Blaster'ом https://ru.aliexpress.com/item/USB-Blaster-cpld-...II/793647842.html Дешево и сердито. Продавец еще и ссылку на примеры дал. На сколько я понял, он эти платки и разрабатывает. Отличный набор для того чтобы "въехать" в тему. Добавлено: Thu Sep 21, 2017 11:28 pm |
Подскажите, кто в теме. Речь про Altera (теперь уже Intel) Quartus 17. А точнее - про входящий в комплект симулятор Altera-ModelSim. Верно ли я понял, что нельзя симулировать весь проект целиком, а только отдельные модули, каждый раз вручную задавая входные сигналы? Если не так - дайте пожалуйста ссылку на какую-нибудь статью или туториал об этом. Чтобы задать только частоту тактового генератора и получить временные диаграммы всех интересующих сигналов. Нашёл и опробовал несколько туториалов, в том числе и с альтеровского сайта - НИ ОДИН не соответствует реальному положению вещей. В каждом упёрся в то, что интерфейс программы отличается от описанного в туториале. Добавлено: Thu Oct 19, 2017 3:16 pm |
Если проект выполнен графически, то сначала перевести в Verilog/VHDL а потом https://marsohod.org/11-blog/118-modelsim Добавлено: Sat Oct 21, 2017 9:15 am |
Проект выполнен смешанным способом - модули написаны на верилоге, а самый верхний уровень (соединение между собой модулей, PLL, входы и выходы) - графически. Добавлено: Sat Oct 21, 2017 10:45 pm |
Народ, есть такой вопрос. Необходимо преобразовать 8-битну шину в 7-битную. По 8 битной шине приходят пачки байт с временными промежутками между ними. За это время(пачка+пауза) нужно эту же информацию отстучать с помощью 7-битной шины. Как это лучше сделать? Добавлено: Mon Jan 08, 2018 12:05 am |
А что пони мается под "ту же информацию"? Тот же битовый поток? Тогда, наверное, грузить в 8-битный сдвиговый регистр с параллельной загрузкой и последовательным выводом, из него по какому-то внутреннему клоку пересасывать в 7-битный, наоборот, с последовательным вводом и параллельным выводом. По заполнению второго, соответственно, сплёвывать данные в шину. Это если я правильно понял задачу. Добавлено: Fri Jan 12, 2018 4:04 am |
ЦАП 8 бит - АЦП 7 бит Добавлено: Fri Jan 12, 2018 7:43 pm |
Пока не очень понятно, что нужно.. В каком виде оно приходит? Параллельные байты со стробом/синхросигналом, или как-то еще? Желательно нарисовать времянки хотя бы карандашом на бумажке (того, что приходит, и что должно получаться в результате). Добавлено: Fri Jan 12, 2018 8:25 pm |
Данные приходят по параллельной 8-битной шине с частотой примерно 27МГц. Клок привязан к частоте входных данных. Он глобальный, на выходе будет он же. Я вот в квартусе диаграмму набросал. Data - вход, out - выход. Clock - тактирование. Паузы между записью и выплевыванием быть не должно(если это возможно). На рисунке, на шине out, выделен первый пришедший байт. Видно что он забивает все 7 линий первого такта и одну линию 2 такта. И так далее, каждый раз будет осуществляется сдвиг на 1 бит. На вход приходят пачки по 204 байта, пауза между ними 52 такта. За время паузы нужно выплюнуть все, что накопилось в буфере. Как-то так. Добавлено: Fri Jan 12, 2018 8:49 pm
|
Что-то не сходится. 204 байта = 1632 бита. Словами по 7 бит это будет 233 слова и еще 1 лишний бит (1632 = 233 * 7 + 1). То-есть тактов для передачи кадра надо 234. А у нас есть 204 + 52 = 256. Предполагаю, что в кадре все же 224 байта, а пропуски по 32 такта. Тогда будет неразрывность выходного потока: 224 * 8 = (224 + 32) * 7 = 256 * 7 Добавлено: Fri Jan 12, 2018 10:34 pm |
Доктор Зло писал(а): То-есть тактов для передачи кадра надо 234. А у нас есть 204 + 52 = 256. Остальное будет забито нулями до следующей пачки на входе. Добавлено: Fri Jan 12, 2018 10:39 pm |
А какая ПЛИС в железе (если оно есть)? В случае, например, Циклона (фирмы Altera, с ними работаю иногда) это надо делать на FIFO из встроенной памяти. Добавлено: Fri Jan 12, 2018 11:02 pm |
Vcoder писал(а): возможно ли заниматься разработкой для ПЛИС, не используя специальное проприетарное платное ПО? Полностью опенсурсное решение есть для Lattice ICE40 http://www.clifford.at/icestorm/ Добавлено: Wed Feb 28, 2018 3:51 pm |
А кто-нить знает, как констрейны писать? Добавлено: Wed Jun 13, 2018 12:11 pm |
Лицензионное соглашение (c)Flyback.org.ru Российское общество любителей высоких напряжений. Использование материалов с данного сайта и форума возможно только с разрешения администрации. |