Jump to content

    
Sign in to follow this  
lotor

Подсчет количества единиц

Recommended Posts

rv3dll(lex), всё-таки Вы назвали специфические задачи. Вся соль в том, что с чем работаешь, то и знаешь, то и изучаешь. В моей практики с рассыпухой приходилось иметь дело разве что в этом пресловутом курсовике (я не беру в расчет примитивы аля использование буферов для согласования уровней). Вы начинали свой путь разработчику в эпоху цифровых систем, я же - микропроцессорных. Надеюсь понятно, что я хотел донести. =)

 

PS хочется верить, что когда в следующий раз я буду нуждаться в советах и свежих идеях, уважаемые Herz, rv3dll(lex) (простите, если кого забыл), опустят в своих ответах абзацы, посвященные оценки автора. =))

Edited by Lotor

Share this post


Link to post
Share on other sites
PS хочется верить, что когда в следующий раз я буду нуждаться в советах и свежих идеях, уважаемые Herz, rv3dll(lex) (простите, если кого забыл), опустят в своих ответах абзацы, посвященные оценки автора. =))

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

Share this post


Link to post
Share on other sites
rv3dll(lex), всё-таки Вы назвали специфические задачи.

 

хм))) ты ещё не знаешь что профессор может попросить в следующий раз

 

например специфичная задача - определение числа единиц требуется каждые 1/30000000 секунды.

 

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

 

а так в один порт записал - с другого считал, если скорость порта позволит - типа аппаратный ускоритель

Share this post


Link to post
Share on other sites

Извиняюсь за реанимацию.

Я не студент. Но студент просит, а у меня в голове сложится ничего не может... Эх, молодость, давненько я не работал с логическими схемами.

Нужно с помщью сумматоров получить кол-во бит в 12-разрядном слове в удобоваримой форме, например, в коде 1-2-4-8. На вскидку 4-х разрядный сумматор не подходит, т.к. вес рязрядов одинаковый. Значит, нужны одноразрядные сумматоры, тира 155ИМ1. А вот дальше красиво сложить не получается...

Какие мысли? Направьте на путь истинный, т.к. путёвого в голову ничего не лезет.

Share this post


Link to post
Share on other sites
Нужно с помщью сумматоров получить кол-во бит в 12-разрядном слове

Ответ 12?

Или нужно количество единичных/нулевых бит? И только на сумматорах?

Тогда берем 6 одноразрядных-сумматоров и складываем два соседних бита - получаем 6 двухразрядных чисел.

Затем попарно складываем эти числа при помощи 3-х двухразрядных-сумматоров - получем 3 трехразрядных числа.

Складывем первое и второе число - получем четырехразрядный резыльтат, который складывем с оставшимся третим трехразрядным числом -

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

a0 - \
       + = \
a1 - /      \
              + = \
a2 - \      /      \
       + = /       \
a3 - /              \
                      + = + = результат
a4 - \              /      /
       + = \       /      /
a5 - /      \      /      /
              + = /       /
a6 - \      /             /
       + = /             /
a7 - /                   /
a8 - \                  /
       + = \          /
a9 - /       \       /
               + = /
a10 - \      /
         + = /
a11 - /

Share this post


Link to post
Share on other sites

Стандартный 4-разрядный 74HC283 в количестве 5 шт. как раз подходит — каждым из первой ступени посчитать суммы 3-х и 2-х бит, каждым из второй ступени сложить результаты с ещё одним битом, и пятым сумматором получить ответ.

Share this post


Link to post
Share on other sites

А можно и так, если задействовать логику переноса:

a0 - A \
a1 - B + = A \ 
a2 - C /      \
a3 ------- B  + = A \ 
a4 ------- C /       \
a5 -------------- B  + = A \
a6 -------------- C /       \
a7 --------------------- B  + = A \
a8 --------------------- C  /      \
a9 ---------------------------  B  + = A \
a10 --------------------------  C /        + = результат
a11 ---------------------------------- B /

 

Share this post


Link to post
Share on other sites
Стандартный 4-разрядный 74HC283 в количестве 5 шт. как раз подходит — каждым из первой ступени посчитать суммы 3-х и 2-х бит, каждым из второй ступени сложить результаты с ещё одним битом, и пятым сумматором получить ответ.

А по моему, на первой ступени должны стоять 4 одноразрядных (типа 555ИМ5, там их 2 в корпусе), которые с учётом входного бита переноса покроют 12 бит. Для второй тоже можно поставить 2 ИМ5 (либо ИМ6/283), изобразив 2 2-разрядных, получив 1-2-4 каждой половинки. А для третей уже 1 3-разрядный ИМ6/283, который сложит 1-2-4 этих половинок. Похоже?

Share this post


Link to post
Share on other sites
Похоже, но это решение в мечтах или на бумаге, потому что 74LS183 осталась в прошлом веке.

Естественно на бумаге. Таково задание. Там ещё индикация на 2-х семисегментниках.

Я поначалу предложил 2764 и 2 LED, однако преподаватель оказался действительно из прошлого века.)) Пришлось вспомнить молодость)).

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this