makc 190 19 марта, 2020 Опубликовано 19 марта, 2020 · Жалоба В проекте есть iMX6 + 16-битная DDR3. В CES созданы Constraint Classы для Адреса+команды (Address_Command), тактового сигнала (Clock), управляющих сигналов (Control) и двух байтовых шин данных (BL0 и BL1). Внутри классов заданы правила выравнивания и остался заключительный штрих: задать правило выравнивания для соотношения длин цепей внутри этих классов и длины цепи тактового сигнала, чтобы обеспечить соотношение длин, подобное изображенному на следующем рисунке: Была попытка создать одну переменную, определяющую длину тактовой цепи (ddr3clk), которая использовалась в формуле для тактового сигнала вида <ddr3clk. И для всех цепей в других классах задать формулу, например, <ddr3clk-1mm Но проблема в том, что при таком задании формул инструмент Target Lengths из Layout начинает объединять все классы в один кластер и я не понял, как после этого можно выравнивать длины внутри одного из классов. Как это сделать правильно, чтобы с одной стороны было задано правило для тактового сигнала (самая большая длина в сравнении со всеми остальными классами), а с другой стороны можно было работать индивидуально с каждым из классов для выравнивания длин? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PBO 1 19 марта, 2020 Опубликовано 19 марта, 2020 · Жалоба 1 hour ago, makc said: В проекте есть iMX6 + 16-битная DDR3. В CES созданы Constraint Classы для Адреса+команды (Address_Command), тактового сигнала (Clock), управляющих сигналов (Control) и двух байтовых шин данных (BL0 и BL1). Внутри классов заданы правила выравнивания и остался заключительный штрих: задать правило выравнивания для соотношения длин цепей внутри этих классов и длины цепи тактового сигнала, чтобы обеспечить соотношение длин, подобное изображенному на следующем рисунке: Была попытка создать одну переменную, определяющую длину тактовой цепи (ddr3clk), которая использовалась в формуле для тактового сигнала вида <ddr3clk. И для всех цепей в других классах задать формулу, например, <ddr3clk-1mm Но проблема в том, что при таком задании формул инструмент Target Lengths из Layout начинает объединять все классы в один кластер и я не понял, как после этого можно выравнивать длины внутри одного из классов. Как это сделать правильно, чтобы с одной стороны было задано правило для тактового сигнала (самая большая длина в сравнении со всеми остальными классами), а с другой стороны можно было работать индивидуально с каждым из классов для выравнивания длин? https://www.mentor.com/pcb/multimedia/player/understanding-the-constraint-manager-ddr-setups-and-methodologies-3e880840-886c-484d-b278-93574b29a1ce Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться