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

BSACPLD

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    5

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


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

    Мне наконец пришли платы на PangoMicro.

    Сейчас пытаюсь разобраться какие примитивы на что подменять при переводе проекта с Xilinx.

    Возник ряд вопросов, подскажите, пожалуйста, кто в курсе.

    1. IBUFDS подменяем на GTP_INBUFDS?

    2. BUFR для того чтобы сделать байтовый клок из битового клока SERDES подменяем на GTP_IOCLKDIV_E2?

    3. BUFIO для SERDES подменяем на ????? Может я невнимательно смотрел, но не нашёл аналога данного примитива...

    Я сейчас пытаюсь переписать следующий кусок кода на Logos2:

    IBUFDS				#(
    					.DIFF_TERM             (DIFF_TERM),
    					.IBUF_LOW_PWR          ("FALSE"),
    					.IOSTANDARD            (IOSTANDARD)
    					)
    					
    					cam_ck_ibufds (
    					.I                     (cam_ck_p),
    					.IB                    (cam_ck_n),
    					.O                     (cam_ck_)
    					) ;
    
    
    BUFIO				cam_ck_bufio (
    					.I                     (cam_ck_),		// 1-bit input: Clock input (connect to an IBUF or BUFMR).
    					.O                     (cam_ck_hs)		// 1-bit output: Clock output (connect to I/O clock loads).
    					) ;
    
    
    BUFR				#(
    					.BUFR_DIVIDE           ("2"),			// Values: "BYPASS, 1, 2, 3, 4, 5, 6, 7, 8" 
    					.SIM_DEVICE            ("7SERIES")		// Must be set to "7SERIES" 
    					)
    					
    					cam_ck_bufr (
    					.I                     (cam_ck_),		// 1-bit input: Clock buffer input driven by an IBUF, MMCM or local interconnect
    					.CLR                   (1'b0),			// 1-bit input: Active high, asynchronous clear (Divided modes only)
    					.CE                    (1'b1),			// 1-bit input: Active high, clock enable (Divided modes only)
    					.O                     (cam_ck)			// 1-bit output: Clock output port
    					) ;

    Пока не до конца получается подобрать замену для примитивов Xilinx:

    GTP_INBUFDS			#(
    					.TERM_DIFF             (DIFF_TERM),
    					.IOSTANDARD            (IOSTANDARD)
    					)
    					
    					cam_ck_ibufds (
    					.I                     (cam_ck_p),
    					.IB                    (cam_ck_n),
    					.O                     (cam_ck_)
    					) ;
    
    // ??????????????????????????????????
    BUFIO				cam_ck_bufio (
    					.I                     (cam_ck_),		// 1-bit input: Clock input (connect to an IBUF or BUFMR).
    					.O                     (cam_ck_hs)		// 1-bit output: Clock output (connect to I/O clock loads).
    					) ;
    
    
    GTP_IOCLKDIV_E2		#(
    					.DIV_FACTOR            ("2")			// Values: "BYPASS, 1, 2, 3, 4, 5, 6, 7, 8" 
    					)
    					
    					cam_ck_bufr (
    					.CLKIN                 (cam_ck_),		// 1-bit input: Clock buffer input driven by an IBUF, MMCM or local interconnect
    					.RST_N                 (1'b0),			// 1-bit input: Active high, asynchronous clear (Divided modes only)
    					.CE                    (1'b1),			// 1-bit input: Active high, clock enable (Divided modes only)
    					.CLKDIVOUT             (cam_ck)			// 1-bit output: Clock output port
    					) ;

    4. IDELAYE2 подменяем на GTP_IODELAY_E2?

    5. ISERDESE2 подменяем на GTP_ISERDES_E2?

  2. 2 hours ago, Ivanii said:

    И даже если у вас "все работает" это не значит что вся сеть работает ШТАТНО и сети это не вредит. Для своего эксперимента в "своей" изолированной сети(или VLAN) можно творить любую дичь, для чужих сетей лучше придерживаться стандартов.

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

  3. 4 hours ago, fguy said:

    Проход пакетов от одного девайса до другого по такой сетке обеспечивает админ, а не навороченность (в плане поддержки кучи протоколов) ядра в плис. Мне реализации обычного udp c возможностью выставить нужные МАС, IP адрес и порт всегда хватало что бы пакеты дошли хоть по радиомостам, хоть по много-км территории предприятия с хз какой структурой сети.

    И все админы, с которыми мне приходилось сталкиваться, использовали именно ping для проверки работы сети 🙂

  4. 6 hours ago, Arlleex said:

    ICMP не обязательно.

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

    В случае чего, как связь с железкой проверять будете?

    У меня вот один раз очень интересный случай был.

    Железка это камера со встроенным маршрутизатором на ПЛИС.

    Связь с железкой по своему протоколу есть.

    Пинги на железку и комп подключенный к общей сети через железку проходят, а интернета на компе нет.

    Что в результате оказалось - битый кабель.

    На коротких пакетах всё ОК, на длинных пакетах данные бились так, что выставлялся RX_ERR на выходе PHY.

    Выяснил экспериментально меняя длину ICMP запроса.

    Поменял кабель и всё заработало.

  5. 2 hours ago, Aleksey25 said:

    Да, хочу попробовать именно HW.

    Чисто HW это лишнее усложнение и трата ресурсов.

    Вам как минимум нужно: ARP, ICMP, UDP.

    Я когда свою видеокамеру делал, реализовал комбинированный вариант - фильтр MAC HW, маршрутизация UDP HW, всё что прошло фильтр, но не прошло в UDP HW обрабатывалось на встроенном софт-процессоре RISC-V (PicoRV32).

    И то даже в таком комбинированном виде это занимало довольно прилично как Slice, так и BRAM.

    Чисто HW это монстр будет с точки зрения потребления ресурсов.

    Не говоря уже про сложности с отладкой.

  6. 2 hours ago, korotaev said:

    Не обижайте таких специалистов. Специфичность в общении - защита от халявщиков и менагеров, которых развелось немерянно.

    Так я и не обижаю, ибо сам такой, 5 в 1, схемотехник, тополог, программист ПЛИС и МК, программист C/C++, паяю платы не хуже хорошего монтажника, своя лаборатория, свой инструмент - заменяю собой целый отдел по разработке электроники.

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

  7. 17 minutes ago, mantech said:

    Т.е. по сути вам нужен помощник..

    Не совсем так.

    Именно стыковка всех изделий в шкафу/камере.

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

    Т.е. у нас с ним будет разная зона ответственности.

    Стыковка именно на уровне железа.

    Софтовой стыковкой у нас программисты занимаются.

    Но, если у человека хорошие навыки в схемотехнике/топологии, и он сможет брать на себя часть задач по разработке, это будет большим плюсом при приёме на работу и обсуждении уровня ЗП.

    17 minutes ago, mantech said:

    В основном командировки...

    Они не такие частые.

    Возможно 4-5 раз в год на неделю.

    В соответствии с частотой проектов.

    Мы сначала опытные образцы делаем, потом испытания, серия, и уже после этого монтируем всё на объекте заказчика.

    Каждый такой проект это 2-3 месяца.

    • Like 1
  8. Добрый день, коллеги!

    У нас сейчас открывается вакансия на ведущего инженера.
    Работа по большей части смешанная.
    1. Проработка электроники и конструкции различного оборудования.
    Например, есть готовый шкаф с кучей электроники, нужно переработать его под другие типы изделий, в том числе и нашей собственной разработки.
    2. Взаимодействие с отделом разработки наших собственных изделий.
    Разработкой электроники занимается один человек - я.
    Так что тут никаких долгих согласований - решаем всё в рабочем порядке.
    3. Взаимодействие с производством.
    Подготовить комплектацию для передачи на производство.
    Принять готовые изделия.
    4. Монтаж и пусконаладочные работы на объекте заказчика.

    P.S.
    Проектированием нужно будет редко заниматься.
    В основном монтаж и пусконаладка.
    Так что это больше вакансия на инженера монтажника/интегратора с навыками электронщика, которому нужно будет раз в полгода перепроектировать шкаф с оборудованием.

    P.P.S.
    Вилка ЗП 150-180К, всё что выше по согласованию с руководством после собеседования.

    Подробнее о компании можно узнать на нашем сайте:
    www.glosav.ru

    Резюме просьба присылать на bezzubov(собака)glosav.ru

    • Like 1
  9. Коллеги, я решил проблему с ошибкой верификации битстрима.

    Что было изначально:

    - битстрим собран в Vivado с использованием патча от Fudan версии 5.2.0, итог: успешная верификация на всех чипах 2022 года и на 41% чипов 2023 года.

    Что я сделал чтобы решить проблему:

    - ранее собранный битстрим прогнал через инкрементальный патч в Platform Tools из Procise, дабы посмотреть, что будет меняться в зависимости от установленных галочек, итог: с дефолтными настройками получил битстрим, который успешно проходит верификацию на всех чипах 2023 года выпуска. *.msk файл при этом от исходного битстрима.

    Похоже, что патч для Vivado либо не до конца отрабатывает, либо не учитывает какие-то особенности более новых чипов.

    При этом я также получил Warning от Platform Tools, что у меня в битстриме есть SDP RAM, хотя патч должен был поправить SDP на TDP. Более того в логах самого патча нет никакой ругани на SDP.

    В общем проект спасён, вроде есть путь, по которому можно получить рабочее решение, но, как говорится, осадочек остался...

    Буду пробовать PangoMicro - со дня на день должны приехать 🙂

    • Thanks 1
    • Upvote 2
  10. Коллеги, подскажите, пожалуйста, есть ли сейчас доступные PoE PD микросхемы в продаже?

    Всё что TI, Microchip имеют очень большие сроки поставки...

    Может есть какие-нибудь китайские PoE PD, которые можно относительно быстро купить?

    Нужен самый простой вариант Type 1 Class 2.

  11. У Raspberry PI, насколько я знаю, нет DVP.

    Соответственно напрямую подключить DVP сенсор не получится.

    Может Вам лучше рассмотреть вариант сенсора с MIPI?

    Например, IMX477.

    А если хотите свою плату, то надо подробно расписать требования к изделию:

    1. Тип сенсора.

    2. Максимальное разрешение и частота кадров.

    3. Нужен ли Image Signal Processor или просто RAW?

    4. Тип транспортного уровня TCP или UDP?

    5. Просто RTP/RTSP или ещё веб интерфейс, или наоборот свой захватчик видео?

    6. Тип сжатия, h.264, MJPEG или чистый RAW?

    7. Максимальные габариты камеры.

    P.S.

    Я бы мог предложить Вам комплект плат нашей разработки для 2К камер (сенсор + обработка + управление объективом + ПО для захвата видео), но ценник там будет явно выше 10 тыс. р.

  12. 33 minutes ago, makc said:

    У Logos2 в 324-м корпусе есть трансиверы и они работают.

    Нет там трансиверов.

    Вы путаете с корпусом 325 пинов.

    PK0402_PG2L100H_MBG324.xlsx PK0402_PG2L100H_MBG324.pdf PK0404_PG2L25H_MBG325.csv PK0404_PG2L25H_MBG325_V1.0_innek.pdf

  13. 3 hours ago, makc said:

    Обратите внимание на номинал резистора MGTRREF и его питание. Они отличаются от Xilinx.

    Да.

    Резистор то я и не заметил 😞

    Но ничего страшного - в новых платах чипы на 324 пина, там трансиверов нет 🙂

  14. 1 hour ago, makc said:

    Нет, не совсем так. Трансиверы и их питание не полностью совпадают с Xilinx.

    Для Logos2 питание точно такое же как у Xilinx (корпуса на 324 и 484 пина).

    Специально сейчас ещё раз проверил.

    Единственное различие, что номера каналов трансиверов отзеркалены.

  15. 1 hour ago, Flood said:

    Казалось, весь смысл по(д)делок типа Фудан, это пин-совместимость, помимо обязательной функциональной?

    Fudan не pin-to-pin с Xilinx, и но есть частичная совместимость со стороны Vivado.

    PangoMicro наоборот - pin-to-pin с Xilinx, но полностью отсутствует совместимость с Vivado.

  16. 17 minutes ago, Flood said:

    Возможно, просто битые SRAM ячейки? Почему бы кому-то не продавать на taobao чипы, не прошедшие выходной контроль?

    Так ведь и от "проверенного" поставщика в РФ тоже было 30% брака...

    18 minutes ago, Flood said:

    Кстати, при верификации учитывается, что в работающем чипе могло измениться содержимое BRAM-ов, и не только?

    Учитывается. При верификации содержимое BRAM очищается. Плюс по маске проверяются только задействованные в проекте ячейки (Vivado создаёт специальный *.msk файл).

    22 minutes ago, Flood said:

    Провокационный вопрос - почему не использовать оригинальные Артиксы? Их вроде как в Китае как грязи сейчас.

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

    В данной плате ни одного западного компонента.

    Новые платы уже будут под оргинальные Xilinx и PangoMicro (они pin-to-pin с Xilinx).

    Просто новые платы это долгий процесс (закупка, изготовление, монтаж...), а сейчас нужно закрыть текущий заказ...

  17. 4 minutes ago, makc said:

    Вы сравнивали токи потребления рабочих и сбоящих микросхем по каждому из номиналов?

    Отдельно не смотрел.

    Суммарный ток отличается +/- 2мА.

    4 minutes ago, MegaVolt said:

    Но даже если речь про просто загрузку битстрима никто не отменяет её времянку. 
    Т.е. пробовали ли в прошивке указывать меньшую скорость загрузки из флешки?
    Всё ли хорошо с флешкой?

    Пробовал. 

    И по JTAG пробовал - разницы нет. 

    18 hours ago, BSACPLD said:

    6. Пробовал грузить прошивку как из QSPI, так и по JTAG - источник загрузки не влияет на наличие проблемы.

    В самом начале темы писал про это. 

    И даже видео с проведением теста приложил 🙂

    И проблемный чип уже переносили на другую плату.

    18 hours ago, BSACPLD said:

    3. Если поменять местами чипы на двух платах (одна проходит верификацию, вторая - нет), проблема перемещается вместе с чипом.

     

  18. 11 minutes ago, makc said:

    А что с питанием банка ВВ, через который идёт конфигурация? И нет ли у них каких-либо специальных пинов, типа CFGBVS, которые могут влиять на этот процесс?

    Питание банка ВВ также в норме.

    По составу пинов JFMK50T4 полностью повторяет XC7A50T.

    Пин CFGBVS согласно datasheet посажен на питание банка ВВ (3.3В) через резистор 100 Ом.

    Я пробовал менять резистор на 47 Ом - ничего не поменялось.

  19. 20 minutes ago, MegaVolt said:

    Что-то не то с времянкой. Т.е. требования заданные в проекте не соответствуют чипу. 

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

    Верификация битстрима это проверка содержимого конфигурационной SRAM на соответствие *.bit файлу.

    https://docs.amd.com/r/2021.1-English/ug908-vivado-programming-debugging/Readback-and-Verify-for-7-Series-UltraScale-and-UltraScale-FPGAs-and-MPSoCs

  20. 7 hours ago, ObKo said:

    У Xilinx тоже всю жизнь требовался именно 330 ом. В 7 семействе добавили внутренний pullup:

    Так ведь JFMK50T4 это как раз клон 7 семейства...

    Хотя может разработчики Reference Design у Fudan просто по привычке 330 Ом поставили...

    UPD2.

    Ещё раз проверил источник питания ядра.

    Непосредственно на выходе DC-DC пульсации 9 mV p-p.

    На конденсаторе под ПЛИС пульсации 3.6 mV p-p.

    Измерял как полагается щупом с пружиной и развёртку поставил 10mV/дел. 1ms/дел.

    Походу дело явно не в питании...

    Но и 59% брака в поставке как-то слишком странно...

    Может при монтаже чипы как-то испортили?...

  21. UPD.

    Кто-нибудь в курсе, зачем у JFMK50T4 на F0_CFG_DONE вешают именно 330 Ом на F0_CFG_DONE, а не 4.7кОм как у Artix-7?

    В примерах схем у них везде 330 Ом. Я тоже поставил 330 Ом.

    Просто интересно, влияет ли номинал этого резистора на правильность загрузки...

  22. Коллеги, может кто сталкивался с подобной проблемой как на видео?

    Таких чипов в последней партии с taobao 59%.

    При этом 20 чипов не проходят верификацию загруженного битстрима при температуре ниже 0 градусов, ещё 35 чипов не проходят верификацию даже при комнатной температуре.

    Если нагреть проблемные чипы, они начинают успешно проходить верификацию.

    Остальные чипы из данной партии успешно проходят верификацию при -20 градусах (ниже не тестировали).

    В прошлой партии, купленной у одного из российских поставщиков, было 30% проблемных чипов.

    В позапрошлой партии, купленной ещё раньше, 0% проблемных чипов.

    Что я проверил и пробовал сделать:

    1. Проверил напряжения питания с помощью осциллографа - пульсации в пределах допустимого.

    2. Поднимал напряжение Vcccore до 1.017В и Vccsup до 1.84В - не влияет.

    3. Если поменять местами чипы на двух платах (одна проходит верификацию, вторая - нет), проблема перемещается вместе с чипом.

    4. Увеличивал задержку между включением напряжений питания - не влияет.

    5. Пробовал менять напряжение питания конфигурационного банка - не влияет.

    6. Пробовал грузить прошивку как из QSPI, так и по JTAG - источник загрузки не влияет на наличие проблемы.

    7. Пробовал снижать частоту JTAG - не влияет.

    8. Пробовал охлаждать как всю плату в термокамере, так и только сам чип с помощью сжиженного газа - проблема проявляется в обоих случаях.

    P.S.

    Если у кого есть платы с JFMK50T4 купленными в 2023 году, проводили ли Вы тестирование аналогичное моему?

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