Есть два клоковых домена.
Один тактируется частотой 50МГц,
Втрой - тактируется частотой 250МГц (но может быть и другое значение), полученной из pll от 50МГц.
В первом домене запускаю сигнал Run.
Он приходит во второй домен, проходит двойную буферизацию и дальше уже используется по назначению.
Обратно из второго домена выходит сигнал Stop.
Он приходит в первый домен, проходит двойную буферизацию и дальше уже используется по назначению.
Если sdc файл такой:
Код
derive_clock_uncertainty
create_clock -period "50 MHz" -name {clk} {clk}
derive_pll_clocks
set_clock_groups -exclusive -group {clk pll_inst|pll_inst|altera_pll_i|general[0].gpll~PLL_OUTPUT_COUNTER|divclk}
create_clock -period "50 MHz" -name {clk} {clk}
derive_pll_clocks
set_clock_groups -exclusive -group {clk pll_inst|pll_inst|altera_pll_i|general[0].gpll~PLL_OUTPUT_COUNTER|divclk}
то ТаймКвест говорит, что имеются Failling Paths.
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
И частота Restricted Fmax = 240МГц
Нажмите для просмотра прикрепленного файла
В пырвый раз сейчас обратил внимания на наличие Fmax и Restricted Fmax, в чем их смысл?
Пробовал указать, что это эксключивные друг другу частоты (кто бы объяснил как правльно нужно описать констрейны для такой ситуации)
Код
derive_clock_uncertainty
create_clock -period "50 MHz" -name {clk} {clk}
derive_pll_clocks
set_clock_groups -exclusive -group {clk} -group {pll_inst|pll_inst|altera_pll_i|general[0].gpll~PLL_OUTPUT_COUNTER|divclk}
create_clock -period "50 MHz" -name {clk} {clk}
derive_pll_clocks
set_clock_groups -exclusive -group {clk} -group {pll_inst|pll_inst|altera_pll_i|general[0].gpll~PLL_OUTPUT_COUNTER|divclk}
ТаймКвест не нашел Failling Paths, но максимальная частота все равно получилась 240МГц.