|
10GBASE-R и rx_block_lock, rx_block_lock постоянно low |
|
|
|
Jul 31 2018, 14:18
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(new123 @ Jul 31 2018, 17:10)  ... Может кто знает, в каком направлении двигаться, куда рыть? ... Так все просто: двигатся вперед - рыть вглубь.  Вы бы уточнили с каким FPGA работаете? Удачи! Rob.
|
|
|
|
|
Jul 31 2018, 14:30
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Jul 31 2018, 17:18)  Приветствую! Так все просто: двигатся вперед - рыть вглубь.  Вы бы уточнили с каким FPGA работаете? Удачи! Rob. FPGA у меня Stratix V. У меня пока единственная мысль, если работает петля, значит не работает что то за пределами стратикса. Это получает все что до SFP+ порта. Может аналоговые настройки. Я толком пока даже не знаю какой правильно стандарт PCML выставить. В спецификации SFP+ стандарта указан CML. А какой он там, не понятно. В мануалах к альтеорвским китам вообще все по разному. То 1.4 вольта, то 1.5. То вообще не pcml. Цитата(RobFPGA @ Jul 31 2018, 17:18)  Так все просто: двигатся вперед - рыть вглубь.  это точно. Я даже будучи владельцем альтеры плотно поселился на форуме xilinx. Еще добавлю. Соединяюсь я direct atach sfp+ кабелем с сетевухой Mellanox. И все в надежде каждый раз смотрю на нее, чтобы диоды заморгали.
Сообщение отредактировал new123 - Jul 31 2018, 14:28
|
|
|
|
|
Jul 31 2018, 15:28
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! CODE set_instance_assignment -name IO_STANDARD "1.5-V PCML" -to QSFPA_rx* set_instance_assignment -name IO_STANDARD "1.5-V PCML" -to QSFPA_tx* set_instance_assignment -name INPUT_TERMINATION "OCT 100 OHMS" -to QSFPA_rx* set_instance_assignment -name OUTPUT_TERMINATION "OCT 100 OHMS" -to QSFPA_tx* set_instance_assignment -name XCVR_VCCR_VCCT_VOLTAGE "1_0V" -to QSFPA_rx* set_instance_assignment -name XCVR_VCCR_VCCT_VOLTAGE "1_0V" -to QSFPA_tx* set_instance_assignment -name XCVR_VCCA_VOLTAGE "3_0V" -to QSFPA_rx* set_instance_assignment -name XCVR_VCCA_VOLTAGE "3_0V" -to QSFPA_tx* set_instance_assignment -name XCVR_TX_VOD "50" -to QSFPA_tx*
Вот мои руны для 10G на StratixV. Ну и незабывайте что SFP+ надо включить на передачу соответствующим пином. Удачи! Rob.
|
|
|
|
|
Jul 31 2018, 15:43
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Jul 31 2018, 18:28)  Приветствую! CODE set_instance_assignment -name IO_STANDARD "1.5-V PCML" -to QSFPA_rx* set_instance_assignment -name IO_STANDARD "1.5-V PCML" -to QSFPA_tx* set_instance_assignment -name INPUT_TERMINATION "OCT 100 OHMS" -to QSFPA_rx* set_instance_assignment -name OUTPUT_TERMINATION "OCT 100 OHMS" -to QSFPA_tx* set_instance_assignment -name XCVR_VCCR_VCCT_VOLTAGE "1_0V" -to QSFPA_rx* set_instance_assignment -name XCVR_VCCR_VCCT_VOLTAGE "1_0V" -to QSFPA_tx* set_instance_assignment -name XCVR_VCCA_VOLTAGE "3_0V" -to QSFPA_rx* set_instance_assignment -name XCVR_VCCA_VOLTAGE "3_0V" -to QSFPA_tx* set_instance_assignment -name XCVR_TX_VOD "50" -to QSFPA_tx*
Вот мои руны для 10G на StratixV. Удачи! Rob. спасибо большое, сейчас попробую. У меня резисторы по другому называются (XCVR_IO_PIN_TERMINATION). И XCVR_TX_VOD нет. Цитата(RobFPGA @ Jul 31 2018, 18:28)  Ну и незабывайте что SFP+ надо включить на передачу соответствующим пином. да да, спасибо. Этот стандарт у меня уже от зубов отскакивает
|
|
|
|
|
Jul 31 2018, 17:49
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Jul 31 2018, 18:28)  Ну и незабывайте что SFP+ надо включить на передачу соответствующим пином. Удачи! Rob. Еще раз, спасибо вам Rob. Попробовал настройки. Получил все ту же 9C000001. По началу расстроился, решил прочитать еще раз про аналоговые настройки. Наткнулся на такую заметку https://www.intel.com/content/www/us/en/pro...212013_389.htmlТам явно сказано, что сопротивления оконечные включатся только после конфигурации и до этого момента лучше модуль sfp+ не вставлять. От нечего делать решил кабель вставить спустя секунду после запуска. Сразу же выхватил 9C000002 (remote fault), но все статусы норм. Поднят rx_block_lock, rx_data_ready. Я так понял теперь сетевая карта что то не может. Вот теперь думаю что с этим кабелем делать. Может держать TX_DISABLE на SFP+ в LOW, пока я делаю резет трансиверов или пока rx_block_lock не встал.
Сообщение отредактировал new123 - Jul 31 2018, 17:53
|
|
|
|
|
Jul 31 2018, 18:26
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(new123 @ Jul 31 2018, 20:49)  ... Вот теперь думаю что с этим кабелем делать. Может держать TX_DISABLE на SFP+ в LOW, пока я делаю резет трансиверов или пока rx_block_lock не встал. Мне кажется там говорят что мол пока прелюдия конфигурирования FPGA не закончена не суйте свой plug SFP - так как очень уж нежные пины в этом состоянии - сжечь статикой можете на раз. Я платы на StratixV десятки раз перепрограммировал со вставленной оптикой - link поднимался без проблем. Вы на симе гоняли дизайн? Удачи! Rob.
|
|
|
|
|
Jul 31 2018, 18:31
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Jul 31 2018, 21:26)  Приветствую! Мне кажется там говорят что мол пока прелюдия конфигурирования FPGA не закончена не суйте свой plug SFP - так как очень уж нежные пины в этом состоянии - сжечь статикой можете на раз.
Я платы на StratixV десятки раз перепрограммировал со вставленной оптикой - link поднимался без проблем.
Вы на симе гоняли дизайн?
Удачи! Rob. честно говоря нет. Только отдельными модулями. А с полным дизайном из за 10g-base корки не стартует сим. надо тогда еще раз детально отладить, может я в своем mac что то не доделал. Он у меня тоже самописный.
|
|
|
|
|
Jul 31 2018, 18:38
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(new123 @ Jul 31 2018, 21:31)  честно говоря нет. Только отдельными модулями. А с полным дизайном из за 10g-base корки не стартует сим. надо тогда еще раз детально отладить, может я в своем mac что то не доделал. Он у меня тоже самописный. Я имел ввиду сим 10GBASE-R PHY ? зацепите пару модулей друг на дружку по MGT и посмотрите как они линк поднимают. MAC тут не нужен. Удачи! Rob.
|
|
|
|
|
Jul 31 2018, 18:52
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Jul 31 2018, 21:38)  Я имел ввиду сим 10GBASE-R PHY ? зацепите пару модулей друг на дружку по MGT и посмотрите как они линк поднимают. MAC тут не нужен. а, то есть вы предлагаете законнектить два phy друг к другу и посмотреть в симуляторе как они коннектятся? чтобы воссоздать так же. Логично =) да, не в кабеле дело. 9C000002 начинает приходить само, спустя секунду
|
|
|
|
|
Jul 31 2018, 19:43
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(new123 @ Jul 31 2018, 21:52)  ... да, не в кабеле дело. 9C000002 начинает приходить само, спустя секунду Посмотрел сейчас - у меня на симе PHY поднимают линк спустя ~30 us после ресета. Удачи!
|
|
|
|
|
Jul 31 2018, 19:56
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Jul 31 2018, 22:43)  Приветствую! Посмотрел сейчас - у меня на симе PHY поднимают линк спустя ~30 us после ресета.
Удачи! мой стратикс при включении резетится 372мксек. + еще через ~2-3мксек он подымает последний сигнал block_lock и сразу rx_data_ready. С секундой я конечно дал =)) я тут не засек. у меня логи пишутся в FIFO всего на 8000 слов.
Сообщение отредактировал new123 - Jul 31 2018, 19:57
|
|
|
|
|
Jul 31 2018, 20:04
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(new123 @ Jul 31 2018, 22:56)  мой стратикс при включении резетится 372мксек. + еще через ~2-3мксек он подымает последний сигнал block_lock и сразу rx_data_ready. С секундой я конечно дал =)) я тут не засек. у меня логи пишутся в FIFO всего на 8000 слов. Это и понятно - в симе таймауты меньше чтобы не ждать долго . Удачи! Rob.
|
|
|
|
|
Aug 1 2018, 07:24
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Jul 31 2018, 21:38)  зацепите пару модулей друг на дружку по MGT Rob, если не сложно, не могли бы подсказать, что такое MGT? я нагуглил что это multi gigabit transceiver, но что это и как это соединить в проекте не допонял.
|
|
|
|
|
Aug 1 2018, 07:46
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(new123 @ Aug 1 2018, 10:24)  Rob, если не сложно, не могли бы подсказать, что такое MGT? я нагуглил что это multi gigabit transceiver, но что это и как это соединить в проекте не допонял. Да так и есть (в кои веки гугул прав  ) Берете 2 корки PHY и соединяете их serial выходы в позе 69 (друг на дружку) - и наблюдаете за процессом ... CODE phy_10gbaser_s5gx #( .CHANNELS (CH_NUM ), .RESET_MGT_CLK_FREQ (25 ), .CONFIG_BUS_CLK_FREQ(25 ), .PHY_REF_CLK_FREQ ("322.265625 MHz") ) i_phy_10gbaser_s5gx_a ( .reset_mgt_clk (clk_25 ), .reset_mgt_rstn (~rst_25 ), .phy_ref_clk (clk_phy ), .phy_mgt_clk (clk_100 ), .dom_present (1'b1 ), .dom_rstn ( ), .ip_rstn ({CH_NUM{1'b1}} ), .xgmii_clk (a_xgmii_clk ), .xgmii_clk_rdy (a_xgmii_clk_rdy), .xgmii_rstn (a_xgmii_rstn ), .config_bus_clk (clk_25 ), .config_bus_rstn( ), .xgmii_tx (a_xgmii_tx ), .xgmii_rx (a_xgmii_rx ), .serial_tx (serial_tx), .serial_rx (serial_rx ), .phy_debug_out (a_phy_debug_out) );
phy_10gbaser_s5gx #( .CHANNELS (CH_NUM ), .RESET_MGT_CLK_FREQ (25 ), .CONFIG_BUS_CLK_FREQ(25 ), .PHY_REF_CLK_FREQ ("322.265625 MHz") ) i_phy_10gbaser_s5gx_b ( .reset_mgt_clk (clk_25 ), .reset_mgt_rstn (~rst_25 ), .phy_ref_clk (clk_phy ), .phy_mgt_clk (clk_100 ), .dom_present (1'b1 ), .dom_rstn ( ), .ip_rstn ({CH_NUM{1'b1}} ), .xgmii_clk (b_xgmii_clk ), .xgmii_rstn (b_xgmii_rstn ), .config_bus_clk (clk_25 ), .config_bus_rstn( ), .xgmii_tx (b_xgmii_tx ), .xgmii_rx (b_xgmii_rx ), .serial_tx (serial_rx ), .serial_rx (serial_tx ), .phy_debug_out (b_phy_debug_out) );
Удачи! Rob.
|
|
|
|
|
Aug 1 2018, 07:51
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Aug 1 2018, 10:46)  Берете 2 корки PHY и соединяете их serial выходы в позе 69 (друг на дружку) - и наблюдаете за процессом ...  елки, все так просто. Сейчас заценим
|
|
|
|
|
Aug 1 2018, 11:17
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Aug 1 2018, 10:46)  Берете 2 корки PHY и соединяете их serial выходы в позе 69 (друг на дружку) а у вас нормально компилит такую конструкцию? Вожусь несколько часов. Выдает для TX выхода. CODE Info: Can be connected to I port of stratixv_io_obuf WYSIWYG Ну и для RX наоборот. Я так понял, он просит физически назначить трансивер на tx_serial и rx_serial
|
|
|
|
|
Aug 1 2018, 11:25
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(Lmx2315 @ Aug 1 2018, 14:22)  ..мне кажется такое подойдёт только для симуляции. я тоже так думаю, но чтобы просимулировать, нужно пройти Analys/Synthesis, иначе симулятор не запускает главный дизайн. Я наверное что то не знаю.
|
|
|
|
|
Aug 1 2018, 12:40
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(new123 @ Aug 1 2018, 14:25)  я тоже так думаю, но чтобы просимулировать, нужно пройти Analys/Synthesis, иначе симулятор не запускает главный дизайн. ... Я пользую ModelSim но не пользуюсь скриптами Qu для запуска симуляции. У меня свой скрипт для компиляции библиотек и парсинга и компиляции qip файлов. Удачи! Rob.
|
|
|
|
|
Aug 1 2018, 12:42
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Aug 1 2018, 15:40)  У меня свой скрипт для компиляции библиотек и парсинга и компиляции qip файлов. понятно, я так и подумал
|
|
|
|
|
Aug 1 2018, 13:43
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Ничего особенного - поделка выходного дня - рекурсивно разбираем по строкам qip файл создаем список - {тип библиотека исходник куда_копировать_если_хочется} Все возможные варианты не покрывает так что годится как заготовка для буратино допиливания. Ну а дальше идем по списку и в зависимосли от типа делаем vlog/vcom в заданную библиотеку CODE # parsing Altera .qip|.sip files. Creating list of source files for the IP core. proc qip_export {fname {out_lib "work"} {out_dir "./out"} } { # fname - input qip file # out_lib - name of library if library not defined in the qip # out_dir - destination folder
puts ">>> qip_export: file:$fname -> lib:$out_lib -> out:$out_dir"
set fname [file normalize $fname] set qip_dir [file dirname $fname] puts "Export qip source file:\n qip : $fname\n qip_dir: $qip_dir\n out : $out_dir"
set fi [open $fname "r"] set lines [split [read $fi] "\n"] close $fi
set qip_list [list] set out_list [list] set ::quartus(qip_path) $qip_dir foreach line $lines { puts ">>$line" if {[regexp -- {^\#} $line]} { continue }
if {![regexp -- {^\s*set_global_assignment\s+.*?-name\s+(\w+)\s+((?:\[.+?\])|(?:\".+\")|(?:\$.+))} $line -> kind path_cmd]} { continue } set in_fname [rel_name [subst $path_cmd] $qip_dir] set ip_name [file rootname [file tail $in_fname]]
set src_fname [lexnormalize [file join $qip_dir $in_fname]] set out_fname [file join $out_dir $in_fname] if {![regexp -- {-library\s+((?:\"\w+\")|(?:\w+))} $line -> lib_name]} { set lib_name $out_lib } set lib_name [string map {\" {}} $lib_name]
switch $kind { "QIP_FILE" { lappend qip_list $src_fname } "VERILOG_FILE" - "VHDL_FILE" - "SYSTEMVERILOG_FILE" { lappend out_list [list $kind $lib_name $src_fname $out_fname]
puts "qip_export:\n $kind\n $lib_name\n $in_fname\n $src_fname\n $out_fname" } default { #puts ">>" } } } # recursive process included QIP foreach qip_file $qip_list { lappend out_list {*}[qip_export $qip_file $out_lib "$out_dir/$ip_name"] } return $out_list } Удачи! Rob.
|
|
|
|
|
Aug 1 2018, 16:14
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Jul 31 2018, 18:28)  Вот мои руны для 10G на StratixV. Ну и незабывайте что SFP+ надо включить на передачу соответствующим пином. Rob, если не сложно, еще вопрос по стандартам. А вы ставили стандарт для TX_Disable? Я смотрел в альтеровских китах стоят 1.8V У себя я ничего не ставил. Работает в 2.5v. В принципе вроде попадает в стандарт SFP+, но вдруг я передачу не включаю. Очень похоже на то, что я своей передачей не могу противоположную сторону завести. В петле передача точно работала
Сообщение отредактировал new123 - Aug 1 2018, 16:15
|
|
|
|
|
Aug 2 2018, 08:18
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(new123 @ Aug 1 2018, 19:14)  Rob, если не сложно, еще вопрос по стандартам. А вы ставили стандарт для TX_Disable? Я смотрел в альтеровских китах стоят 1.8V У себя я ничего не ставил. Работает в 2.5v. В принципе вроде попадает в стандарт SFP+, но вдруг я передачу не включаю.
Очень похоже на то, что я своей передачей не могу противоположную сторону завести. В петле передача точно работала Контроль в SFP+ это обычные TTL - 2.5 или 1.8 стандарт зависит от того какое питание на банке куда эти сигналы заведены. У меня они все "2.5 V" Удачи! Rob.
|
|
|
|
|
Aug 2 2018, 08:19
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 30-11-17
Пользователь №: 100 438

|
Цитата(RobFPGA @ Aug 2 2018, 11:18)  Приветствую! Контроль в SFP+ это обычные TTL - 2.5 или 1.8 стандарт зависит от того какое питание на банке куда эти сигналы заведены. У меня они все "2.5 V"
Удачи! Rob. спасибо. Я тоже мультиметром полазил с разными стандартами. Они действительно в допуске все SFP+ Пока пробую петлю кабелем уже сделать, посмотреть, что у меня не заводится. Все таки думаю, что TX канала не работает.
Сообщение отредактировал new123 - Aug 2 2018, 08:20
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|