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

 
 
> Внутренний сигнал FPGA с большой нагрузкой, Как это корректно реализуется?
Волощенко
сообщение Jun 27 2007, 06:25
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377



1. Если один и тот же внутренний сигнал используется во многих логических узлах, т.е. имеет большую (многочисленную и разветвленную) нагрузку, то стоит ли самому заботиться о том, чтобы этот сигнал разгрузить, делая, например, каскады буферных повторителей (или вводя вспомогательные сигналы), или система проектирования сама выполняет это за нас?
2. Есть ли особенности по этой части для систем MAX+plus II, Quartus II и Xilinx ISE?
Понятно, что чипы имеют глобальные входы, но речь не о них, а о простых внутренних сигналах. Просто просматривая документацию, не встречал ни разу каких либо соображений по этому вопросу.
Спасибо за ответ.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
LeonY
сообщение Jun 27 2007, 12:33
Сообщение #2


Знающий
****

Группа: Админы
Сообщений: 689
Регистрация: 24-06-04
Из: South Africa
Пользователь №: 164



max_fanout часто нужен, особенно на устройствах Actel (antifuse) - там никаких коммутаторов-мультиплексоров нет и в помине (проволочки - fuse). В эпоху схемных дизайнов и хилых устройств с 1 - 2 глобальными цепями приходилось за буферированием следить вручную. Теперича эта проблема отходит на задний план, т.к. устройства стали побогаче и редко кто чего делает как схему, а умный синтезатор за этим сам следит. Не очень понял пример с
"clock enable". Тут есть пара-другая вопросов. Например такой: использование всяческих "clock enable" является порочной практикой изначально (gated clock), поэтому отстаньте от бедного синтезатора - он не умеет ХОРОШО упихивать ПЛОХИЕ проекты. Не воспринимайте, пожалуйста, это как личный выпад, сам иногда использую такие штуки (например, когда места на кристале не хватает и хоть застрелись), но делать это надо сознательно и очень осторожно, а лучше не делать.


--------------------
"В мире есть две бесконечные вещи: Вселенная и человеческая глупость. За Вселенную, впрочем, поручиться не могу". (С)

А. Эйнштейн.
Go to the top of the page
 
+Quote Post
dxp
сообщение Jun 27 2007, 13:04
Сообщение #3


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(LeonY @ Jun 27 2007, 19:33) *
max_fanout часто нужен, особенно на устройствах Actel (antifuse) - там никаких коммутаторов-мультиплексоров нет и в помине (проволочки - fuse). В эпоху схемных дизайнов и хилых устройств с 1 - 2 глобальными цепями приходилось за буферированием следить вручную. Теперича эта проблема отходит на задний план, т.к. устройства стали побогаче и редко кто чего делает как схему, а умный синтезатор за этим сам следит.

Про пережигаемые речь не идет. Речь об FPGA, в которой вся схема межсоединений строится на мультиплексорах, а мультиплексор сам по себе какой-никакой буфер.

Цитата(LeonY @ Jun 27 2007, 19:33) *
Не очень понял пример с
"clock enable". Тут есть пара-другая вопросов. Например такой: использование всяческих "clock enable" является порочной практикой изначально (gated clock), поэтому отстаньте от бедного синтезатора - он не умеет ХОРОШО упихивать ПЛОХИЕ проекты. Не воспринимайте, пожалуйста, это как личный выпад, сам иногда использую такие штуки (например, когда места на кристале не хватает и хоть застрелись), но делать это надо сознательно и очень осторожно, а лучше не делать.

То есть как? Вот такой простой и валидный код:
Код
reg a;
reg enable;
reg result;
always @(posedge clk) begin
    if(enable) result <= a;
end

порождает clock enable. Что тут ненормального или ПЛОХОГО? И как вообще без clock enable реализовать такую функциональность?

Что касается мультициклов, то и это тоже, насколько мне известно, не является плохим подходом - если часть дизайна не может и не должна работать на самой высокой тактовой, но при этом не хочется делать разные клоковые домены, то обконстрейнить мультициклами - самое оно. В чем криминал?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Волощенко   Внутренний сигнал FPGA с большой нагрузкой   Jun 27 2007, 06:25
- - dxp   Цитата(Волощенко @ Jun 27 2007, 13:25) 1....   Jun 27 2007, 07:12
|- - andrew_b   Цитата(dxp @ Jun 27 2007, 10:12) о коэффи...   Jun 27 2007, 07:16
|- - Волощенко   Спасибо за ответы! Цитата(dxp @ Jun 27 20...   Jun 27 2007, 07:54
|- - dxp   Цитата(Волощенко @ Jun 27 2007, 14:54) Ес...   Jun 27 2007, 08:59
- - DSIoffe   ЦитатаКонстрейн в синтезаторе max_fanout Во-во, по...   Jun 27 2007, 09:36
|- - andrew_b   Цитата(DSIoffe @ Jun 27 2007, 12:36) Во-в...   Jun 27 2007, 10:14
|- - dxp   Цитата(andrew_b @ Jun 27 2007, 17:14) При...   Jun 27 2007, 10:44
|- - andrew_b   Цитата(dxp @ Jun 27 2007, 13:44) На что в...   Jun 27 2007, 13:25
- - RKOB   Значениеe MAX_FANOUT (default): = 100 для Virtex, ...   Jun 27 2007, 13:14
- - LeonY   ЦитатаПро пережигаемые речь не идет. Речь об FPGA,...   Jun 27 2007, 14:12
- - des00   думаю что к рассматриваемому примеру max_fanout пр...   Jun 28 2007, 03:27
- - TailWind   Самостоятельно можно размножать триггер с которого...   Jun 28 2007, 06:50


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 06:10
Рейтинг@Mail.ru


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