Форум по Роботика

Технически форум => Електроника => Темата е започната от: ralceto в Декември 13, 2010, 08:30:17 pm

Титла: Аритметико логическо устройство
Публикувано от: ralceto в Декември 13, 2010, 08:30:17 pm
Здравейте колеги, значи трябва да направя цифрова схема която да реализира аритметико логически операций. Някой може ли да ми помогне с нещо???
Титла: Аритметико логическо устройство
Публикувано от: kotaraka в Декември 13, 2010, 09:04:26 pm
Доста хора могат да ти помогнат с доста неща стига да дадеш малко повече подробности.
Титла: Аритметико логическо устройство
Публикувано от: ralceto в Декември 13, 2010, 09:48:46 pm
ами схемата трябва да се направи със CircuitMaker, трябва да съдържа аритметико-логическо устройство, което да изпълнява операциите събиране, изваждане, умножение, деление и сравняване на две числа.
Ето това е една схема на АЛУ: http://img263.imageshack.us/img263/4556/2bitalu.png но не знам как да я реализирам и дали изобщо ще ми свърши работа?
Титла: Аритметико логическо устройство
Публикувано от: sv_shady в Декември 14, 2010, 11:47:47 am
Ами с повече от схема не вярвам някой да може да ти помогне, просто трбва да седнеш и да почетеш това онова и да я натракаш в Circuit Maker-a. Важно е да кажеш колко битови трябва да са променливите. Има купища схеми и информация в нета. Търси за отделните модули отделни схеми и накрая само с един мултиплексор можеш да ги събереш. Не знам това курсова работа или диплома ли е, но без усилия от твоя страна няма да стане :)
Титла: Аритметико логическо устройство
Публикувано от: westsiderz в Декември 14, 2010, 09:30:02 pm
Виж тези теми във форума:
http://robotics-bg.com/forum/viewtopic.php?t=877
http://robotics-bg.com/forum/viewtopic.php?t=919
http://robotics-bg.com/forum/viewtopic.php?t=1177&sid=967a42a9cc3e01dc641d2cd0464317e8

И аз ще гледам да помагам с каквото мога.
Тук има една схема за логическа събиране: http://www.play-hookey.com/digital/adder.html Към нея има и обяснение на английски. Погледни схемата най-отдолу. Елемента наречен Full Adder е логическата единица, която изпълнява събирането на два бита. Колкото повече от този елемент навържеш по начина показан на схемата, толкова повече битове може да събереш. 74HC283 ИС-то е схема, съдържаща 4 такива Full Adders. Аi са за битовете на първото числе, Bi са за битовете на второто числе. Si са за резултата, а C ти е carry bit, т.е. ако имаш остатък от едно, се съдържа в него. Ако навържеш два такива по начина, който съм показал тук:
(http://img262.imageshack.us/img262/9076/adder.png) (http://img262.imageshack.us/i/adder.png/)

Uploaded with ImageShack.us (http://imageshack.us)
ще получиш 8битов събирач.
За повече инфо ми пиши. Ще гледам да ти намеря и другите схеми.
Титла: Аритметико логическо устройство
Публикувано от: ralceto в Декември 15, 2010, 07:51:49 pm
Много ти благодаря за помощта колега, снощи неможах да влезна във форума, но тази вечер съм на линия и веднага се захващам за работа  ;)  благодаря ти още веднъж  :clap:
Титла: Аритметико логическо устройство
Публикувано от: westsiderz в Декември 15, 2010, 10:13:11 pm
Здравей колега! Относно първата схема, която съм дал. Там добави още един извод към С4-то на долния Adder защото и на него може да имаш стойност в зависимост дали резултата е 8 или 9 битов. Надявам се, че горе-долу си добил представа за схемата и как става логическото събиране. Прочети и нещата, за които съм дал линк. Сега тук ти давам и схема, която се справя с логическото изваждане.

(http://img255.imageshack.us/img255/3452/subbs.png) (http://img255.imageshack.us/i/subbs.png/)

Ако отвориш този линк: http://www.play-hookey.com/digital/binary_subtraction.htmл  ще намериш по-подробна информация относно това. Относно схемата. Тук логиката е следната. Изваждането става така: А - Б = А+(-Б). Това значи че трябва да вземеш отрицателното на Б. Това става като вземеш complimentary-то(извинявай но не знам как точно се казва това на български) на Б и към него добавиш 1. Тоест ако 1 се записва като 00000001, след вземане на complimentary имаш 11111110 и когато добавиш 1 става 11111111. Тоест -1 = 11111111. Чрез използването на XOR Gates и логическа 1  на Control входа, ще имаш отрицателното число. Остава ти само да го събереш с А. А това както вече знаеш става с Full Adders. Тази схема работи само за числа с определен знак (signed). Тоест при тези числа най- старшия бит показва знака пред числото дали е + или - Ако имаш 1 като най-старши значи е отрицателно число. 0 пък показва, че е положително.
Примерно 00000001 е = 1 а 11111111 = -1. За повече инфо виж и линковете към другите постове.  Та за схемата, която съм постнал: при нея ще изваждаш В от А. В R ще имаш резултата. Control бита трябва да ти бъде 1.

Дано да съм бил полезен. Относно схемите за логическо умножение и деление: Тези схеми са много сложни. Ще видя ако мога да намеря нещо. Събота - Неделя ако съм по свободен ще се поразровя из нета да видя какво има.