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

Вопрос по tcl

Здравствуйте!

Работаю с GTX на Kintex-7, возник вопрос каким образом можно поменять при помощи tcl полярность трансивера? Точнее так: использую ядро ethernet pcs/pma с включенным внутрь описанием трансивера, Каждый раз при запуске синтеза vivado переписывает файлы конфигурации трансивера, и приходится руками каждый раз открывать и менять rx_polarity. Слышал, что это можно сделать автоматически средствами tcl, я не так долго работаю с ним, возможно вы подскажете где прочитать про изменение параметров средствами tcl или подскажете как это делается?

Заранее спасибо

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


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

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

 

Параметры для примитивов после синтеза в Vivado меняются приблизительно так (правда я не нашел для GTXE2_CHANNEL параметра RX_POLARITY но это мелочи)

# сначала находите объект  который хотите править 
# либо используя полный правильный путь к примитиву
set inst_obj1 [get_cells  {i_eth_sys/i_axi_10g_eth_0/inst/ten_gig_eth_pcs_pma/inst/ten_gig_eth_pcs_pma_block_i/gt0_gtwizard_10gbaser_multi_gt_i/gt0_gtwizard_10gbaser_i/gtxe2_i}]
# либо используя черную магию для поиска типа так
set inst_obj2 [get_cells -filter {NAME ~= i_eth_sys/*/gt0_gtwizard_10gbaser_i/gtxe2_i}]
# или так
set inst_obj3 [get_cells -filter  {RX_POLARITY==OLD_VALUE}]

# и затем легким движением руки 
set_property RX_POLARITY {NEW_VALUE} $inst_obj1
set_property RX_POLARITY {NEW_VALUE} $inst_obj2
set_property RX_POLARITY {NEW_VALUE} $inst_obj3

Все это пишете в switok.tcl и подключаете ПОСЛЕДНИМ в списке файлов constraint

 

Краткий курс заклинаний черной магии дается в UжасGuide835 Vivado Design Suite Tcl Command Reference

 

Успехов! Rob

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


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

Спасибо! буду пробовать, правда не понял что значит "последним" - все констрэйнты ip ядра в проекте не видны - они подключаются автоматически(в дереве проекта не видны я имею ввиду), там только 2 мои файла с констрейнтами на пины и на клоки - они никак не пересекаются с констрэйнтами на полярность трансивера как я понимаю

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


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

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

 

Последним - значит после все ваших файлов constraint.

Vivado применяет файлы в порядке включения файлов в проекте (сверху вниз в дереве файлов).

Еще можно управлять порядком применения файлов constraint используя специальные атрибуты но это уж для совсем тяжелых случаев.

Можно (и нужно) почитать UG903 Vivado Design Suite User Guide - Using Constraints

На стр. 13 как раз по этому поводу

 

Удачи! Rob.

 

 

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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