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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Констрейны на глобальные сигналы: как правильно?, Сделать из багов фичи
des00
сообщение Jan 24 2012, 04:49
Сообщение #31


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(MHC @ Jan 23 2012, 10:57) *
по поводу "ячеек аппаратных сумматоров с быстрым переносом" -- это как?....

правильно ли я понимаю, что вопрос о реализации счетчиков на современных ПЛИС снят с повестки дня ? sm.gif

Если вы не против и вам не лень, то вот вам еще пищи для мозга, на сыклоне 1, 32 битный счетчик, описаный в коде как pipa <= pipa + 1'b1 свободно работал до частоты близкой к максимальной, на 2/3 сыклонах этого можно было добиться только с помощью дроблений счетчика на более мелкие. Опираясь на даташиты попробуйте ответить почему так.


--------------------
Go to the top of the page
 
+Quote Post
Мур
сообщение Jan 24 2012, 07:02
Сообщение #32


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(des00 @ Jan 24 2012, 07:49) *
...на 2/3 сыклонах этого можно было добиться только с помощью дроблений счетчика на более мелкие.

Ух ты!...
Простите, а где об этом можно почитать? Мне это предстоит как раз в ближайшие пару дней...

Спасибо! santa2.gif
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jan 24 2012, 07:13
Сообщение #33


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Мур @ Jan 24 2012, 11:02) *
Простите, а где об этом можно почитать? Мне это предстоит как раз в ближайшие пару дней...

Хотя бы в блоге у des00 в статье по timequest для чайников во второй части есть конкретный пример разбивки 32-разрядного на 2 16-разрядных sm.gif http://embedders.org/content/timequest-dly...-litsom-k-litsu
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 24 2012, 07:18
Сообщение #34


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Мур @ Jan 24 2012, 01:02) *
Простите, а где об этом можно почитать? Мне это предстоит как раз в ближайшие пару дней...

что там читать то, все на виду, первый код такого счетчика выложил на этом форуме уважаемый SM лет 7 назад, если мне память не изменяет
Код
logic [31 : 0] fcnt;
logic  [3 : 0] cnt   [0 : 7];
logic          carry [0 : 7];

always_ff @(posedge iclk) begin
  for (int i = 0; i < 8; i++) begin
    cnt[i]   <= (i == 0) ? (cnt + 1'b1) : (cnt + carry[i-1]);
    carry[i] <= (cnt[i] == 4'd14);
  end
end

assign fcnt <= {cnt[7], cnt[6], cnt[5], cnt[4], cnt[3], cnt[2], cnt[1], cnt[0]};


--------------------
Go to the top of the page
 
+Quote Post
Мур
сообщение Jan 24 2012, 09:11
Сообщение #35


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Да!.. Я Verilog не очень знаю. Идея формирования в явном виде переносов от 8ми 4-х разрядных счетчиков? Я пытался в Алдеке код пустить на симулятор.(Чтобы ничего не пропустить перед переводом в VHDL) При моем "знании" языка пустое занятие... Буду корячиться!

Спасибо огромное!
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jan 24 2012, 09:28
Сообщение #36


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Мур @ Jan 24 2012, 13:11) *
Да!.. Я Verilog не очень знаю.

Так это и на схематике просто сделать - формируется обычный счетчик и при достижении максимального значения - 1, скажем, формируется флаг разрешения счета (в виде триггера) для следующего счетчика. Так они последовательно и будут соединены. Общий счетчик - конкатенация отдельных.
Go to the top of the page
 
+Quote Post
Мур
сообщение Jan 24 2012, 12:30
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(bogaev_roman @ Jan 24 2012, 12:28) *
Так это и на схематике просто сделать - формируется обычный счетчик и при достижении максимального значения - 1, скажем, формируется флаг разрешения счета (в виде триггера) для следующего счетчика. Так они последовательно и будут соединены. Общий счетчик - конкатенация отдельных.

Все замечательно!.. Буду в железо заливать..
Прикрепленные файлы
Прикрепленный файл  cnt16.vhd ( 2.96 килобайт ) Кол-во скачиваний: 32
 
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Jan 24 2012, 18:25
Сообщение #38


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Я смотрю, тема ушла не то, чтобы не туда, а прямо совсем не туда sm.gif.

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

то исходная тема себя исчерпала.
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 28 2012, 18:33
Сообщение #39


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



недавно решал похожую задачу, есть дсп блок, с него шина 36 бит идет на регистр, потом на 16 аккумуляторов, никак квартус не мог это место автоматом разрулить (а надо то всего поставить 2 регистра). Использование manual logic duplication тоже не помогло. В итоге maxfanout 8 быстро и однозначно решил вопрос %) (190МГц на С8, занятость 76%)

В случе ТС, можно сделать maxfanout = 1, может помочь %)


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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