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

 
 
> 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
Ответов
StrangerX
сообщение Aug 1 2013, 13:47
Сообщение #2


Участник
*

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



Спасибо за быстрые ответы.
Цитата
А моделировать пробовали?

Да, соделировал с той обвязкой, что предоставлена xilinx - работает.
Цитата
Имхо в такой конфигурации ваша плата должна "видеться" БИОСом как x1 устройство вставленное в слот x4 x8 или x16 (зависит от вашей материнской платы). Ваше ядро поддерживает такой режим работы?
Сдаётся мне что малость намудрили вы с сигналами PRSNT1 PRSNT2 на разъёме. Посмотрите как это сделано в ML605 например.

Вставляю в порт x16. Bios не видит.
Объясните, пожалуйста, почему должен видеть как x1?

Почему Вы считаете, что мой вариант использовать буфер DD1 хуже, чем вариант с резистивным делителем в ML605?
Go to the top of the page
 
+Quote Post
crono
сообщение Aug 1 2013, 14:32
Сообщение #3


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

Группа: Свой
Сообщений: 94
Регистрация: 28-11-12
Из: Москва
Пользователь №: 74 605



Прошивка в ПЛИС откуда грузится? Может, время загрузки превышает допустимое? BitStream Compression включен?
Go to the top of the page
 
+Quote Post



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

 


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


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