Перейти к содержанию
    

Разобрался с 10G линком для Titan 2.

Может будет полезно. Проверено на плате Alinx AXP-390 для одного канала.

https://github.com/boikovaleksandr/axp390-pangomicro-titan2-raw-10g-link

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Новая версия PDS - 2023.2.SP3

 

Spoiler

2 SP2 features

ü   Fix the problem of excessive runtime size in the Compile stage caused by Multi-assignment pattern

ü   Fix the problem of false compile error when the actual parameter is left vacant during instantiation of unpacked port

ü   Fix the problem of incorrect relative placement of DFF and LUT6CARRY PACK with position constraints during layout, which leads to constraint check error

ü   Fix the problem of post-simulation and design golden inconsistency caused by DRM post-simulation mapping error (PG3T500, PG3T600, PG3K1000P involved)

ü   Support the use of DVIO when debugcore is waiting for trigger

ü   Fix the problem that PDS cannot connect to License Server after setting proxy server

ü   Fix the problem of poor timing caused by too long synthesis level under strict timing constraints

ü   Add Timing-4120 and Timing-4121 Critical warning for the scenario where create_clock is used to create constraints and source objects are not ports

ü   Fix the disconnection of GTP_APM_E4 in the Map stage CEY1 and RSTY1 cause the output of the board to be 0 (involved in PG3T600P and PG3K1000P)

ü   Fix the problem that the output of GTP_APB is deleted in the sim.v netlist when there is no connection logic

ü   Fix the problem that the clock power consumption reported by PPC is too small (involved in Komos2, Logos2, and Titan2 series)

ü   Support the configuration that the 0x425 bit[5] of the corresponding channel in the HSST register is 0 before scanning (involved in PG3T500)

ü   Fix the problem of crash when APM absorbs registers with initial values

ü  Supports adding genblk flags to generate signals through parameter control. Fixed the issue that the floating port of GTP_HPIO_PHY_SEQUENCER is grounded during the synthesis phase, causing routing failure (involving PG3T500)

ü   Fixed the abnormal result of monitor board loading (involving PG2T70H)

ü   Optimize timing power consumption data (PG3T500 involved)

ü   IP update:

DRM/HRM IP (Titan3)

(1) Update the HRM288K cascade algorithm of dpram, sdpram, and fifo sub-IPs, and support mixed data bit width function.

(2) Optimize the clock polarity reversal, output register enable signal, and output register configuration item linkage logic in the parameter configuration interface.

(3) Modify the incorrect synchronous FIFO read and write threshold level timing diagram in the UG document.

(4) UG update.

3 SP3 Features

1) BUG fixes

ü   The detailed routing stage supports multi-level logic hold violation repair function

ü   Fixes the problem that a pop-up window warning will appear when switching process and tempgrade when there is an IP module in PPP (involved in PG3T500)

ü   Fixes the problem that when differential IO is used as the clock input source, the layout only considers the single-ended position in the clock planning stage, resulting in layout failure

ü   Optimizes the clock skew of PG3T600P and PG3K1000P

ü   Fixes the problem that the include_generated_clock parameter added in set_clock_groups does not take effect on the generated clocks of all levels under the same source clock

ü   Support Compile error Verilog-4146 interception when there are modules with the same name in different design files and the configuration option "Allow Duplicate Modules" is not checked

ü   Fixed the issue that after the asynchronous FIFO IP comes with sdc constraints and the same IP is instantiated repeatedly, some of the instantiated IP constraints do not take effect

ü   Supports projects with unconstrained or partially constrained IO, and reports an error and exits during the bitstream generation phase

ü   Fixed the issue that the SVF file generated by the Configuration tool is incorrect when the Flatten mode is selected when generating a cascaded bitstream

ü   Fixed the problem that the delay function does not take effect due to the unprocessed idly_dis, odly_dis and tdly_dis ports of the IDELAY/ODELAY model (involving PG3K1000P and PG3T600P devices)

ü   Add fan-out restrictions to the ZGM[0]/[1] reflection ports of SRB. If the number of nodes passing through ZGM exceeds 20, Critical Warning: Route-2045 will be reported during the Route Optimize stage (involving Logos2, Titan2, and Kosmo2 series)

ü   Update the timing data of some archs of IOLHR (involving Logos2, Titan2, and Kosmo2 series)

ü   Narrow the scope of the check for create_clock constraints on non-clock ports to reduce redundant alarms

ü   Fixed the problem that the power consumption is abnormally 0 when the DRM mode is SDP and the A\B bit width is 32 in PPP (involving PG3T500)

ü   Fix the Compile crash caused by using genvar variables without initial values

ü   Fixed the issue of falsely reporting critical warning STA-3004 when clocks from the same source are propagated to the location where a generate clock exists

ü   The default value of the Place&Route configuration option PnR Timeout(min) in Project Setting is changed from 720 to 0

ü   Fix the inconsistency between the BUS_KEEPER settings in the PDS report and UCE

ü   Added HSLVCMOS33/HSLVTTL33 level standards and updated the IO power consumption model (involving PG2T390H)

ü   Fix the problem of not taking the positive and negative of the expression when adjusting the expression order during expression optimization

