Здравствуйте многоуважаемые форумчане.
Сегодня занялся переносом проекта со Spartan'a 3 на 6-ой. Выкинул некоторые примитивы, поменял назначения пинов и т.д. и т.п. Начал собирать проект и во время "Place and Route" мне вывалилось сообщение:
Код
ERROR:Place:1136 - This design contains a global buffer instance,
<i2c_module/word_control/fsm/wr_rd_derived_clock_cb>, driving the net,
<mpi_rw>, that is driving the following (first 30) non-clock load pins.
< PIN:
tss_module/tss_module/connect_mem/BU2/U0/blk_mem_generator/valid.cstr/ramloop
[0].ram.r/s3a_noinit.ram/dpram.ram.WEA3; >
< PIN:
tss_module/tss_module/connect_mem/BU2/U0/blk_mem_generator/valid.cstr/ramloop
[0].ram.r/s3a_noinit.ram/dpram.ram.WEA2; >
< PIN:
tss_module/tss_module/connect_mem/BU2/U0/blk_mem_generator/valid.cstr/ramloop
[0].ram.r/s3a_noinit.ram/dpram.ram.WEA1; >
< PIN:
tss_module/tss_module/connect_mem/BU2/U0/blk_mem_generator/valid.cstr/ramloop
[0].ram.r/s3a_noinit.ram/dpram.ram.WEA0; >
This is not a recommended design practice in Spartan-6 due to limitations in
the global routing that may cause excessive delay, skew or unroutable
situations. It is recommended to only use a BUFG resource to drive clock
loads. If you wish to override this recommendation, you may use the
CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote
this message to a WARNING and allow your design to continue.
< PIN "i2c_module/word_control/fsm/wr_rd_derived_clock_cb.O"
CLOCK_DEDICATED_ROUTE = FALSE; >
Все что написал он мне, я понял. Но извините, почему сигнал <mpi_rw> с выхода автомата состояний, который управляет записью в BLOCK RAM, был заведен в глобальный клоковый буфер?! Я сбит с толку, господа прошу разъяснить что не так и кто в этом виноват . И понятно, что можно использовать CLOCK_DEDICATED_ROUTE дабы перемолоть все вышеупомянутое, но это не по фэншую вроде бы как.