Перейти к содержанию
    

Счетчики с большой разрядностью

Ограничение в чём? В количестве входов элемента "И"?

В быстродействии, естественно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В быстродействии, естественно.

Так схема параллельного переноса как раз и нужна для снятия ограничений по скорости.

Как она может ограничить быстродействие? поясните.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так схема параллельного переноса как раз и нужна для снятия ограничений по скорости.

Как она может ограничить быстродействие? поясните.

Как последовательный перенос имеет некую задержку для создания переноса (особенно, для последнего разряда), так и параллельный перенос имеет задержку.

А что вам непонятно? Вы знаете, к примеру, 32-разрядный элемент "И"? Как его сделать в ПЛИС? Какое у него будет быстродействие?

А предыдущему триггеру нужна 31-разрядная схема "И", и т.п. Ох... много.

 

Поэтому и разбивают таймер на части, делают лишний такт при переходе с одной части на другую, зато считают долгие времена.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как последовательный перенос имеет некую задержку для создания переноса (особенно, для последнего разряда), так и параллельный перенос имеет задержку.

Всё имеет задержку, только разница в разы: для параллельной схемы задержка будет равна задержке одного разряда + задержка на "И", а в последовательной - суммарной задержке всех разрядов.

 

А что вам непонятно? Вы знаете, к примеру, 32-разрядный элемент "И"? Как его сделать в ПЛИС? Какое у него будет быстродействие?

Многовходовой "И" легко делается из нескольких меньших.

Последовательно-параллельный перенос тоже возможен. Для уменьшения используемых элементов. Но разве в современных ПЛИС (не знаком с ними) не хватит ресурсов на несколько полноценных 24-разрядных счётчиков с параллельным переносом???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё имеет задержку, только разница в разы: для параллельной схемы задержка будет равна задержке одного разряда + задержка на "И", а в последовательной - суммарной задержке всех разрядов.

Многовходовой "И" легко делается из нескольких меньших.

Когда будете делать слоеную "И", задержка составит не меньше чем n*dt, где n - число слоев. Тут все и полезет в сторону снижения частоты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В современных и несовременных ПЛИС есть специальные быстрые цепи последовательного переноса, благодаря чему таймер на 32 разряда получается быстрым безо всяких извращений.

А когда будете делать многовходовой И из многих малых, очень скоро быстродействие такого узла окажется хуже последовательного переноса в ПЛИС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда будете делать слоеную "И", задержка составит не меньше чем n*dt, где n - число слоев. Тут все и полезет в сторону снижения частоты.

Или я чего-то не понимаю или здесь клуб троллей... :wacko:

5-ти входовые "И" возможны? Если да, то для реализации на их основе 24-входового "И" достаточно всего 2-х(!) "слоёв".

Не 20-и, а всего-лишь 2-х, Карл! А это по задержке будет меньше чем один разряд счётчика.

 

А когда будете делать многовходовой И из многих малых, очень скоро быстродействие такого узла окажется хуже последовательного переноса в ПЛИС.

Каким образом задержка двух последовательных схем "И" может оказаться больше чем задержка последовательного переноса на 24 разрядах счётчика?

Каждый разряд счётчика состоит уже из нескольких последовательно включенных логических элементов.

Да, и автор говорил про 24-битный счётчик, а не 32-битный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или я чего-то не понимаю или здесь клуб троллей... :wacko:

5-ти входовые "И" возможны?

Нет. 4-входовые.

Если да, то для реализации на их основе 24-входового "И" достаточно всего 2-х(!) "слоёв".

Не 20-и, а всего-лишь 2-х, Карл! А это по задержке будет меньше чем один разряд счётчика.

Итого, 3. Но вы не учитываете задержки каналов, связывающих логические элементы. И задержек там будет, мама не горюй. А, поскольку количество каналов и логических элементов ограничено, там такая конструкция вырастет, что пол-ПЛИСы займет.

Мне только в кошмарном сне может присниться предлагаемое вами решение, реализованное в ПЛИС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда будете делать слоеную "И", задержка составит не меньше чем n*dt, где n - число слоев. Тут все и полезет в сторону снижения частоты.

Задержка не перейдёт в снижение частоты если после каждого слоя поставить тригер.

 

 

Нет. 4-входовые.

 

Если говорить за все современные ПЛИС - думаю у Xilinx всё же 6-входовые.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задержка не перейдёт в снижение частоты если после каждого слоя поставить тригер.

Такт потеряли. Желаете считать через такт-другой?

Если говорить за все современные ПЛИС - думаю у Xilinx всё же 6-входовые.

Ага, у них много чего есть, но цепи переносов не выбрасывают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такт потеряли. Желаете считать через такт-другой?

Желаю узнать результат с задержкой в такт - другой.

 

Ага, у них много чего есть, но цепи переносов не выбрасывают.

Не знаю, в чём проблемы иметь многоразрядный счётчик. В XC6SLX9 просто 32 разрядный счётчик спокойно считает на частоте 375МГц.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю, в чём проблемы иметь многоразрядный счётчик. В XC6SLX9 просто 32 разрядный счётчик спокойно считает на частоте 375МГц.

 

В седьмой серии на Artix (-1), 32 бит счетчик без проблем раскладывается на 150 МГц... На большей не проверял - не надо было...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно отмерить промежуток времени от события А до события Б с большой точностью (допустим, с точностью 100 МГц-го клока). Время между событиями составляет 500 000 +- 10 000 тактов 100 МГц. Получается счетчик на 3 байта.

 

Вообще-то достаточно одного 16битного счётчика, если вы измеряете диапазон 500 000 +- 10 000 тактов.

Если его запускать по событию А и останавливать по событию Б, то счётчик будет содержать время (0...65535)+458752 такта.

 

 

 

В седьмой серии на Artix (-1), 32 бит счетчик без проблем раскладывается на 150 МГц... На большей не проверял - не надо было...

module t1(input CLK100, output CLK2);
reg      [31:0] Count;
always @( posedge CLK100 )  begin Count<=Count+1;    end
assign CLK2=Count[31];
endmodule

XC6SLX9-2TTG144 Synthesizing:

# Registers : 32

Flip-Flops : 32

Speed Grade: -2

Minimum period: 2.654ns (Maximum Frequency: 376.861MHz)

----------------------------------------------------------------------------------------------------------
  Constraint                                |    Check    | Worst Case |  Best Case | Timing |   Timing   
                                            |             |    Slack   | Achievable | Errors |    Score   
----------------------------------------------------------------------------------------------------------
  TS_sys_clk_pin = PERIOD TIMEGRP "sys_clk_ | SETUP       |     0.430ns|     2.236ns|       0|           0
  pin" 375 MHz HIGH 50%                     | HOLD        |     0.465ns|            |       0|           0
                                            | MINPERIOD   |     0.000ns|     2.666ns|       0|           0
----------------------------------------------------------------------------------------------------------
All constraints were met.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я в Cyclone III делал таймер, цитирую свои комментарии:

Для EP3C5E144C8 при длине таймера LENTH получается следующая рабочая частота:

28 256.02 MHz

29 251.32 MHz

30 247.04 MHz

 

На стандартных последовательных переносах, jcxz!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

30 247.04 MHz

На стандартных последовательных переносах, jcxz!

Это надо читать как ~30ГГц ? Серьёзно? :wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...