Jump to content
    

BSACPLD

Свой
  • Posts

    687
  • Joined

  • Last visited

  • Days Won

    2

BSACPLD last won the day on December 28 2022

BSACPLD had the most liked content!

Reputation

4 Обычный

2 Followers

About BSACPLD

  • Rank
    Знающий
    Знающий
  • Birthday 06/16/1986

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

6,419 profile views
  1. UPD 2. Есть проблема с переносом констрейнов для IP корок из Vivado в Procise. Кто-нибудь уже разобрался как это правильно делать? Просто перенести констрейны из xdc недостаточно... И где почитать про констрейны доступные в Procise? Например, можно ли сделать автоматическую генерацию клоков для PLL чтобы руками не прописывать все клоки с PLL.
  2. UPD. Удалось пройтись по маршруту Vivado -> EDIF -> Procise и запустить PCIe. Но у такого маршрута есть ряд недостатков: 1. Куча ручных действий по ходу сборки проекта. Пробовал автоматизировать через TCL, но пока есть проблемы со стороны вызова команд патча. Если руками вызывать, то все ОК, если из скрипта, то лезут ошибки. К тому же ещё большой вопрос как автоматизировать процесс со стороны Procise - там нужно руками запускать конвертер EDIF преобразующий EDIF из формата Xilinx в формат необходимый для Fudan. 2. Требуется виртуалка с Windows, т.к. Procise есть только под Windows. 3. Невозможность использовать updatemem затрудняет работу с софт-процессорами. P.S. Также важный момент. Как оказалось, JFMK50T4 это не просто частично совместимый клон Artix. Это скорее гибрид Artix и Kintex - весь кристалл от Artix, а вот трансиверы от Kintex. Если сделать EDIF под Artix, то после трансляции Procise начинает ругаться на отсутствующие примитивы трансиверов. Если же EDIF был синтезирован под Kintex, то после трансляции Procise без проблем его собирает и проект работает в железе.
  3. Прислали патч 5.1.1. Точно также не работает клок на GTP и не выставляется Vcm. Причем если залить уже собранный бинарник из примера, Vcm выставляется в нужное значение, но если попыться сделать Reset Synthesis Run и заново собрать проект, то полученный бинарник уже не работает и Vcm на GTP клоке не выставляется. И ещё подозрительный момент, в тестовом примере в проект не добавлены tcl скрипты для патча проекта. Такое ощущение, что китайцы либо руками вызывали нужные команды для патча по ходу сборки проекта, либо просто напросто прислали кривой проект, который даже не проверяли на работоспособность.
  4. Добрый день, коллеги! ООО «ГЛОСАВ» ищет кандидата на должность схемотехник/тополог/программист ПЛИС и МК. Это могут быть несколько человек, но 3 в 1 будет существенным преимуществом. В качестве среды разработки для схем/плат на выбор MentorGraphics EEVX 2.7 или Altium Designer. По ПЛИС предстоит работать с Xilinx, BMTI, Fudan в среде Vivado 2021.2, моделирование в QuestaSim 2021.1, язык разработки Verilog/SystemVerilog. Требования к кандидату. общие: - высшее профильное образование - умение самостоятельно распределять свое время - умение выдерживать сроки - умение работать как в команде, так и полностью самостоятельно - умение документировать результат своей работы схемотехник/тополог: - знание ЕСКД - умение работать в MentorGraphics EEVX 2.7 или Altium Designer - опыт разработки МПП не менее 8 слоев - опыт моделирования Signal Integrity в HyperLynx - опыт работы с PCIe, Ethernet, USB 3.0, DDR3 - умение работать с измерительными приборами программист ПЛИС и МК: - уверенный пользователь Linux - умение писать тестовое ПО на основе Qt5/6. - опыт работы с PCIe, Ethernet, USB 3.0, DDR3 - опыт использования встроенных процессорных ядер - знание Verilog/SystemVerilog - знание C для микроконтроллеров - умение работать с измерительными приборами будет плюсом: - знание алгоритмов предобработки видео - понимание как работают нейросети - умение паять Чем предстоит заниматься: 1. Миниатюрные камеры и тепловизоры на основе Artix/Fudan с интерфейсами 1G Ethernet, USB 3.0, CoaXPress. 2. PCIe камеры. 3. PCIe сопроцессоры. 4. Программа импортозамещения (перенос на китайскую и отечественную элементную базу). Выполняется по ходу п.1-3. Также сюда входит разработка отладочных плат и embedded модулей на основе китайских компонентов если производитель не предоставляет ничего подобного (как правило не предоставляет). По рабочему графику: 8 часовой рабочий день, 40 часов в неделю. Возможен гибридный формат работы либо удаленка с приездом в офис в заранее оговоренное время - обсуждается на собеседовании. Уровень ЗП зависит от навыков кандидата, соответствует средней по рынку - обсуждается на собеседовании. Компания аккредитована, соответственно предоставляется отсрочка от мобилизации. P.S. Я ожидаю что человек будет уровня не ниже моего, но если Вы Junior/Middle и хотите учиться - не проблема, я научу всему что знаю сам. P.P.S. Вопросы/резюме просьба скидывать в личку.
  5. Думаю, это мы скоро выясним 🙂 Сейчас пробую через Эпсилон. Такое ощущение, что китайцы просто не понимают суть проблемы, либо не хотят вникать.
  6. Коллеги, подскажите, пожалуйста как заставить Vivado экспортировать Verilog нетлист для IP блоков. Когда делаю экспорт синтезированного проекта в Verilog, получаю нетлист без IP. Модули в нетлисте используются, но нигде не определены - Procise ругается на отсутствующие модули для IP блоков. Если делаю экспорт в EDIF, то получаю полный нетлист, но его не удаётся скормить конвертеру в Procise - на выходе получается нетлист без каких либо изменений, и, как следствие не разводится в Procise, т.к. там другие внутренние имена примитивов.
  7. В Эпсилон уже написал. И убедился, что проблема с клоками GTP и с Vcm именно в некорректной работе патча. Во вложении два проекта с одинаковым кодом. Один собирался в Procise 2022.1, второй в Vivado 2018.3 с патчем от Fudan (версии 3.9). В первом после заливки Vcm выставляется как и должно на 4/5 от UHSTVTT, во втором - нет. Я пробовал использовать патч от Fudan версии 5.0.1, но он просто не работает - не патчит *.xdc файлы. К сожалению, маршрут с Procise нам не подходит прежде всего по причине отсутствия поддержки SV и отсутствия большей части IP блоков. QSPI родная от Fudan - FM25Q128SOB. Через Vivado не зашивается, т.к. Vivado ругается на несовпадение ID QSPI и выбранной микросхемы MT25QL128 (рекомендация от производителя для программирования из Vivado). Поскольку у меня на плате есть Ethernet, я взял один из своих рабочих проектов и выкинул оттуда все кроме Ethernet и удаленного обновления прошивки. Иными словами сделал свой загрузчик 🙂 jfmk50t4_test_fw__2018_3.rar jfmk50t4_test_fw__Procise.rar Если Вас не затруднит, уточните, пожалуйста версию патча. Там в названии сопроводительного pdf написано.
  8. Народ, кто уже получил патч от Fudan, какая у вас версия? Я нашел у себя две версии: 3.9 - не работают клоковые буферы для GTP. 5.0.1 - проект просто не собирается.
  9. Может быть ещё в последовательности подачи питания дело - в datasheet на JFMK50T4 она не указана, но все может быть...
  10. Замерил сопротивление между P и N клока при залитой прошивке - выскоимпедансное вместо ожидаемых 100 Ом. Может я где в коде накосячил, но вроде бы все предельно просто: `timescale 1 ns / 1 ps module jfmk50t4_test_fw #( parameter FPGA_VENDOR = "XILINX", parameter DEVICE_FAMILY = "7SERIES", // parameter SIM_INIT = "FALSE" ) ( // Clock input clk_100MHz, // QSPI flash //output qspi_sck, inout [3:0] qspi_dq, output qspi_cs_n, output reconfig_req, // PCIe input pcie_reset_n, output pcie_wake_n, output pcie_clkreq_n, input pcie_refclk_clk_p, input pcie_refclk_clk_n, input pcie_refclk2_clk_p, input pcie_refclk2_clk_n, //input [3:0] pcie_7x_mgt_rxp, //input [3:0] pcie_7x_mgt_rxn, //output [3:0] pcie_7x_mgt_txp, //output [3:0] pcie_7x_mgt_txn, // LVTTL inout [1:0] lvttl_clk, inout [7:0] lvttl_io, // LED output [7:0] led_n ) ; wire pcie_refclk ; wire pcie_refclk_g ; wire pcie_refclk2 ; wire pcie_refclk2_g ; //----------------------------------------------------------------- assign pcie_wake_n = 1'bZ ; assign pcie_clkreq_n = 1'b0 ; //----------------------------------------------------------------- assign qspi_cs_n = 1'b1 ; assign reconfig_req = 1'b0 ; //----------------------------------------------------------------- IBUFDS_GTE2 #( .CLKCM_CFG ("TRUE"), .CLKRCV_TRST ("TRUE"), .CLKSWING_CFG (2'b11) ) ibuds_gte2_pcie_refclk ( .I (pcie_refclk_clk_p), .IB (pcie_refclk_clk_n), .CEB (1'b0), .O (pcie_refclk), .ODIV2 () ) ; BUFG bufg_pcie_refclk ( .I (pcie_refclk), .O (pcie_refclk_g) ) ; assign lvttl_io[4] = pcie_refclk_g ; //----------------------------------------------------------------- IBUFDS_GTE2 #( .CLKCM_CFG ("TRUE"), .CLKRCV_TRST ("TRUE"), .CLKSWING_CFG (2'b11) ) ibuds_gte2_pcie_refclk2 ( .I (pcie_refclk2_clk_p), .IB (pcie_refclk2_clk_n), .CEB (1'b0), .O (pcie_refclk2), .ODIV2 () ) ; BUFG bufg_pcie_refclk2 ( .I (pcie_refclk2), .O (pcie_refclk2_g) ) ; assign lvttl_io[6] = pcie_refclk2_g ; //----------------------------------------------------------------- assign led_n[0] = pcie_refclk_g ; assign led_n[1] = pcie_refclk2_g ; assign led_n[2] = ~1'b0 ; assign led_n[3] = ~1'b0 ; assign led_n[4] = pcie_reset_n ; assign led_n[5] = ~1'b0 ; assign led_n[6] = ~1'b1 ; assign led_n[7] = ~1'b1 ; endmodule
  11. Попытка синтеза в Procise не увечалась успехом 😞 ERROR(SFE-E-311): C:/Work/jfmk50t4_test_fw/sources_1/jfmk50t4_test_fw.v(56), The instanced module "IBUFDS_GTE2" is unknown.
  12. Можно попробовать собрать тестовый проект в Procise, но непонятно как зашивать. Сам Procise не хочет работать с Xilinx Platform Cable и битстрим выдаваемый им Vivado отказывается зашивать. Разве что попробовать через MCS в QSPI залить... Также как для оригинального: "TRUE", "TRUE".
  13. Может быть патч от Fudan криво с 2021.2 работает... Уже пробовал. Сразу с двух выводил клоки на ножки и смотрел осциллографом.
  14. На вряд ли, что на обоих шариках сразу. И на P, и на N отсутствует Vcm. Уже прозвонил. На обоих входах падение 0.838В.
×
×
  • Create New...