Jump to content

    

BSACPLD

Свой
  • Content Count

    560
  • Joined

  • Last visited

Community Reputation

0 Обычный

2 Followers

About BSACPLD

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

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

4585 profile views
  1. Коллеги, подскажите, пожалуйста, в чем может быть проблема. Есть проект в Vivado 2019.2 без каких-либо IP от Xilinx кроме MMCM. Проект нормально собирается и генерится *.mmi файл для памяти объявленной через XPM макрос. Память объявлена следующим образом: xpm_memory_spram #( .ADDR_WIDTH_A ($clog2(DATA_SIZE)), .AUTO_SLEEP_TIME (0), .BYTE_WRITE_WIDTH_A (DATA_WIDTH+DATA_WIDTH/8), .CASCADE_HEIGHT (0), .ECC_MODE ("no_ecc"), .MEMORY_INIT_FILE (INIT_FILE), .MEMORY_INIT_PARAM ("0"), .MEMORY_OPTIMIZATION ("false"), .MEMORY_PRIMITIVE ("block"), .MEMORY_SIZE ((DATA_WIDTH+DATA_WIDTH/8)*DATA_SIZE), .MESSAGE_CONTROL (0), .READ_DATA_WIDTH_A (DATA_WIDTH+DATA_WIDTH/8), .READ_LATENCY_A (2), .READ_RESET_VALUE_A ("0"), .RST_MODE_A ("ASYNC"), .SIM_ASSERT_CHK (0), .USE_MEM_INIT (1), .WAKEUP_TIME ("disable_sleep"), .WRITE_DATA_WIDTH_A (DATA_WIDTH+DATA_WIDTH/8), .WRITE_MODE_A ("no_change") ) program_ram ( .dbiterra (), .douta (q_), .sbiterra (), .addra (address), .clka (clock), .dina (data_), .ena (1'b1), .injectdbiterra (1'b0), .injectsbiterra (1'b0), .regcea (1'b1), .rsta (1'b0), .sleep (1'b0), .wea (wren) ) ; Стоит мне только добавить в проект AXI Quad SPI, как Vivado перестает генерить *.mmi файл при сборке проекта. Память не оптимизируется, проект нормально работает, но нет *.mmi файла... Если запустить write_mem_info -force xc7a_test_eth.mmi то выдается ошибка INFO: [Memdata 28-208] The XPM instance: <axi_qspi_sys_0/U0/NO_DUAL_QUAD_MODE.QSPI_NORMAL/QSPI_LEGACY_MD_GEN.QSPI_CORE_INTERFACE_I/FIFO_EXISTS.TX_FIFO_II/xpm_fifo_instance.xpm_fifo_async_inst/gnuram_async_fifo.xpm_fifo_base_inst/gen_sdpram.xpm_memory_base_inst> is part of IP: <axi_qspi_sys_0>. This XPM instance will be excluded from the .mmi because updatemem is prohibited from making changes to an XPM that is part of an IP. INFO: [Memdata 28-208] The XPM instance: <axi_qspi_sys_0/U0/NO_DUAL_QUAD_MODE.QSPI_NORMAL/QSPI_LEGACY_MD_GEN.QSPI_CORE_INTERFACE_I/FIFO_EXISTS.RX_FIFO_II/gnuram_async_fifo.xpm_fifo_base_inst/gen_sdpram.xpm_memory_base_inst> is part of IP: <axi_qspi_sys_0>. This XPM instance will be excluded from the .mmi because updatemem is prohibited from making changes to an XPM that is part of an IP. ERROR: [Common 17-69] Command failed: Failed to create the: /home/sergey/Work/DevKit/Artix/xc7a_test_eth/xc7a_test_eth.mmi file. You will not be able to use the updatemem program to update the bitstream with new data. Проблема возникает только после добавления данного IP с включенным FIFO. Если FIFO выключить, то такой проблемы не возникает. В чем может быть дело?
  2. Коллеги, подскажите пожалуйста, существуют ли аналоги (клоны) следующих разъёмов: Samtec Razor Beam REF-189016-02, LF-04.0, 100 pins, for all 4x5 SoMs Samtec Razor Beam REF-189017-02, LF-04.0, 60 Pins, for all 4x5 SoMs Есть определенные проблемы с их закупкой...
  3. Коллеги, пытаюсь запустить тестбенч с моделью M95XXX с сайта ST. Файлы компилируются без ошибок, но при запуске моделирования получаю кучу ошибок вида: (vopt-7063) Failed to find 'M95XXX_SIM' in hierarchical name 'M95XXX_SIM.M95XXX_Macro_mux.tHLQZ'. Моделирование запускаю через: vsim -gui -voptargs="+acc" work.test ModelSim SE-64 2019.2 Можно ли как-то победить данную проблему?
  4. Дело в том, что в некоторых моделях для симуляции той же DDR, timescale может стоять отличным от того что хотите Вы и он переопределит шаг временного моделирования во всех нижестоящих файлах. Если это память программ, то да. Ее нужно инициализировать. А во всех остальных случаях это лишь потенциальное место для некорректного состояния системы из которого она может никогда не выйти. Вот X как раз и нужны для проверки того как система выходит из некорректных состояний.
  5. Так ведь нехороший человек может и не вписать себя в шапку ;) Для таких случаев как раз и есть svn / git и другие системы контроля версий.
  6. Коллеги, существует ли литература / сайты где подробно описаны основные правила хорошего тона при проектировании под FPGA? - что рекомендуется делать. - что не рекомендуется. - за что бить по рукам. Самому как-то лень писать, да и я тоже могу чего-нибудь не знать... Лично для себя я выработал следующий набор правил: - полностью синхронный проект, асинхронные блоки допускаются только если я точно понимаю как это будет работать, как обконстрейнить и их количество должно стремится к нулю. - чем меньше разных тактовых доменов, тем лучше. - для понижения частоты работы блоков использовать clock enable, а не generated clock. - асинхронный сброс при отпускании должен быть синхронизирован с тактовой частотой триггеров которые он сбрасывает. - все переменные объявляются в начале файла, а не по мере их использования. - все переменные объявляются явно. - для знаковых чисел указывается их знаковость (signed). - аппаратно зависимые блоки оборачиваются во врапперы. - никаких LPM в проекте (Altera/Intel). - никакой схематики и устаревших языков (исключение Block Design в Xilinx и QSYS в Altera). - по возможности использовать стандартные шины (APB, AXI, Avalon, Wishbone). - код пишется максимально кроссплатформенным и параметризованным. - в начале файла обязательно налиличе timescale. - все переменные инициализируются X при моделировании. - код проверяется на соответствие стандарту в ModelSim/NCSim. Это так сказать набор правил выработанный за долгие годы работы, но не факт что он полный / достаточный. Хотелось бы почитать подходящую литературу и узнать мнение знающих людей.
  7. Поставил VX2.7 есть пара вопрсов. - как переключить язык на Английский? В схемном редакторе нашел, а вот Layout никак не могу найти :( - куда пропали кнопки переключения режима выделения Place, Route, Draw и как включить их отображение?
  8. Под 1G есть стандартные покупные свичи под тот же CompactPCI, например. https://www.kontron.com/products/boards-and-standard-form-factors/cpci/6u-switches/cp6925.html И там стандартизована разводка (какие дифпары на какие пины). См. стандарт PICMG 2.16. Сам Ethernet обычный 1000Base-T на медь через трасформатор. Я делал платы как раз для такого форм-фактора. PHY был 88E1111. Работало на ура без каких-либо проблем.
  9. Да там не только плату, а саму идеологию передачи данных нужно переделывать :(
  10. У меня тоже получалось достичь нормальных частот на той же ПЛИС на другом проекте. Разница только в распиновке и количестве каналов. UPD. Да даже на этом проекте. Один из каналов укладывается во времянки (задержка 1,5 нс), а остальные нет (задержка 3,4 нс).
  11. Так ведь там PLL для этого отдельный нужен. У меня 8 каналов. Нет у меня столько PLL... Вся загвоздка в том, что нельзя ее подобрать. У разных типов плат подключаемых к данному коммутатору она будет разной. А платы нужно иметь возможность подключать в любом порядке.
  12. Разместил вручную прямо рядом с DDIO. Все равно задержка от DDIO до триггера больше 3 нс.