реклама на сайте
подробности

 
 
> PCIe x4, xc5vfx30t, Не работает, подскажите, в чем может быть дело
StrangerX
сообщение Aug 1 2013, 06:04
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-08-09
Пользователь №: 51 787



Доброго времени суток.

Имеется плата собственного изготовления.
На борту xc5vfx30t, PCIe x4
Прикрепленное изображение

На MGT заведен клок от внутреннего генератора 100.000MHz.
Прикрепленное изображение

(FC пока не интересует)
Создан endpoint block plus с помощью core-генератора. Скопированы полученные файлы практически без изменений. Структура проекта:

Код
--xilinx_pci_exp_ep.v
    --pci_exp_64b_app.v
        --PIO.v
            --PIO_EP.v
                --PIO_EP_MEM_ACCESS.v
                    --EP_MEM.v
                --PIO_64_RX_ENGINE.v
                --PIO_64_TX_ENGINE.v
    --ep_pcie.v
        --pcie_ep.v
            --pcie_top.v
                --pcie_reset_logic.v
                --pcie_clocking.v
                --prod_fixes.v
                --pcie_mim_wrapper.v
                    --bram_common.v x3
                --pcie_gt_wrapper_top.v
                    --pcie_gt_wrapper.v x2
                        --tx_sync.v
            --pcie_blk_if.v
                --pcie_blk_ll.v
                    --pcie_blk_plus_ll_tx.v
                        --pcie_blk_ll_tx_arb.v
                        --pcie_blk_ll_tx.v
                    --pcie_blk_plus_ll_rx.v
                        --tlm_rx_data_snk.v
                            --tlm_rx_data_snk_mal.v
                            --tlm_rx_data_snk_pwr_mgmt.v
                            --tlm_rx_data_snk_bar.v
                        --cmm_decoder.v
                        --pcie_blk_ll_oqbqfifo.v
                            --sync_fifo.v x2
                        --pcie_blk_ll_arb.v
                    --pcie_blk_ll_credit.v
                        my_SRL16E x17
                --pcie_blk_cf.v
                    --pcie_blk_cf_mgmt.v
                    --pcie_blk_cf_err.v
                        --cmm_errman_cor.v x2
                        --cmm_errman_cnt_en.v x5
                        --cmm_errman_ftl.v
                        --cmm_errman_cpl.v x2
                        --cmm_errman_ram4x26.v
                        --cmm_errman_ram8x26.v
                    --pcie_blk_cf_arb.v
                    --pcie_blk_cf_pwr.v
                    --pcie_soft_int.v
                        --cmm_intr.v
            --extend_clk.v
--xilinx_pci_exp_blk_plus_4_lane_ep_xc5vfx30t-ff665-1.ucf


Привожу ucf:
Код
CONFIG PART = xc5vfx30t-ff665-1;
NET "sys_clk_p" LOC = K4;
NET "sys_clk_n" LOC = K3;
NET "sys_clk_n" DIFF_TERM = "TRUE";
NET "sys_clk_p" DIFF_TERM = "TRUE";
# PCIe Lanes 0, 1
INST "ep/pcie_ep0/pcie_blk/SIO/.pcie_gt_wrapper_i/GTD[0].GT_i" LOC = GTX_DUAL_X0Y3;
# PCIe Lanes 2, 3
INST "ep/pcie_ep0/pcie_blk/SIO/.pcie_gt_wrapper_i/GTD[2].GT_i" LOC = GTX_DUAL_X0Y2;
INST "ep/pcie_ep0/pcie_blk/pcie_ep" LOC = PCIE_X0Y0;
# 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;
NET "sys_clk_c" PERIOD = 10 ns;
NET "ep/pcie_ep0/pcie_blk/SIO/.pcie_gt_wrapper_i/gt_refclk_out[0]" TNM_NET = "MGTCLK";
TIMESPEC TS_MGTCLK = PERIOD "MGTCLK" 100 MHz HIGH 50 %;
NET "pci_exp_rxp[0]" LOC = C1;
NET "pci_exp_rxp[2]" LOC = J1;
NET "prsnt" LOC = G15;