ü   Fix the abnormal flashing of the Done light on the upper board after checking the Over Temperature Shut Off function of PG2K400

ü   Fixed the Synthesize phase crash caused by not correctly identifying the syn_direct_reset attribute on net

ü   Optimize the alarm scenario of C:SDC-2032. When the create_clock constraint and uncertainty constraint exist on the clk pin of FF/APM/DRM at the same time, a serious alarm C:SDC-2032 will be generated, and the uncertainty constraint will not take effect

ü   Update the HRM timing model (PG3T500 involved)

ü   Enhance the readability of parameter values in compile run.log

ü   Delete the IO standard "TMDS" (Logos2, Titan2, Kosmo2 involved)

2) GTP changes

ü   Add support for GTP_MONITOR (PG3T500 involved)

 

Release_Notes_2023_2_SP3 (microterra).pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 6/20/2024 at 12:25 PM, BoiAV said:

Разобрался с 10G линком для Titan 2 ... для одного канала.

для одного канала совсем не интересно, даже для 2-х если они на разные HSSST закинуты будут, а вот на одном HSST 4 канала поднять это уже достойное достижение будет, core то от господ из поднебесной одноканальное 🤦‍♂️ 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/4/2024 at 10:47 AM, Gas Wilson said:

Новая версия PDS - 2023.2.SP3

Можете положить в закрома?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Коллеги, как заставить PDS2023.2.SP1 не оптимизировать следующий кусок кода?

always @(posedge wrclk) begin
	if (~reset_n_wrclk[1]) 
		init_done_wrclk <= 1'b0 ;
	else 
		init_done_wrclk <= 1'b1 ;
end

Должна быть задержка на 1 такт после снятия сброса, а PDS выкидывает триггер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я разобрался где проблема.

PDS неправильно синтезирует сигнал сброса.

Сделал следующий тест выведя сигналы на светодиоды:

assign u_debug_led[0] = (axil_aresetn == 1'b0) | UART_RST | FIFO_RST ;
assign u_debug_led[1] = (axil_aresetn == 1'b0) ;
assign u_debug_led[2] = UART_RST ;
assign u_debug_led[3] = FIFO_RST ;

В итоге u_debug_led[3], u_debug_led[2], u_debug_led[1] показывают 0, а u_debug_led[0] показывает 1.

PDS неправильно синтезирует 3 входовое ИЛИ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, BSACPLD сказал:

PDS неправильно синтезирует сигнал сброса.

Была проблема с Logos2, приводившая к отсутствию инициализации по ресету триггеров, размещаемых в ячейке ввода-вывода. У вас какой кристалл? Может быть это отголосок этой проблемы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

35 minutes ago, makc said:

Была проблема с Logos2, приводившая к отсутствию инициализации по ресету триггеров, размещаемых в ячейке ввода-вывода. У вас какой кристалл? Может быть это отголосок этой проблемы?

PG2L50H-6IMBG324

P.S.

Уже нашёл в чём дело было.

FIFO_RST делался из многомерного массива и был указан индекс за границей массива.

Vivado и Quartus туда 0 подставляли и получался "рабочий" код, а PDS синтезировал какую-то ерунду.

Заметил уже когда все возможные варианты перебрал...

P.P.S.

Теперь осталось тайминги на входе SERDES победить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Коллеги, подскажите, пожалуйста, как правильно сформировать файл для прошивки FLASH для PG2L50H-6IMBG324.

FLASH Micron MT25QL128ABA1ESE-0SIT.

Режим x1.

Знаю, что лучше было ставить рекомендованную W25Q128, но тут вышла путаница на производстве - Winbond запаяли на платы с Xilinx, а Micron на платы с PangoMicro...

При создании файла в меню Operations->Convert File я выбрал FLASH с точно таким же ID - N25Q128.

Прошивка и верификация без ошибок, но ПЛИС не хочет загружаться из FLASH.

По JTAG ПЛИС грузится и стартует нормально.

Пробовал даже своей прошивкой вычитывать FLASH - совпадает с исходным файлом.

Посмотрел осциллографом.

В начале загрузки падает CS, идёт битовый поток порядка 150 мс, потом CS не поднимается и светодиод CFG_DONE не загорается, CS так и висит в 0.

Схема рабочая, т.к. точно такая же плата, где был запаян Xilinx, грузится без проблем, а PG2L50H-6IMBG324 и XC7A100T-2CSG324I pin-to-pin.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может всё-таки идёт попытка конфигурации в режиме Quad, но флешка к этому не готова (нет QE)?

PS: Вы смотрели, какими командами ПЛИС начинает читать прошивку из флешки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, makc said:

Может всё-таки идёт попытка конфигурации в режиме Quad, но флешка к этому не готова (нет QE)?

Пока не смотрел, но успел сделать другую проверку.

Зашил FLASH, выключил/включил питание, подцепился по JTAG и сделал верификацию загруженного в RAM битстрима - Verify OK.

И после окончания верификации прошивка внезапно стартовала.

Т.е. походу битстрим попадает в RAM, но почему-то не стартует.

Как будто ждёт какую-то команду на старт...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как будто бы в его конце нет команд, аналогичных START+DESYNC у Xilinx.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...