FLTI 0 9 августа, 2011 Опубликовано 9 августа, 2011 · Жалоба Серьёзных исследований не проводили. На первый взгляд - скорость не падает. Стоило бы проверить. Где-то на этом форуме видел тему, что кто-то жаловался на падение скорости подобного рода контроллера, как потом выяснилось, из-за большой активности других устройств на PCIe . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demon_rt 0 28 августа, 2011 Опубликовано 28 августа, 2011 · Жалоба Модуль AMBPEX5 в режиме x8 Вывод данных ( из компьютера в устройство ) 1. системная память (непрерывная) 128 МБайт - 1080 Мбайт/с 2. пользовательская память (разрывная) 128 Мбайт - 1080 Мбайт/с Подскажите пожалуйста в каком режиме осуществляется вывод данных из компьютера в устройство. Я наблюдаю такую картину: В режиме вывода данных из устройства на компьютер все отлично MPS = 128Байт, скорость 1200 Мбайт/с. При записи из компьютера в устройство 128Байт данных, на шине RX PCI Express Block Plus приходят 16 TLP длинной 1DW со сдвигом данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dsmv 0 30 августа, 2011 Опубликовано 30 августа, 2011 · Жалоба При записи из компьютера в устройство 128Байт данных, на шине RX PCI Express Block Plus приходят 16 TLP длинной 1DW со сдвигом данных. Это какая-то странная ситуация. Пришлите отправляемый запрос, надо на него посмотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demon_rt 0 27 октября, 2011 Опубликовано 27 октября, 2011 · Жалоба Такой вопрос, кто нить сталкивался с изохронным режимом (приложение А спецификации) работы PCI Express. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jack_of_Shadows 0 15 декабря, 2011 Опубликовано 15 декабря, 2011 · Жалоба Читая форум, прихожу к мысли что с проблемами на этапе установки соединения столкнулся один я. Есть две платы PCI/104 express. Одна из них как раз с virtex-5 и example design из PCI Express Block Plus корки. Возможности потестить ее с разными хостами нет. PCIe устройство не детектируется, после долгих тыканий набрел на гид по отладке сего ядра на сайте xilinx, благодаря которому смог установить следующую заковырку: На этапе установке связи хост шлёт плате TS1-пакет с link number, который хочет ей присвоить (точнее начинает слать непрерывно такие пакеты). Через некоторое время плата начинает отсылать такие же пакеты обратно, подтверждая что приняла номер. После этого хост добавляет в отсылаемые пакеты желаемый lane number. И тут (если быть точным за пару пакетов до прихода lane number) плата выставляет флаг rx_elec_idle (насколько я понимаю сообщая о том, что приемная линия перешла в режим простоя) и в наглую не шлет ответный пакет хосту. Через некоторое время процесс инициализации сбрасывается, в сумме он повторяется несколько раз, потом хост естественно оставляет попытки. Предполагая количество людей, которые уже использовали тот же самый пример и ядро, смутно понимаю что дело не в нем. Грешить на root complex тоже очень не хочется, начальство имеет планы на использование конкретно его в будущих разработках. Буду рад любым подсказкам и наводкам Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitry-tomsk 0 15 декабря, 2011 Опубликовано 15 декабря, 2011 · Жалоба Читая форум, прихожу к мысли что с проблемами на этапе установки соединения столкнулся один я. Есть две платы PCI/104 express. Одна из них как раз с virtex-5 и example design из PCI Express Block Plus корки. Возможности потестить ее с разными хостами нет. PCIe устройство не детектируется, после долгих тыканий набрел на гид по отладке сего ядра на сайте xilinx, благодаря которому смог установить следующую заковырку: На этапе установке связи хост шлёт плате TS1-пакет с link number, который хочет ей присвоить (точнее начинает слать непрерывно такие пакеты). Через некоторое время плата начинает отсылать такие же пакеты обратно, подтверждая что приняла номер. После этого хост добавляет в отсылаемые пакеты желаемый lane number. И тут (если быть точным за пару пакетов до прихода lane number) плата выставляет флаг rx_elec_idle (насколько я понимаю сообщая о том, что приемная линия перешла в режим простоя) и в наглую не шлет ответный пакет хосту. Через некоторое время процесс инициализации сбрасывается, в сумме он повторяется несколько раз, потом хост естественно оставляет попытки. Предполагая количество людей, которые уже использовали тот же самый пример и ядро, смутно понимаю что дело не в нем. Грешить на root complex тоже очень не хочется, начальство имеет планы на использование конкретно его в будущих разработках. Буду рад любым подсказкам и наводкам А какая плата? Там есть switch? Или конфигурация stack up/down фиксирована? Как сброс сделан? Могу дать свою прошивку и тестовую прогу под windows в обмен на ucf файл. Мы сейчас свою плату PCI104 express делаем, вот не хотелось бы тоже наколоться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jack_of_Shadows 0 16 декабря, 2011 Опубликовано 16 декабря, 2011 · Жалоба Процессорная плата - MSM945 от Digital-Logic (ныне Kontron). Плата с плисом - SMT101 от Sundance (они кстати предоставляют тестовую прошивку под PCIe, но она так же не работает как и пример от корки, что лишний раз намекает что проблемы либо в связи, либо в root complex). (как я заметил вы ищете примеры разводки, но, к несчастью, от Sundance мне удалось получить только схему) Процессорная плата рассчитана только на нахождение на верхушке мезонина, поэтому CPU_DIR фиксированно заведен на единицу. Сброс с разъема PCIe заведен на дополнительную плисину Spartan-3, которая конфигурирует Virtex. Выведя сигналы сброса на светодиоды, я всегда вижу как вначале почему-то мигает trn_reset, затем вместе пару раз trn_reset и sys_reset. Все это в течении пары секунд, пока пытается установиться соединение. От прошивки бы и проги не отказался :) Хотя в данный момент они вряд ли помогут с проблемами на нижнем уровне. Кстати, если вы имеете отношение к Томскому "Интенсис" и их SGDMA, то я качал демонстрационную версию модуля, однако у нас плисы разные (у меня XC5VFX30T), и я так и не смог адаптировать ucf под свою плату (сыпались какие-то ошибки с GTP/GTX трансиверами). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitry-tomsk 0 16 декабря, 2011 Опубликовано 16 декабря, 2011 · Жалоба Процессорная плата - MSM945 от Digital-Logic (ныне Kontron). Плата с плисом - SMT101 от Sundance (они кстати предоставляют тестовую прошивку под PCIe, но она так же не работает как и пример от корки, что лишний раз намекает что проблемы либо в связи, либо в root complex). (как я заметил вы ищете примеры разводки, но, к несчастью, от Sundance мне удалось получить только схему) Процессорная плата рассчитана только на нахождение на верхушке мезонина, поэтому CPU_DIR фиксированно заведен на единицу. Сброс с разъема PCIe заведен на дополнительную плисину Spartan-3, которая конфигурирует Virtex. Выведя сигналы сброса на светодиоды, я всегда вижу как вначале почему-то мигает trn_reset, затем вместе пару раз trn_reset и sys_reset. Все это в течении пары секунд, пока пытается установиться соединение. От прошивки бы и проги не отказался :) Хотя в данный момент они вряд ли помогут с проблемами на нижнем уровне. Кстати, если вы имеете отношение к Томскому "Интенсис" и их SGDMA, то я качал демонстрационную версию модуля, однако у нас плисы разные (у меня XC5VFX30T), и я так и не смог адаптировать ucf под свою плату (сыпались какие-то ошибки с GTP/GTX трансиверами). Спасибо! Мне кажется дело со сбросом. На отладочных китах сброс не используется, вместо него кнопка для ручного сброса. Попробуйте его вообще отключить в прошивке. Адаптировать sgdma помогу, самому интересно, шлите ucf файл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jack_of_Shadows 0 16 декабря, 2011 Опубликовано 16 декабря, 2011 (изменено) · Жалоба собственно вот: ############################################################################### # Define Device, Package And Speed Grade ############################################################################### CONFIG PART = xc5vfx30t-ff665-1; ############################################################################### # User Time Names / User Time Groups / Time Specs ############################################################################### # CONFIG STEPPING = "ES"; ############################################################################### # User Physical Constraints ############################################################################### ############################################################################### # Pinout and Related I/O Constraints ############################################################################### # # SYS reset (input) signal. The sys_reset_n signal should be # obtained from the PCI Express interface if possible. For # slot based form factors, a system reset signal is usually # present on the connector. For cable based form factors, a # system reset signal may not be available. In this case, the # system reset signal must be generated locally by some form of # supervisory circuit. You may change the IOSTANDARD and LOC # to suit your requirements and VCCO voltage banking rules. # NET "sys_reset_n" LOC = "H9" | IOSTANDARD = LVCMOS33 | PULLUP | NODELAY; # # SYS clock 250 MHz (input) signal. The sys_clk_p and sys_clk_n # signals are the PCI Express reference clock. Virtex-5 GTX # Transceiver architecture requires the use of a dedicated clock # resources (FPGA input pins) associated with each GTX Transceiver Tile. # To use these pins an IBUFDS primitive (refclk_ibuf) is # instantiated in user's design. # Please refer to the Virtex-5 GTX Transceiver User Guide # (UG198) for guidelines regarding clock resource selection. # NET "sys_clk_p" LOC = "T4"; NET "sys_clk_n" LOC = "T3"; INST "refclk_ibuf" DIFF_TERM = "TRUE"; # # Transceiver instance placement. This constraint selects the # transceivers to be used, which also dictates the pinout for the # transmit and receive differential pairs. Please refer to the # Virtex-5 GTX Transceiver User Guide (UG198) for more # information. # # PCIe Lanes 0 INST "ep/pcie_ep0/pcie_blk/SIO/.pcie_gt_wrapper_i/GTD[0].GT_i" LOC = GTX_DUAL_X0Y1; # # PCI Express Block placement. This constraint selects the PCI Express # Block to be used. # INST "ep/pcie_ep0/pcie_blk/pcie_ep" LOC = PCIE_X0Y0; ############################################################################### # Physical Constraints ############################################################################### # # BlockRAM placement # INST "ep/pcie_ep0/pcie_blk/pcie_mim_wrapper_i/bram_retry/generate_sdp.ram_sdp_inst" LOC = RAMB36_X4Y4; INST "ep/pcie_ep0/pcie_blk/pcie_mim_wrapper_i/bram_tl_tx/generate_tdp2[1].ram_tdp2_inst" LOC = RAMB36_X4Y3; INST "ep/pcie_ep0/pcie_blk/pcie_mim_wrapper_i/bram_tl_rx/generate_tdp2[1].ram_tdp2_inst" LOC = RAMB36_X4Y2; INST "ep/pcie_ep0/pcie_blk/pcie_mim_wrapper_i/bram_tl_tx/generate_tdp2[0].ram_tdp2_inst" LOC = RAMB36_X4Y1; INST "ep/pcie_ep0/pcie_blk/pcie_mim_wrapper_i/bram_tl_rx/generate_tdp2[0].ram_tdp2_inst" LOC = RAMB36_X4Y0; ############################################################################### # Timing Constraints ############################################################################### # # Ignore timing on asynchronous signals. # NET "sys_reset_n" TIG; # # Timing requirements and related constraints. # NET "sys_clk_c" PERIOD = 10ns; NET "ep/pcie_ep0/pcie_blk/SIO/.pcie_gt_wrapper_i/gt_refclk_out" TNM_NET = "MGTCLK"; TIMESPEC "TS_MGTCLK" = PERIOD "MGTCLK" 100.00 MHz HIGH 50 %; # LEDs NET "led1" LOC = "E10" | IOSTANDARD = LVTTL; NET "led2" LOC = "F10" | IOSTANDARD = LVTTL; NET "led3" LOC = "F20" | IOSTANDARD = LVTTL; NET "led4" LOC = "G21" | IOSTANDARD = LVTTL; ############################################################################### # End ############################################################################### Изменено 16 декабря, 2011 пользователем Jack_of_Shadows Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitry-tomsk 0 16 декабря, 2011 Опубликовано 16 декабря, 2011 · Жалоба OK, в понедельник займусь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jack_of_Shadows 0 16 декабря, 2011 Опубликовано 16 декабря, 2011 · Жалоба sys_reset повесил на вечную 1, При загрузке наблюдаю как trn_reset все также мигает 3 раза. И картинка не меняется не на йоту. На форуме тех поддержки xilinx предлагали поиграться настройками трансиверов (размахом выходного сигнала и эмфазой) - тоже не изменило ничего. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitry-tomsk 0 16 декабря, 2011 Опубликовано 16 декабря, 2011 · Жалоба sys_reset повесил на вечную 1, При загрузке наблюдаю как trn_reset все также мигает 3 раза. И картинка не меняется не на йоту. На форуме тех поддержки xilinx предлагали поиграться настройками трансиверов (размахом выходного сигнала и эмфазой) - тоже не изменило ничего. Как грузится плис - со флэши? В PC104 нет сигнала присутствия в слоте, может загрузка прошивки запаздывает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmitry-tomsk 0 18 декабря, 2011 Опубликовано 18 декабря, 2011 · Жалоба Как грузится плис - со флэши? В PC104 нет сигнала присутствия в слоте, может загрузка прошивки запаздывает? Странный ucf, в коментариях тактовая 250 МГц, а в таймингах 100 МГц. Прикрепил прошивку для 100 МГц ST101.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jack_of_Shadows 0 19 декабря, 2011 Опубликовано 19 декабря, 2011 · Жалоба ucf сгенерирован core-генератором, в настройках там точно 100 МГц стояло, и на плате точно 100 МГц идет. Сам не понял что у них с комментариями. С вашей прошивкой ничего не изменилось - смотрю pci-устройства через pcitree в win хр. Грузится с флеши, производители платы уверяют что загрузка занимает порядка 70 мс. И на этот случай всегда рекомендуют горячий старт, который тоже не помогает. К тому же я в начале говорил, процесс инициализации начинает идти, проходят успешно стадии detect и polling, а на configuration случается затык, в один прекрасный момент (всегда один и тот же, что значит дело не в случайных помехах) RX линия сбрасывается в режим простоя (или как там правильно перевести IDLE). И кроме того в некоторых местах во время инициализации видно по сигналу rx_status что возникают ошибки 8b/10b decode error - некое нарушение целостности сигнала. Однако опять же они возникают строго в одинаковых местах, что не похоже просто на плохой прием - ведь в других местах я, к примеру, всегда вижу как root complex отправляет link number, а плис через некоторое время отсылает его назад в качестве подтверждения (вот здесь я приводил осциллограммы проблемного момента, ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jack_of_Shadows 0 19 декабря, 2011 Опубликовано 19 декабря, 2011 · Жалоба Так, сорри, но я ввел вас в заблуждение. Мне таки позволили расковырять рабочий PC, и я вставил плату с плисом туда (производитель для этого специальную переходную плату дает). Загрузилось сразу же - дефолтная прошивка с установленными в системе драйверами даже объявила о себе в диспетчере устройств, прошивка сгенерированная core generator вроде как тоже (по крайней мере она теперь висит в состоянии L0, как обнаружить ее в системе пока не допер. Все найденные для сканирования pci-шины проги (pcitree, pcidirect) под win7 не запустились). Получается дело в рут комплексе - MSM945. Но это уже не совсем к этому топику относится Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться