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

 
 
> Подсчет нулей или единиц
Egel
сообщение May 13 2009, 09:52
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 162
Регистрация: 28-07-08
Из: Химки
Пользователь №: 39 244



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


Спасибо огромное заранее
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Egel
сообщение May 13 2009, 10:34
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 162
Регистрация: 28-07-08
Из: Химки
Пользователь №: 39 244



На одном сумматоре вообще абсурдно пытаться сделать??
Go to the top of the page
 
+Quote Post
SM
сообщение May 13 2009, 10:44
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Egel @ May 13 2009, 14:34) *
На одном сумматоре вообще абсурдно пытаться сделать??

Легко. Если он имеет достаточную разрядность (на вскидку - 183 бита). Заводя его выходы на его же входы по приведенной мной выше схеме.

А эффективнее всего это делать на дереве полных сумматоров с использованием их входов переносов, подавая везде на перенос один бит входных данных. Таким образом первый уровень будет принимать 3*N бит данных и состоять из однобитных сумматоров, второй - состоять из двухбитных, и принимать N/2 бит (по кол-ву входов переносов сумматоров), и так далее. Проверено, синтезаторы (Quartus, DC и Synplify) не умеют оптимизировать такую структуру в такое дерево.
Go to the top of the page
 
+Quote Post
Artem_Petrik
сообщение May 13 2009, 18:01
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



Цитата(SM @ May 13 2009, 13:44) *
А эффективнее всего это делать на дереве полных сумматоров с использованием их входов переносов, подавая везде на перенос один бит входных данных.


Как раз с полными сумматорами здесь не очень-то получается, по крайней мере на Альтере. Похоже, что есть ограничения на то, откуда можно подавать данные на вход переноса в альтеровской LE. Получается, что если туда подается сигнал не с выхода переноса соседней ячейки, то приходится задействовать еще одну LE. А в этом случае уже более оптимальным получается дерево, имеющее полусумматоры на первом сложении (лучше 2 полусумматора, чем один полный).
Go to the top of the page
 
+Quote Post
des00
сообщение May 14 2009, 04:01
Сообщение #5


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

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



Цитата(Artem_Petrik @ May 13 2009, 13:01) *
Как раз с полными сумматорами здесь не очень-то получается, по крайней мере на Альтере. Похоже, что есть ограничения на то, откуда можно подавать данные на вход переноса в альтеровской LE. Получается, что если туда подается сигнал не с выхода переноса соседней ячейки, то приходится задействовать еще одну LE. А в этом случае уже более оптимальным получается дерево, имеющее полусумматоры на первом сложении (лучше 2 полусумматора, чем один полный).


а можно пример ? для наглядности пусть будет 64-х битный вектор и сравните результат синтеза с http://electronix.ru/forum/index.php?showt...st&p=549588

вопрос возник не просто так. простой оценочный расчет для альетры схемы на полусуматорах 32*1 + 16*2 + 8*3 + 4*4 + 2*5 + 1*6 = 120 ячеек, схемы на "нечестных" полных сумматорах 16*2 + 8*4 + 4*5 + 2*6 + 1*7 = 103 ячейки. Сделал как вы предлагаете (если я вас правильно понял) и квартус со мной согласился smile.gif


--------------------
Go to the top of the page
 
+Quote Post
Artem_Petrik
сообщение May 14 2009, 16:40
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



Цитата(des00 @ May 14 2009, 07:01) *
вопрос возник не просто так. простой оценочный расчет для альетры схемы на полусуматорах 32*1 + 16*2 + 8*3 + 4*4 + 2*5 + 1*6 = 120 ячеек, схемы на "нечестных" полных сумматорах 16*2 + 8*4 + 4*5 + 2*6 + 1*7 = 103 ячейки.

Да, вы правы, полные сумматоры лучше. Просто показалось что будет лучше на двух LE сложить 4 бита вместо трех, а оказалось, что все не так просто. Виноват, был неправ.

Цитата(des00 @ May 14 2009, 07:01) *
и квартус со мной согласился

Ага, так вы с ним заодно! biggrin.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Egel   Подсчет нулей или единиц   May 13 2009, 09:52
- - Oldring   Цитата(Egel @ May 13 2009, 13:52) Подскаж...   May 13 2009, 10:02
- - SM   assign temp_a = (in_data & 64'h55555555555...   May 13 2009, 10:08
|- - des333   Цитата(SM @ May 13 2009, 14:08) assign te...   May 13 2009, 10:51
|- - des00   Цитата(SM @ May 13 2009, 04:44) Проверено...   May 13 2009, 11:09
|- - SM   Цитата(Artem_Petrik @ May 13 2009, 22:01)...   May 13 2009, 21:12
|- - SM   Цитата(Artem_Petrik @ May 14 2009, 20:40)...   May 14 2009, 18:06
|- - Maverick   В книге Shevkoplias "Microprocessornye Struct...   May 15 2009, 05:01
|- - SM   Цитата(Maverick @ May 15 2009, 09:01) Выр...   May 15 2009, 05:41
|- - Oldring   Цитата(SM @ May 15 2009, 09:41) Она, пожа...   May 15 2009, 10:51
||- - SM   Цитата(Oldring @ May 15 2009, 14:51) по т...   May 15 2009, 10:53
|- - sazh   Цитата(SM @ May 15 2009, 09:41) Эту схему...   May 15 2009, 11:20
||- - Maverick   Цитата(SM @ May 15 2009, 08:41) Эту схему...   May 15 2009, 12:49
||- - SM   Цитата(Maverick @ May 15 2009, 16:49) Что...   May 15 2009, 14:13
|- - des333   Цитата(SM @ May 15 2009, 09:41) Эту схему...   May 15 2009, 16:05
|- - SM   Цитата(des333 @ May 15 2009, 20:05) Я дум...   May 15 2009, 16:21
|- - Maverick   Цитата(des333 @ May 15 2009, 19:05) Я дум...   May 16 2009, 15:55
|- - SM   Цитата(Maverick @ May 16 2009, 19:55) реа...   May 17 2009, 14:12
|- - Maverick   Цитата(SM @ May 17 2009, 17:12) Исходя из...   May 17 2009, 15:25
- - PeterD   А так? always @(posedge clk) begin one [7:0] = in...   May 13 2009, 10:52
- - Egel   Но какие частоты будут с 180 разрядным сумматором?...   May 13 2009, 10:56
|- - SM   Цитата(Egel @ May 13 2009, 14:52) Но каки...   May 13 2009, 10:58
|- - SM   Цитата(Egel @ May 13 2009, 14:56) Надо вс...   May 13 2009, 11:03
- - Egel   Всем огромное спасибо. Очень сильно помогли   May 13 2009, 11:01
- - Postoroniy_V   2 Admin ИМХО популярная тема у народа, может того ...   May 13 2009, 13:29
- - Leka   А я поспорю Весь проект написаный в таком стиле,...   May 15 2009, 11:11
- - Oldring   Цитата(Leka @ May 15 2009, 15:11) А я пос...   May 15 2009, 11:18
- - Leka   Цитата(Oldring @ May 15 2009, 15:18) То е...   May 15 2009, 11:39


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

 


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


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