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

 
 
 
Reply to this topicStart new topic
> Ethernet 10G/1G, Модуль переключения
Lutovid
сообщение Jan 12 2017, 12:24
Сообщение #1


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

Группа: Свой
Сообщений: 101
Регистрация: 24-02-14
Из: Москва
Пользователь №: 80 661



Всем привет!
Появилась задача сделать модуль поддерживающий оба режима работы на 1 и 10G. По отдельности-то я с этими модулями работал, но вместе нет. Схема такая с sfp на плисину приходит дифпара данных(две TX/RX) и I2C шина. задача - прочитать по I2C что за sfp вставлена и подстроить трансиверы. Проблема заключается в том, что каждое ядро ксайлинкса pcs/pma 10 и 1 уже содержит внутри себя трансиверы, drp-то у них есть, но данные я все равно получается с них(трансиверов) не получу если перенастрою не в тот режим, в котором данные pcs/pma должен работать. Вынести трансиверы наружу и сделать переключение потоков то на одно ядро то на другое так же, как я понимаю, не получится, так как это блэк боксы.
Подскажите с какой стороны подступиться к данной задаче?
Заранее спасибо!

http://www.xilinx.com/support/documentatio...g-switching.pdf нашел кое какую инфу, поспешил с вопросом
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jan 12 2017, 12:29
Сообщение #2


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

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(Lutovid @ Jan 12 2017, 15:21) *
...
равно получается с них(трансиверов) не получу если перенастрою не в тот режим, в котором данные pcs/pma должен работать. Вынести трансиверы наружу и сделать переключение потоков то на одно ядро то на другое так же, как я понимаю, не получится, так как это блэк боксы.
...

Вынести наружу трансиверы несложно - как для 1G так и для 10G. Блэк боксами там только сами pcs/pma корки, а все остальное прекрасно правится ручками если надо.

Успехов! Rob
Go to the top of the page
 
+Quote Post
Lutovid
сообщение Jan 13 2017, 13:10
Сообщение #3


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

Группа: Свой
Сообщений: 101
Регистрация: 24-02-14
Из: Москва
Пользователь №: 80 661



Раз уж написал сюда вопрос< хотел бы за одно спросить про использование блэк-боксов. Убираю я значит xci файлы из проекта(например тот на который ссылку я написал в начале) и добавляю только верилоговские файлы.
В этих файлах фигурируют строчки:
Код
(* CORE_GENERATION_INFO = "gig_ethernet_pcs_pma_0,gig_ethernet_pcs_pma_v14_3,{x_ipProduct=Vivado 2014.4,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=gig_ethernet_pcs_pma,x_ipVe
rsion=14.3,x_ipCoreRevision=1,x_ipLanguage=VERILOG,x_ipSimLanguage=MIXED,c_elabor
ation_transient_dir=.,c_component_name=gig_ethernet_pcs_pma_0,c_family=kintex7,c_
is_sgmii=true,c_use_transceiver=true,c_use_tbi=false,c_use_lvds=false,c_has_an=fa
lse,c_has_mdio=false,c_has_ext_mdio=false,c_sgmii_phy_mode=false,c_dynamic_switch
ing=true,c_transceiver_mode=A,c_sgmii_fabric_buffer=true,c_1588=0,gt_rx_byte_widt
h=1,C_EMAC_IF_TEMAC=true,C_PHYADDR=1,EXAMPLE_SIMULATION=0,c_support_level=false,c
_sub_core_name=gig_ethernet_pcs_pma_0_gt,c_transceivercontrol=false,c_xdevicefami
ly=xc7k325t,c_gt_dmonitorout_width=8}" *)
(* X_CORE_INFO = "gig_ethernet_pcs_pma_v14_3,Vivado 2014.4" *)

Это что получается, если я работаю в 16.3 я не смогу подключить этот зашифрованный файл? Или для чего тут вообще эта версия? Я-то просто хотел вырвать этот блэк бокс и вставить в свой проект, но вивадо ругается, что не может с этим файлом работать. Выход-то я нашел - сгенерить блэк-бокс новой версии и подсунуть в проект меняя описанные строчки на
Код
(* CORE_GENERATION_INFO = "one_gig_eth_pcs_pma,gig_ethernet_pcs_pma_v16_0_0,{x_ipProduct=Vivado 2016.3,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=gig_ethernet_pcs_pma,x_ipVe
rsion=16.0,x_ipCoreRevision=0,x_ipLanguage=VERILOG,x_ipSimLanguage=MIXED,c_elabor
ation_transient_dir=.,c_component_name=one_gig_eth_pcs_pma,c_family=kintex7,c_arc
hitecture=kintex7,c_is_sgmii=true,c_enable_async_sgmii=false,c_enable_async_lvds=
false,c_enable_async_lvds_rx_only=false,c_use_transceiver=true,c_use_tbi=false,c_
is_2_5g=false,c_use_lvds=false,c_has_an=false,characterization=false,c_has_mdio=f
alse,c_has_ext_mdio=false,c_sgmii_phy_mode=false,c_dynamic_switching=true,c_sgmii
_fabric_buffer=true,c_1588=0,gt_rx_byte_width=1,C_EMAC_IF_TEMAC=true,EXAMPLE_SIMU
LATION=0,c_support_level=false,c_RxNibbleBitslice0Used=false,c_tx_in_upper_nibble
=1,c_TxLane0_Placement=DIFF_PAIR_0,c_TxLane1_Placement=DIFF_PAIR_1,c_RxLane0_Plac
ement=DIFF_PAIR_0,c_RxLane1_Placement=DIFF_PAIR_1,c_sub_core_name=one_gig_eth_pcs
_pma_gt,c_transceiver_type=GTXE2,c_gt_type=GTH,c_rx_gmii_clk_src=TXOUTCLK,c_trans
ceivercontrol=false,c_gtinex=false,c_xdevicefamily=xc7k325t,c_gt_dmonitorout_widt
h=8,c_gt_drpaddr_width=9,c_gt_txdiffctrl_width=4,c_gt_rxmonitorout_width=7,c_num_
of_lanes=1,c_refclkrate=125,c_drpclkrate=50,c_gt_loc=X0Y0,c_refclk_src=clk0,c_ena
ble_tx_userclk_reset_port=false}" *)
(* X_CORE_INFO = "gig_ethernet_pcs_pma_v16_0_0,Vivado 2016.3" *)

НО если мне нужно будет перейти на следующую версию Vivado мне надо будет это руками все переделывать что ли?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jan 13 2017, 15:09
Сообщение #4


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

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Эти строчки на синтез не влияют, их можно и удалить.

А вот что касается использования сорцов старых версий корок то тут просто надо правильно добавить все требуемые файлы.
В Vivado сейчас обычно все модули корки пакую в один файл */hdl/*_rfs.v/sv.vhd (_rfs - Ready For Synthesis) и если там все требуемые файлы то компилируется все без проблем.
Но бывает так что внутри корки используется библиотеки типа proc_common_v* (в частности для VHDL), или другие корки старых версий, а в новой Vivado либы с требуемой версией уже нет. Поэтому тут либо обновлятся на все новое либо использовать старые корки как BB нетлисты.

Удачи! Rob.
Go to the top of the page
 
+Quote Post

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

 


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


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