Kostochkin 0 March 25 Posted March 25 · Report post Добрый день. Допустим в проекте есть счётчик на 32 бита: logic [31:0] cnt; always_ff @(posedge clock_i or negedge arstn_i) begin if (!arstn_i) begin cnt <= '0; end else begin cnt <= cnt + 1'b1; end end Максимальная частота работы допустим 300МГц. Есть какие-то методы, чтобы повысить максимальную частоту работы такого счётчика допустим до 350МГц без смены плис? Благодарю. Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 36 March 25 Posted March 25 · Report post 1 hour ago, Kostochkin said: Есть какие-то методы, чтобы повысить максимальную частоту работы такого счётчика допустим до 350МГц без смены плис? Поставить два 16-битных счётчика друг за другом Реализовать счетчик на DSP48 Quote Share this post Link to post Share on other sites More sharing options...
iosifk 3 March 25 Posted March 25 · Report post Применяем другую тактику.,,. Делаем предварительный счетчик на 5 бит. С него выделяем сигнал окончания счета, это когда он досчитает до 32-х и обнулится. Ну а дальше автомат и память. Оставшиеся биты 32-5 делим примерно так: автомат делаем на 4-5 тактов, тогда можно а автомате иметь аккумулчтор на 4 разряда. Или автомат на 6 тактов, тогда аккумулятор на 5 разрядов. Память распределенная быстрая и однотактовая. Ну и автомат работает как программно-управляемый счетчик в 4-х разрядном микроконтроллере. Да, еще нужен флаг переноса. Один или несколько. Итого имеем: предварительный счетчик 5 разрядов, аккумулятор 5 разрядов, указатель адреса 3 разряда, флаг переноса. Самое медленное это память, но всегда можно увеличить рвзрядность предварительного счетчика, чтобы подобрать время для памяти. Так-то слов много, но ресурс требуется крошечный, уж куда меньше синхронного счетчика... Quote Share this post Link to post Share on other sites More sharing options...
blackfin 58 March 25 Posted March 25 · Report post On 3/25/2025 at 10:55 AM, Kostochkin said: Есть какие-то методы, чтобы повысить максимальную частоту работы такого счётчика допустим до 350МГц без смены плис? Была уже такая тема: On 4/5/2020 at 3:06 PM, RobFPGA said: ... если скорости не хватает то основная техника ускорения это pipeline счетчика - разбиваем счетчик на 2 ( или более) меньших по разрядности с регистром в цепи переноса в старшие разряды и проблем нет. Quote Share this post Link to post Share on other sites More sharing options...
Kostochkin 0 March 25 Posted March 25 · Report post Спасибо за ответы. После счетчика стоит 32битный компаратор, который тоже медленно работает, как можно его ускорить? Quote Share this post Link to post Share on other sites More sharing options...
looser 12 March 25 Posted March 25 · Report post 25 минут назад, Kostochkin сказал: Спасибо за ответы. После счетчика стоит 32битный компаратор, который тоже медленно работает, как можно его ускорить? Поразрядный xor работает медленно? Quote Share this post Link to post Share on other sites More sharing options...
Kostochkin 0 March 25 Posted March 25 · Report post Ну хотелось бы побыстрее.. Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 36 March 25 Posted March 25 · Report post 1 hour ago, Kostochkin said: После счетчика стоит 32битный компаратор, который тоже медленно работает, как можно его ускорить? Компарировать по 4 или 6 бита. Далее регистр. Опять компарировать по 4 или 6 бита. 6 бит поможет если хилинкс. Возможно СЕ - бит для LUT Quote Share this post Link to post Share on other sites More sharing options...
andrew_b 23 March 26 Posted March 26 · Report post 10 hours ago, Kostochkin said: Ну хотелось бы побыстрее.. Поставить после (или перед) несколько регистров и включить ретайминг. Quote Share this post Link to post Share on other sites More sharing options...
Мур 2 March 29 Posted March 29 · Report post On 3/25/2025 at 9:33 PM, Kostochkin said: Ну хотелось бы побыстрее.. В особо тонких местах ставлю счетчики на сдвиговых регистрах... Выигрыш ощущается сразу Quote Share this post Link to post Share on other sites More sharing options...
thermit 1 March 29 Posted March 29 · Report post 11 часов назад, Мур сказал: В особо тонких местах ставлю счетчики на сдвиговых регистрах... Выигрыш ощущается сразу Ну 32-бит не на пустом месте возник. А так-то да. Двигай - не хочу. Quote Share this post Link to post Share on other sites More sharing options...
Kostochkin 0 March 29 Posted March 29 · Report post Благодарю всех за ответы. Quote Share this post Link to post Share on other sites More sharing options...
tegumay 4 April 5 Posted April 5 · Report post тут надо уточнять - допустим ли конвеер.. и задержка на такты. ну и вопрос надежности. Quote Share this post Link to post Share on other sites More sharing options...