flammmable 1 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба Допустим имеется: 1) тактовый вход clk_ext на который поступает 100МГц 2) регистр test_sequence, который проинициализирован некоторым значением 3) и два выхода hs1 и hs2, которые выдают значение из test_sequence[0] Допустим также, что на каждый щелчок clk_ext регистр test_sequence сдвигается на один бит налево с переносом старшего бита в младший (циклический сдвиг). Как задать в *.sdc констрейны, чтобы сигнал с выхода hs1 был смещен на заданное небольшое значение относительно сигнала hs2? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба Имхо , вы как-то не правильно воспринимаете плисы , это не программируемые аналоговые линии задержки, почти все констрейны привязаны к клоковым сигналам и задают соотношения между ними и сигналами ими сопровождаемыми. Если вам надо сдвинуть два сигнала друг относительно друга - то вам надо задать две частоты в плис, сдвинутые относительно друг друга по фазе и уже привязывать свои сигналы к ним. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 1 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 12 minutes ago, Lmx2315 said: Имхо , вы как-то не правильно воспринимаете плисы , это не программируемые аналоговые линии задержки, почти все констрейны привязаны к клоковым сигналам и задают соотношения между ними и сигналами ими сопровождаемыми. Если вам надо сдвинуть два сигнала друг относительно друга - то вам надо задать две частоты в плис, сдвинутые относительно друг друга по фазе и уже привязывать свои сигналы к ним. И тем не менее, это возможно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 5 минут назад, flammmable сказал: И тем не менее, это возможно? В каких-то пределах это возможно. Нужно будет описать параметры тактовых частоты в констрейнах , если их будет недостаточно то добавить что-то вроде set_max_delay , между клоками. з.ы. Надуюсь более опытные товарищи поучаствуют и поправят меня. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 1 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 1 hour ago, Lmx2315 said: В каких-то пределах это возможно. Нужно будет описать параметры тактовых частоты в констрейнах , если их будет недостаточно то добавить что-то вроде set_max_delay , между клоками. з.ы. Надуюсь более опытные товарищи поучаствуют и поправят меня. Вот он, эталонный ответ по существу! ))))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба А можно уточнить, сколько в "попугаях" это Ваше: 2 hours ago, flammmable said: заданное небольшое значение Если частота, допустим, 100МГц (полный цикл 10 ns), то можно двигать в диапазоне 0-5 ns. Если нужно больше - тогда уже берите отношение по негэджу. Если же частоты в единицах киллогерц - тогда так не получится скорее всего. Так как линии задержки имеют ограничения по количеству буфферов, создающих дилей. Ну и та же тема с единицами пикосекунд - обычно у буфферов задержка порядка десятков пикофекунд + линии связи. З.Ы. Если в указанных диапазонах устраивает, тогда не нужно никаких дополнительных клоков и т.п. Достаточно задать set_net_delay (set_max_delay/set_min_delay) для внутренних и set_input_delay/set_output_delay для внешних сигналов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 1 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 5 minutes ago, Nick_K said: А можно уточнить, сколько в "попугаях" это Ваше: Если частота, допустим, 100МГц (полный цикл 10 ns), то можно двигать в диапазоне 0-5 ns. Если нужно больше - тогда уже берите отношение по негэджу. Если же частоты в единицах киллогерц - тогда так не получится скорее всего. Так как линии задержки имеют ограничения по количеству буфферов, создающих дилей. Ну и та же тема с единицами пикосекунд - обычно у буфферов задержка порядка десятков пикофекунд + линии связи. З.Ы. Если в указанных диапазонах устраивает, тогда не нужно никаких дополнительных клоков и т.п. Достаточно задать set_net_delay для внутренних и set_input_delay/set_output_delay для внешних сигналов. Хотелось бы подвигать фронты на 0,5-1,0нс. Не разберусь, как это синтаксически записать в *.sdc . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 2 minutes ago, flammmable said: Хотелось бы подвигать фронты на 0,5-1,0нс. Не разберусь, как это синтаксически записать в *.sdc . set_max_delay delay_value [-from from_list] [-to to_list] // физическая суть - поменять сетап приёмника set_min_delay delay_value [-from from_list] [-to to_list] // физическая суть - поменять холд приёмника Увы задержки Вашего сигнала hs1, придётся вытащить руками после имплементации и настроить вручную hs2. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться