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

Вот именно что вы долбаетесь - а вы проанализируйте ситуацию. Я вам дал код - он устраивает? Если нет, он лучше? Если лучше, то за счет чего? Непонять так - отсинтезировали, посмотрели RTL схему. Поняли. Нельзя ли это улучшение использовать еще раз? Можно. Вот и действуйте.

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


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

Скажите, пожалуйста, а если я включил в квартусе Physycal Syntesys Optimization и частота почти стала равна нужной мне, то схема в железке с ума не будет на ровном месте сходить? :)

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


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

Похоже, это предел работы для MAX. Если показывает частоту 130 MHz, то только такую и можно гарантировать рабочей. Все "извращения" мало чего дадут.

Нужно изменить требования задания. Например, зачем счетчик на 24 разряда? Если вход 8-разрядный. Значит, когда-то куда-то подсчитанное значение забрасывается? Чаще забрасывайте, а разрядность уменьшите.

 

 

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


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

Скажите, пожалуйста, а если я включил в квартусе Physycal Syntesys Optimization и частота почти стала равна нужной мне, то схема в железке с ума не будет на ровном месте сходить? :)

 

Я ж Вам на пятерке под 200 сделал.

 

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


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

Я ж Вам на пятерке под 200 сделал.

но за два такта :)

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


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

но за два такта :)

 

Нет никаких проблем ссделать счетчик хоть на 64 разряда с быстродействием

сравнимым с 2-х разрядным регистром сдвига.

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


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

Нет никаких проблем ссделать счетчик хоть на 64 разряда с быстродействием

сравнимым с 2-х разрядным регистром сдвига.

Как это? А распространение переносов по всем разрядам счетчика?

Например 0xffffffffffffffff + 1

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


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

За один такт. В конвейере.

Это вопрос терминологии. У вас в каждом такте будет выдаваться результат. Причем, старшая часть будет содержать результат от предыдущего суммирования, а младшая от последнего.

Чтобы их выровнять, неплохо бы и младшую часть результата задержать на такт.

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


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

Как это? А распространение переносов по всем разрядам счетчика?

Например 0xffffffffffffffff + 1

 

 

Распространение переноса надо уметь готовить и счетчик колоть на части.

 

Вот покопался и нашел проектик 2003 года (MAX+PLUS II/AHDL/GDF), просинтезил

Вот результаты:

 

- synchronous 64-bit loadable, down counter, asynch. reset

205,75 MHz для EPM1270F256A5 по Classic Timing Analyzer (Quartus 9.0)

 

P.S.

TimeQuest показал 300.03 MHz.

Кому верить не знаю - Altera давно не занимаюсь.

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


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

...и счетчик колоть на части.

Правильно, так можно и на 1024 разряда сделать счетчик. С конвейером. С латентностью.

Автор темы хотел за такт получать результат.

Как пример, можно обычных микросхем - счетчиков соединить друг за другом, выход предыдущего - на клок следующего. И - никаких проблем с быстродействием. Весь счетчик будет считать на максимальной рабочей частоте, как для одной микросхемы.

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


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

Правильно, так можно и на 1024 разряда сделать счетчик. С конвейером. С латентностью.

Автор темы хотел за такт получать результат.

Как пример, можно обычных микросхем - счетчиков соединить друг за другом, выход предыдущего - на клок следующего. И - никаких проблем с быстродействием. Весь счетчик будет считать на максимальной рабочей частоте, как для одной микросхемы.

 

"выход предыдущего на клок следующего" и не будет синхронного счетчика - со всеми вытекающими....

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


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

"выход предыдущего на клок следующего" и не будет синхронного счетчика - со всеми вытекающими....

А с остальными доводами - согласны?

Не обязательно так, как написал, делать. Есть сигнал переноса у счетчика. Его подавать на разрешение следующей микросхемы. А чтобы эти сигналы все были короткими (один период тактовой частоты), их можно на триггерах формировать.

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


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

А с остальными доводами - согласны?

 

Правильно, так можно и на 1024 разряда сделать счетчик. С конвейером.

 

С этим согласен. С конвеером для переноса. При чем тут латентность не понял...

 

TOPICSTARTER-у

 

Интересная ссылка

http://www.aoki.ecei.tohoku.ac.jp/arith/mg/index.html

 

Сгенерите себе, что Вам больше подходит.

Ну и промоделировать не мешает, конечно...

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


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

Чтобы их выровнять, неплохо бы и младшую часть результата задержать на такт.

 

Может промоделируете, а потом уж советы?

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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