реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Миграция проекта Spartan 3 -> Spartan 6 прошла неудачно, плэйсер использует глобальный буфер
egorman44
сообщение Jul 21 2015, 13:31
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



Здравствуйте многоуважаемые форумчане.
Сегодня занялся переносом проекта со 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 дабы перемолоть все вышеупомянутое, но это не по фэншую вроде бы как.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Jul 21 2015, 20:02
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Думаю, в дизайне на самом деле используется gated clock, S3 умеет клоки цеплять к логике локально, а S6 - только глобально, отсюда проблемы.
Go to the top of the page
 
+Quote Post
AndreiUS
сообщение Jul 22 2015, 07:30
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 23-12-08
Из: Тверь
Пользователь №: 42 694



Было такое. Когда у неклокового сигнала слишком большой fanout, placer начинает вставлять глобальные буферы на этот сигнал. Уменьшайте fanout или вставляйте доп. регистры.
Go to the top of the page
 
+Quote Post
egorman44
сообщение Jul 22 2015, 09:00
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



Огромное спасибо за ответы. sm.gif

Цитата(AndreiUS @ Jul 22 2015, 10:30) *
Было такое. Когда у неклокового сигнала слишком большой fanout, placer начинает вставлять глобальные буферы на этот сигнал. Уменьшайте fanout или вставляйте доп. регистры.


Эта версия кажется мне правдоподобной.

Go to the top of the page
 
+Quote Post
TRILLER
сообщение Jul 22 2015, 09:02
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 180
Регистрация: 17-02-09
Из: Санкт-Петербург
Пользователь №: 45 001



Цитата(AndreiUS @ Jul 22 2015, 10:30) *
Было такое. Когда у неклокового сигнала слишком большой fanout, placer начинает вставлять глобальные буферы на этот сигнал. Уменьшайте fanout или вставляйте доп. регистры.

Тоже об этом подумал. Было такое, правда, не припомню при каких обстоятельствах. В большинстве случаев синтезатор сам доставляет регистры, если в настройках не лазить.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Jul 22 2015, 12:48
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(AndreiUS @ Jul 22 2015, 10:30) *
Было такое. Когда у неклокового сигнала слишком большой fanout, placer начинает вставлять глобальные буферы на этот сигнал. Уменьшайте fanout или вставляйте доп. регистры.

Какой-то дурной placer получается, зачем же он сам вставляет, и потом сам же ругается. Я наблюдал вставку глобального буфера с Латтисами, ошибок не было, но время прохождения сигнала существенно возрастало и не укладывалось в ограничения. Лечилось записью в констрейны запрета делать сигнал глобальным, у Ксайлинкса тоже должно быть подобное.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 04:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01389 секунд с 7
ELECTRONIX ©2004-2016