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

 
 
> 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 1 2013, 17:14
Сообщение #2


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

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



судя по trn_lnk_up_n == 1 физический линк у вас не поднялся. Ессесно не могло быть никакой речи об энумерации и прочем.
Первым делом проверьте, выключен ли в биосе spread spectrum для PCIe.
Второе - заведите для начала x1 линк.
Надо ещё покопаться в документации - я не уверен в правильности выбора конкретных GTX_DUAL и разводки. Не получилось ли у вас ненароком некая недопустимая комбинация с Lane reversal?

Цитата
На MGT заведен клок от внутреннего генератора 100.000MHz.

а на схеме я его не вижу в упор.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:42
Рейтинг@Mail.ru


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