Перейти к содержанию
    

nice_vladi

Свой
  • Постов

    383
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные nice_vladi


  1. 7 hours ago, Perdachillo said:

    ... у меня на приеме появились стабильные данные BC, но rx_syncstatus все равно ноль (появился только rx_pattern_detect, что уже неплохо:) ...

    "Пилите, Шура, пилите" =)))

    Нужно добиться, что бы все сигналы были "правильные", на константе. Это прям 100%

    7 hours ago, Perdachillo said:

    На самом деле я немного запутался.

    Можете попробовать забросить вообще ВСЕ навороты и оставить только трансиверы + FSM синхронизации. Которые полностью содрать из примера. Можно даже одну линию оставить - 8 бит. И скорость маленькую. Что бы проверить, что у вас в-принципе, железо работает. Я бы так сделал.

    3 hours ago, new123 said:

     Я вообще думаю, что sdc не заполнили и у вас все поплыло..

    Да там .sdc автоматически подсосвывается, в комплекте с ядром. Хотя, стоит лишний раз перепроверить.

     

    Ну и, ПС: после того, как заработает лучше всего проверить надежность линка PRBS ~2^32, погонять ее минут 15-30. А то потом надо будет обратно возращаться, если ошибки начнут сыпаться.

    И ППС: засуньте его в квесту. В квартусе замучаетесь по 10 раз пересобирать, что бы посмотреть, какие параметры на что влияют.

  2. Для 64/66 другие сервисные слова. Но могу ошибаться - не использовал никогда такое кодирование.

    Вообще,у Альтеры есть куча design examples почти на все основные блоки. Погуглите, их вики посмотрите. Там прям полный проект.

  3. Да, должны. Ну, насколько мне известно. Для начала рекомендую утащить корку в симулятор и там поиграться с параметрами и сигналами.

    Но, если хочется сразу в железо - надо не только поднять tx_datak но и в данные засунуть константу BC (в каждую линию). Это будет соответствовать синхрослову K28.5, если не ошибаюсь. И, после того, как увидите, что у вас на константе приемник-передатчик поднялись - пытаетесь толкать данные.

    Ну и, выравнивающие фифошки я бы выбросил, для упрощения.

    А, ну и, кроме сигнала rx_sync стоит мониторить остальные статусные сигнальчики. Уже точно не помню, но они показывают захват несущей, битовую ошибки и что-то еще. Довольно полезная информация.

  4. Вы попробуйте сначала на одной скорости запустить корку. Допустим, на 100. А потом начать наворачивать.

    А то смотрю на эти мультиплексоры клока с асинхронными сбросами...

    Была, кстати, годная статья на easyelectronics про отладка ethernet в плис. Посмотрите, мб, поможет чем-то:

    http://we.easyelectronics.ru/electro-and-pc/neskolko-slov-ob-otladke-1gb-ethernet-proektov-na-plis.html

     

  5. Как предположения:

    1. IP Core умеет и в чтение и в запись. Возможно, даже при конфигурировании как readonly, часть логики, отвечающей за запись все равно присутствует;

    2. Из мануала:

    Quote

    Even 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, или разярдность как-то порезана.

  6. 12 minutes ago, Aleх said:

    Если линканете гайд по "шагам установки", буду очень признателен

    Их есть у меня) Вообще, руководствовался этим:

    https://gist.github.com/Razer6/cafc172b5cffae189b4ecda06cf6c64f

    Довольно подробно расписано. Единственный случившийся затык - нужно собрать локально библиотеку со шрифтами. В остальном все сразу поднялось.

    ЗЫ. Можете попробовать полистать вот эту тему:

     

  7. 8 minutes ago, Aleх said:

    Выбрал именно Modelsim-Altera.

    Поковырялся в консоли, обнаружил что lmdiag не работает. Оказалось, проблема известная - надо доустанавливать пакеты (lsb и еще по мелочи). Теперь lmdiag тоже запускается, и тоже говорит что нет лицензий. Далее, попытался пустить консольный vsim. Отругался, что не хватает библиотек ... доставил библиотеки и  - получил fatal error. Усиленное гугленье показало, что это г-но мало того, что идет на убунте не новее 16, так еще и требует 32 битных либ. Все, финиш, это я уже не осилю, да и ломать систему не хочется - много всего полезного стоит и работает. Уроды, что сказать. Придется виртуалку ставить.

    Про убунту <16, из моего опыта, не правда. Запускал Altera Edition как на 17 так и на 18.04 убунте. Да, там есть определенные танцы с 32х битными библиотеками, но все должно вставать без особых проблем. Т.е. все либы ставятся из имеющихся репозиториев.

    Попробуйте еще раз внимательно пройтись по шагам установки, с самого начала, мб, просто что-то пропустили?

  8. 4 minutes ago, vitus_strom said:

    Добрый день коллеги!

    Уже не первый раз сталкиваюсь с такой проблемой при работе USB blaster I & SignalTap:

    Натыкался на подобную ерунду при использовании китайского аналога программатора. Вплоть до перезагрузки ПЛИС, при попытке что-то выгрузить в SignalTap. К сожалению, вылечилось только сменой программатора на качественный.

    Как вариант - попробовать другие программаторы, мб, дело все-таки, не в нем.

  9. 11 hours ago, SII said:

    Просто вылетов быть не должно. Есть проблема в коде пользователя -- надо выводить сообщение о проблеме, а не падать из-за того, что компилятор или кто там ещё кривой.

    Все мы знаем, как надо. Но работать приходится с тем, что есть)

  10. 39 minutes ago, Kluwer said:

    Кстати, поправочка: оказывается меню "Create Symbol Files for Current File" отсуствует именно в Pro-версиях. В стандартных не знаю, не ставил. А вот в версиях Lite оно есть. И вообще, в версиях Lite менюшки гораздо богаче и "живее". Вот ведь как.

    Как показала практика, версии Pro и "остальные" довольно далеки друг от друга.

    Как минимум в требованиях к соблюдению стандарта языка Про версия значительно строже.

    Да и в целом, есть подозрение, что в Про версии перетряхнули не только парсер языка...

    А по поводу вылетов - я бы внимательно прочитал лог с варнингами, и по максимуму попытался их исправить. Это помогало)

  11. 16 minutes ago, Jury093 said:

    у нас проще - всё хозяйство на uSD - полный контроль. более того, есть другая железяка - у нее uSD, spi flash, nand и загрузка с любого накопителя, при аварии можно перепилить после загрузки с uSD..

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

    да они примерно одинаковые - A и X, у каждого своя специфика и заморочки :)

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

    Спасибо за советы, буду упражняться.

    Это SoM от Reflex. О том, как бинарники попали на mmc история умалчивает))

  12. 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, но это какая-то монструозная поделка на Эклипсе, к тому же, с отдельной лицензией. Есть ли еще варианты?)

  13. 2 minutes ago, gosha-z said:

    А что, альтеровские SOCи нельзя перешивать через JTAG?????

    Не понял вопроса. Прошивать ПЛИС через JTAG я научился, вроде бы. Теперь хочу, что бы прошивка ПЛИС загружалась при подаче питания.

    Наиболее простой способ из найденных мною - на этапе юбут указать переменными окружения области памяти, откуда забирать и куда складывать прошивку ПЛИС. И потом прошить ее.

    Вот на этом и случился затык - не понимаю, как работает загрузчик "из коробки".

  14. 1 minute ago, Jury093 said:

    тоже вариант - видимо разница в том, что load грузит бинарник из мозгов, а loadfs (по смыслу) с накопителя

    и чисто для инфы, вывод старого убута для Cyclone5:

    ...

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

  15. 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

     

    Кстати, да, такая есть. Первая попытка прошить этой командой повесила юбут)

    Но он, хотя бы, начал откликаться. Буду дальше курить.

  16. 6 minutes ago, Jury093 said:

    посмотрите в файле конфига (в корне исходников кажись файл .config) есть ли CONFIG_CMD_FPGA_LOAD

    и

    и заодно CONFIG_CMD_FPGA_LOADFS

    Нет, таких переменных нет. Я собирал через BSP-editor. Буду разибраться, спасибо.

    Все равно непонятно, почему адекватно не отображается хелп по команде. Он должен быть другой, вне зависимости от конфигурации юбута.

  17. 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

    Соответственно, исходник смотрю здесь:

    https://github.com/altera-opensource/u-boot-socfpga/blob/socfpga_v2014.10_arria10_bringup/common/cmd_fpga.c

    Команда fpga выводит всего одну строку, как в моем первом сообщении:

    SOCFPGA_ARRIA10 # fpga   
    fpga - loadable FPGA image support
    
    SOCFPGA_ARRIA10 # 

     

  18. 8 minutes ago, Jury093 said:

    попробуйте наоборот - help fpga

    смысл - вызвать встроенную помощь по команде

    если load присутствует (как и info), то у вас мог затесаться символ не в той кодировке в слове load

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

    Я пробовал по-разному уже. В т.ч., посмотреть исходники этого приложения (fpga) - но ничего пока не получается понять. Все делаю по правилам - ничего не работает. Поэтому, собвственно, и написал сюда)

    По поводу кодировок - уже думал про это, пробовал разными терминалами (microcom, putty) работать, пробовал копипастом из текстового редактора вставлять. Наверное, дело не в этом.

  19. 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.

     

  20. Всем привет,

    Пытаюсь прошить ПЛИС 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.

    Собственно, вопрос: ЧЯДНТ? Может быть, есть какой-то нюанс, мною упущенный?

     

  21. On 1/22/2020 at 11:04 PM, StewartLittle said:

    Да простят меня модераторы за немного рекламы - могу сказать по поводу Gowin Semiconductor : самые дешевые FPGA всех времен и народов! :)

    ...

    В тексте проскочили фразы "у нас" и "через нас". Вы какие-то представители этой конторы? Если да - можно ли получить на месяц-два-три какую-то отладку, что бы, так сказать, прикоснуться к прекрасному? Тема с отсутствием лицензионных ограничений довольно перспективна =)

  22. 1 hour ago, Nick_K said:

    Просто Вас нелёгкая не занесла на Linux....

    ... Visual Studio Code предлагает такой же функционал, полностью бесплатна и рады разработчиков намного больше (тоже не ради холивара, а скорее размышления вслух). Ну или я каких-то нюансов не знаю...

    ++ за тему линукса. К сожалению, на нем не особо разбежишься в области хороших рекдаторов для HDL. Пробовал slick - но он слишком монструозен и избыточен. Остался с sublime.

     А по поводу, почему еще жив - opensource, много народа пишет и дорабатывает плагины. Я присматриваюсь сейчас к visual studio code, но ее возможности в HDL выглядят откровенно слабее, чем у sublime. Хотя, мб, я и не прав, интересно будет выслушать мнения-предложения.

  23. 5 minutes ago, _sda said:

    Это не массив чисел, а массив десятичных разрядов числа.

    Да, я понимаю, что все вместе - это десятичное число. Но компилятор не в курсе =) И, возможно, ему не нравится, что вы в функцию atoi передаете МАССИВ чисел. А объявление типа:

    alt_u8 n[3];

    Выглядит как раз, как массив из 3х alt_u8 чисел. Или я что-то не так понял?

    Прошу прощения, все перепутал. Почитал внимательнее гугл =))

     

    Могу предположить, что это из-за нестандартного типа входных данных для функции atoi. Попробуйте привести к char:

    latitude_min = atoi((char *) n);

  24. 51 minutes ago, _sda said:

    Что ему в знаках не нравится?
     

    Мб, дело в том, что вы в atoi засовываете массив чисел (n[3]), а не отдельно взятое число?

    Попробуйте конкатенировать этот массив, и потом засунуть в atoi.

×
×
  • Создать...