Прошиваю, жду, что компьютер проведет энумекрацию, или хотя бы что-то, ничего не происходит.
Попробовал warm reset, как xilinx советует, ничего.
Полез глубже.
trn_reset_n - 0
(RESET_DONE 1) - pll залочена.
trn_lnk_up_n - в единице, что с этим делать не знаю.

Помогите, пожалуйста, добрые люди. Весь измучился.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
krux
сообщение Aug 2 2013, 08:22
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Если на вашей материнке spread spectrum включен, а на PCIe плате клок для интерфейса идёт от отдельного генератора - то интерфейс работать не будет. Попробуйте с другой материнкой, либо ставьте честный буфер от клока с разъема.
Всю схему приводить - это понятно что смысла нет. По картинкам 1 и 2 и названиям цепей я понял только что подвода 100 МГц к ПЛИС в нужном месте у вас нет, о чем собственно и написал.

теперь вот вижу что есть.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
StrangerX
сообщение Aug 30 2013, 11:04
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-08-09
Пользователь №: 51 787



Цитата(krux @ Aug 2 2013, 12:22) *
Если на вашей материнке spread spectrum включен, а на PCIe плате клок для интерфейса идёт от отдельного генератора - то интерфейс работать не будет. Попробуйте с другой материнкой, либо ставьте честный буфер от клока с разъема.
Всю схему приводить - это понятно что смысла нет. По картинкам 1 и 2 и названиям цепей я понял только что подвода 100 МГц к ПЛИС в нужном месте у вас нет, о чем собственно и написал.

теперь вот вижу что есть.

Проверил с другой материнкой. Там есть spread spectrum. Tak же не хочет работать.
Провел ещё раз моделирование на всякий случай морделируется. Ничего...
Go to the top of the page
 
+Quote Post
ivanoffer
сообщение Aug 30 2013, 18:50
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 120
Регистрация: 21-07-11
Пользователь №: 66 348



Цитата(StrangerX @ Aug 30 2013, 15:04) *
Проверил с другой материнкой. Там есть spread spectrum. Tak же не хочет работать.
Провел ещё раз моделирование на всякий случай морделируется. Ничего...


Ваша история напоминает мою. Не все материнские платы дружат с PCIe устройствами,
имеющими свой опорный такт 100МГц какой бы стабильный он не был. Этому есть ряд причин,
вдаваться не буду. Могу посоветовать сначала подать на опорный тактовый вход клок с
ламелей PCIe разъема, например, лакированными скрученными проводами. Припаять можно,
проверял (естественно через разделительные емкости).
Go to the top of the page
 
+Quote Post
FLTI
сообщение Sep 1 2013, 17:57
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832



Цитата(ivanoffer @ Aug 30 2013, 22:50) *
Могу посоветовать сначала подать на опорный тактовый вход клок с
ламелей PCIe разъема, например, лакированными скрученными проводами. Припаять можно,
проверял (естественно через разделительные емкости).

Немого офф. Стоит ли ставить clock cleaner на клок с PCIe?
Разумеется не при навесном монтаже, а на плате.
Go to the top of the page
 
+Quote Post
StrangerX
сообщение Sep 12 2013, 13:37
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-08-09
Пользователь №: 51 787



Посмотрел ltssm_state с помощью chipscope - останавливается на значении 2 - polling. Подскажите кто-нибудь, пожалуйста, что это может значить.
Go to the top of the page
 
+Quote Post
Flood
сообщение Sep 13 2013, 17:43
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 702
Регистрация: 8-06-06
Пользователь №: 17 871



Цитата(StrangerX @ Sep 12 2013, 17:37) *
Посмотрел ltssm_state с помощью chipscope - останавливается на значении 2 - polling. Подскажите кто-нибудь, пожалуйста, что это может значить.

Я выше писал насчет возможной перепутки TX / RX - это проверили?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 14:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01436 секунд с 7
ELECTRONIX ©2004-2016