-
Постов
383 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные nice_vladi
-
-
Для 64/66 другие сервисные слова. Но могу ошибаться - не использовал никогда такое кодирование.
Вообще,у Альтеры есть куча design examples почти на все основные блоки. Погуглите, их вики посмотрите. Там прям полный проект.
-
Да, должны. Ну, насколько мне известно. Для начала рекомендую утащить корку в симулятор и там поиграться с параметрами и сигналами.
Но, если хочется сразу в железо - надо не только поднять tx_datak но и в данные засунуть константу BC (в каждую линию). Это будет соответствовать синхрослову K28.5, если не ошибаюсь. И, после того, как увидите, что у вас на константе приемник-передатчик поднялись - пытаетесь толкать данные.
Ну и, выравнивающие фифошки я бы выбросил, для упрощения.
А, ну и, кроме сигнала rx_sync стоит мониторить остальные статусные сигнальчики. Уже точно не помню, но они показывают захват несущей, битовую ошибки и что-то еще. Довольно полезная информация.
-
Вы попробуйте сначала на одной скорости запустить корку. Допустим, на 100. А потом начать наворачивать.
А то смотрю на эти мультиплексоры клока с асинхронными сбросами...
Была, кстати, годная статья на easyelectronics про отладка ethernet в плис. Посмотрите, мб, поможет чем-то:
-
38 minutes ago, Tpeck said:
# PLI: $readmemh Too many digits in memory word in file *.txt at line 61437, position 1. Word size is 40 bits [systf:LDM14]
Зацепился глаз: readmem_H_ или readmem_B_ ?
-
Как предположения:
1. IP Core умеет и в чтение и в запись. Возможно, даже при конфигурировании как readonly, часть логики, отвечающей за запись все равно присутствует;
2. Из мануала:
QuoteEven though the ALTUFM megafunction allows you to select the address widths range from 3 bits to 9 bits, the UFM block always expects a full 9 bits for the width of the address register
Из приведенного кода непонятно, действительно ли там expected 9 bits, или разярдность как-то порезана.
-
12 minutes ago, Aleх said:
Если линканете гайд по "шагам установки", буду очень признателен
Их есть у меня) Вообще, руководствовался этим:
https://gist.github.com/Razer6/cafc172b5cffae189b4ecda06cf6c64f
Довольно подробно расписано. Единственный случившийся затык - нужно собрать локально библиотеку со шрифтами. В остальном все сразу поднялось.
ЗЫ. Можете попробовать полистать вот эту тему:
-
8 minutes ago, Aleх said:
Выбрал именно Modelsim-Altera.
Поковырялся в консоли, обнаружил что lmdiag не работает. Оказалось, проблема известная - надо доустанавливать пакеты (lsb и еще по мелочи). Теперь lmdiag тоже запускается, и тоже говорит что нет лицензий. Далее, попытался пустить консольный vsim. Отругался, что не хватает библиотек ... доставил библиотеки и - получил fatal error. Усиленное гугленье показало, что это г-но мало того, что идет на убунте не новее 16, так еще и требует 32 битных либ. Все, финиш, это я уже не осилю, да и ломать систему не хочется - много всего полезного стоит и работает. Уроды, что сказать. Придется виртуалку ставить.
Про убунту <16, из моего опыта, не правда. Запускал Altera Edition как на 17 так и на 18.04 убунте. Да, там есть определенные танцы с 32х битными библиотеками, но все должно вставать без особых проблем. Т.е. все либы ставятся из имеющихся репозиториев.
Попробуйте еще раз внимательно пройтись по шагам установки, с самого начала, мб, просто что-то пропустили?
-
4 minutes ago, vitus_strom said:
Добрый день коллеги!
Уже не первый раз сталкиваюсь с такой проблемой при работе USB blaster I & SignalTap:
Натыкался на подобную ерунду при использовании китайского аналога программатора. Вплоть до перезагрузки ПЛИС, при попытке что-то выгрузить в SignalTap. К сожалению, вылечилось только сменой программатора на качественный.
Как вариант - попробовать другие программаторы, мб, дело все-таки, не в нем.
-
11 hours ago, SII said:
Просто вылетов быть не должно. Есть проблема в коде пользователя -- надо выводить сообщение о проблеме, а не падать из-за того, что компилятор или кто там ещё кривой.
Все мы знаем, как надо. Но работать приходится с тем, что есть)
-
39 minutes ago, Kluwer said:
Кстати, поправочка: оказывается меню "Create Symbol Files for Current File" отсуствует именно в Pro-версиях. В стандартных не знаю, не ставил. А вот в версиях Lite оно есть. И вообще, в версиях Lite менюшки гораздо богаче и "живее". Вот ведь как.
Как показала практика, версии Pro и "остальные" довольно далеки друг от друга.
Как минимум в требованиях к соблюдению стандарта языка Про версия значительно строже.
Да и в целом, есть подозрение, что в Про версии перетряхнули не только парсер языка...
А по поводу вылетов - я бы внимательно прочитал лог с варнингами, и по максимуму попытался их исправить. Это помогало)
-
16 minutes ago, Jury093 said:
у нас проще - всё хозяйство на uSD - полный контроль. более того, есть другая железяка - у нее uSD, spi flash, nand и загрузка с любого накопителя, при аварии можно перепилить после загрузки с uSD..
в вашем случае не пойму - чего опасаться? ведь как-то изначально бинарники попали на флеш, явно через jtag, fuse вроде у вас нет, т.е. испортить невозможно. и рано или поздно придется отработать технологию восстановления
да они примерно одинаковые - A и X, у каждого своя специфика и заморочки :)
да, про повешивание - как версия: смотрите адреса и переменные в переменных убута, раз у вас такой странный конфиг, то и ветка fpgaload может отрабатывать неверно, например после загрузки ждать бита готовности фпга, там дофига ветвлений..
Спасибо за советы, буду упражняться.
Это SoM от Reflex. О том, как бинарники попали на mmc история умалчивает))
-
2 minutes ago, gosha-z said:
Ну я не большой спец в A, на X специализируюсь. И там есть нюансы: u-Boot грузит не bitstream, а binary file - bitstream с оторванным заголовком. При этом при попытке загрузить .bit ругань примерно похожа на вашу.
Ну, у Альтеры похоже: грузится .rbf, это переконвертированный .sof файл (Альтера .sof -> .rbf, Хилые .bit -> .bin).
Ругани, как таковой, нет. Загрузчик странно себя ведет, поведение отличается от того, что написано в исходниках. Буду пробовать пересобирать его, мб, поможет. Я не особо в SoC'ах силен)
Если не ошибаюсь, у Хилых есть отладчик, который позволяет полностью пройти весь путь загрузки: от FSBL до Linux. Отладчик называется xsdb. Может кто-то подскажет, есть ли что-то подобное у Альтеры? Я нашел DS-5, но это какая-то монструозная поделка на Эклипсе, к тому же, с отдельной лицензией. Есть ли еще варианты?)
-
2 minutes ago, gosha-z said:
А что, альтеровские SOCи нельзя перешивать через JTAG?????
Не понял вопроса. Прошивать ПЛИС через JTAG я научился, вроде бы. Теперь хочу, что бы прошивка ПЛИС загружалась при подаче питания.
Наиболее простой способ из найденных мною - на этапе юбут указать переменными окружения области памяти, откуда забирать и куда складывать прошивку ПЛИС. И потом прошить ее.
Вот на этом и случился затык - не понимаю, как работает загрузчик "из коробки".
-
1 minute ago, Jury093 said:
тоже вариант - видимо разница в том, что load грузит бинарник из мозгов, а loadfs (по смыслу) с накопителя
и чисто для инфы, вывод старого убута для Cyclone5:
...
Да, так и должно быть. Мой юбут, почему-то отказывается показывать такой отклик. Я немного опасаюсь его пересобирать, т.к. флешка распаяна на плате и, если свежесобранный юбут будет кривым, есть риск получить геморрой)
-
16 minutes ago, Flood said:
Попробуйте fpga loadfs - есть ли такая команда?
Подозрительно подробный у нее хелп:
#elif defined(CONFIG_FPGA_SOCFPGA_ARRIA10) " loadfs [dev] [interface] [<dev[:part]>] <filename/offset> " "[rbftype(periph,core,combined)]\n" " Description:\n" " [dev] - FPGA device number\n" " [interface] - source device interface ([mmc], [qspi], or " "[nand])\n" " <dev[:[part]> - <source device num[:partition of dev]> " "such as 0:1 for mmc FAT partition\n" " [filename/offset] - rbf filename or offset entry of the rbf in " "source device\n" " [rbftype](optional) - [periph], [core], or [combined]," " default:[combined]\n" " This command requires no " "[device number] [image address] [image size]\n" #else
Кстати, да, такая есть. Первая попытка прошить этой командой повесила юбут)
Но он, хотя бы, начал откликаться. Буду дальше курить.
-
6 minutes ago, Jury093 said:
посмотрите в файле конфига (в корне исходников кажись файл .config) есть ли CONFIG_CMD_FPGA_LOAD
и
и заодно CONFIG_CMD_FPGA_LOADFS
Нет, таких переменных нет. Я собирал через BSP-editor. Буду разибраться, спасибо.
Все равно непонятно, почему адекватно не отображается хелп по команде. Он должен быть другой, вне зависимости от конфигурации юбута.
-
1 minute ago, Jury093 said:
линк на исходники убута выложите или страницу откуда брали инфу..
в современном убуте д.б. функция "добивки" команды, типа набираете fp потом tab-tab и должно появится fpga
и что выводит просто команда fpga - должна выводить краткую помощь по аргументам
Версия юбута:
SOCFPGA_ARRIA10 # version U-Boot 2014.10-00303-g9742ef3 (Dec 13 2016 - 11:30:37) arm-altera-eabi-gcc (Sourcery CodeBench Lite 2015.11-45) 5.2.0 GNU ld (Sourcery CodeBench Lite 2015.11-45) 2.25.51
Соответственно, исходник смотрю здесь:
Команда fpga выводит всего одну строку, как в моем первом сообщении:
SOCFPGA_ARRIA10 # fpga fpga - loadable FPGA image support SOCFPGA_ARRIA10 #
-
8 minutes ago, Jury093 said:
попробуйте наоборот - help fpga
смысл - вызвать встроенную помощь по команде
если load присутствует (как и info), то у вас мог затесаться символ не в той кодировке в слове load
в убуте банальный парсер разбора строки и больше там дефектовать нечего..
Я пробовал по-разному уже. В т.ч., посмотреть исходники этого приложения (fpga) - но ничего пока не получается понять. Все делаю по правилам - ничего не работает. Поэтому, собвственно, и написал сюда)
По поводу кодировок - уже думал про это, пробовал разными терминалами (microcom, putty) работать, пробовал копипастом из текстового редактора вставлять. Наверное, дело не в этом.
-
5 minutes ago, Jury093 said:
и смотрите, есть ли в списке команда fpga
Да, такая есть. Но при попытке fpga help выдает все то же:
SOCFPGA_ARRIA10 # fpga help Unknown fpga operation "help" fpga - loadable FPGA image support
При этом, к примеру, fpga info 0 работает вполне нормально:
SOCFPGA_ARRIA10 # fpga info 0 Altera Device Descriptor @ 0xffe26364 Family: SoC FPGA Interface type: Fast Passive Parallel (FPP) Device Size: 4294967295 bytes Cookie: 0x0 (0) No Device Function Table.
-
Всем привет,
Пытаюсь прошить ПЛИС Arria 10 через uboot. Пока в "ручном" режиме:
1. Загружаю прошивку командой "fatload mmc 0:2 0x2000000 top.rbf". Выхлоп:
31619884 bytes read in 971 ms (31.1 MiB/s)
Размер файла совпадает.
2. Пытаюсь зашить прошивку в ПЛИС командой fpga load 0 ${fpgadata} ${filesize}. Выхлоп:
Unknown fpga operation "load" fpga - loadable FPGA image support
Переменные окружения, используемые в командах:
fpgadata=0x2000000 filesize=1e27b2c
Руководствовался сайтом rocketboards.org и документацией на uboot.
Собственно, вопрос: ЧЯДНТ? Может быть, есть какой-то нюанс, мною упущенный?
-
On 1/22/2020 at 11:04 PM, StewartLittle said:
Да простят меня модераторы за немного рекламы - могу сказать по поводу Gowin Semiconductor : самые дешевые FPGA всех времен и народов! :)
...
В тексте проскочили фразы "у нас" и "через нас". Вы какие-то представители этой конторы? Если да - можно ли получить на месяц-два-три какую-то отладку, что бы, так сказать, прикоснуться к прекрасному? Тема с отсутствием лицензионных ограничений довольно перспективна =)
-
1 hour ago, Nick_K said:
Просто Вас нелёгкая не занесла на Linux....
... Visual Studio Code предлагает такой же функционал, полностью бесплатна и рады разработчиков намного больше (тоже не ради холивара, а скорее размышления вслух). Ну или я каких-то нюансов не знаю...
++ за тему линукса. К сожалению, на нем не особо разбежишься в области хороших рекдаторов для HDL. Пробовал slick - но он слишком монструозен и избыточен. Остался с sublime.
А по поводу, почему еще жив - opensource, много народа пишет и дорабатывает плагины. Я присматриваюсь сейчас к visual studio code, но ее возможности в HDL выглядят откровенно слабее, чем у sublime. Хотя, мб, я и не прав, интересно будет выслушать мнения-предложения.
-
5 minutes ago, _sda said:
Это не массив чисел, а массив десятичных разрядов числа.
Да, я понимаю, что все вместе - это десятичное число. Но компилятор не в курсе =) И, возможно, ему не нравится, что вы в функцию atoi передаете МАССИВ чисел. А объявление типа:alt_u8 n[3];
Выглядит как раз, как массив из 3х alt_u8 чисел. Или я что-то не так понял?Прошу прощения, все перепутал. Почитал внимательнее гугл =))
Могу предположить, что это из-за нестандартного типа входных данных для функции atoi. Попробуйте привести к char:
latitude_min = atoi((char *) n);
-
51 minutes ago, _sda said:
Что ему в знаках не нравится?
Мб, дело в том, что вы в atoi засовываете массив чисел (n[3]), а не отдельно взятое число?
Попробуйте конкатенировать этот массив, и потом засунуть в atoi.
Запуск Arria V GZ transciever с помощью Custom PHY
в Работаем с ПЛИС, области применения, выбор
Опубликовано · Пожаловаться
"Пилите, Шура, пилите" =)))
Нужно добиться, что бы все сигналы были "правильные", на константе. Это прям 100%
Можете попробовать забросить вообще ВСЕ навороты и оставить только трансиверы + FSM синхронизации. Которые полностью содрать из примера. Можно даже одну линию оставить - 8 бит. И скорость маленькую. Что бы проверить, что у вас в-принципе, железо работает. Я бы так сделал.
Да там .sdc автоматически подсосвывается, в комплекте с ядром. Хотя, стоит лишний раз перепроверить.
Ну и, ПС: после того, как заработает лучше всего проверить надежность линка PRBS ~2^32, погонять ее минут 15-30. А то потом надо будет обратно возращаться, если ошибки начнут сыпаться.
И ППС: засуньте его в квесту. В квартусе замучаетесь по 10 раз пересобирать, что бы посмотреть, какие параметры на что влияют.