Digitalteknik/digitalakretsar frågor!

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
makrocell
Inlägg: 7
Blev medlem: 23 augusti 2012, 18:52:56

Digitalteknik/digitalakretsar frågor!

Inlägg av makrocell »

.
Senast redigerad av makrocell 28 augusti 2012, 23:00:58, redigerad totalt 1 gång.
Användarvisningsbild
jesse
Inlägg: 9241
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av jesse »

a) X*Y=X*Z ---> Y=Z

märklig fråga. Vad betyder tecknen + och * ?

Om det är vanlig addition och multiplikation så är det ju helt irrelevant om talen är "binära", eller representeras på ett annat sätt. matematiken är densamma, och i så fall gäller resonemanget så länge X inte är 0. Beviset för det hör knappast hemma i digitalteknik utan snarare i "linjär algebra".

Om det betyder AND och OR så är ju frågan: vadå "binära tal"? Är det flera bitar och + och * är bitvisa operander (som i programmeringsspråket C)....

Har jag missuppfattat totalt vad det här handlar om? :humm:
sodjan
EF Sponsor
Inlägg: 43289
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av sodjan »

Syftet med ett prov i digitalteknik är väl att "mäta" dina kunskaper,
inte kolla snabbt man kan få svar på ett forum. Men jag är väl
bara gammalmodig... :-) :-)
Användarvisningsbild
Klas-Kenny
Inlägg: 11991
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av Klas-Kenny »

Fråga ett: Gör en sanningstabell över de båda så ser du om det stämmer och får bevis på det.
makrocell
Inlägg: 7
Blev medlem: 23 augusti 2012, 18:52:56

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av makrocell »

Antar att det menas att variablerna bara kan anta värde 1 eller 0.
Har fått lite hjälp men tänker så här!
a)
Om vi sätter X=1, Y=1 och Z=0. Då är X+Y=1 och X+Y=1 men Y!=Z.

b) på samma sätt här genom att sätta X=0, Y=0 och Z=1?

Då är ju X*Y=0 och X*Z=0 men Y!=Z Eller?


Klas-Kenny: Hur gör jag en sanningstabell när jag inte vet vad variablerna ska vara (dum fråga kanske)? Hur menar du?

Tack för svar för övrigt!


/makrocell
Användarvisningsbild
jesse
Inlägg: 9241
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av jesse »

>Antar att det menas att variablerna bara kan anta värde 1 eller 0.
OK, boolsk algebra med andra ord.

Och du löser ju uppgiften bra!

Adderaren verkar svårare...
Användarvisningsbild
prototypen
Inlägg: 11108
Blev medlem: 6 augusti 2006, 13:25:04
Ort: umeå

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av prototypen »

Halv adderaren består av en EX-OR grind (går att realisera med NAND grindar) för summan och en AND för carry.
Heladderaren består av lite fler pryttlar.
Se på Wikipedia http://sv.wikipedia.org/wiki/Adderare

Protte
makrocell
Inlägg: 7
Blev medlem: 23 augusti 2012, 18:52:56

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av makrocell »

Tack för feedback!

Angående heladderaren är problemet inte att konstruera adderaren utan att visa hur man kan subtrahera med den. Bifogade "min" heladderare (kan göras sjukt mycket snyggare med andra grindar men det spelar ingen roll här). Den kommer från att göra karnaughdiagram av funktionstabellen för en heladderare.

Mina uttryck:

S = AB'Cin' + A'B'Cin + ABCin + A'BCin'
Cut = ACin + BCin + AB

Man kan subtrahera genom addera ett så kallat 2-komplementet till talet.

2-komplement till binärtal kan bildas enligt reglen:
1. Invertera samtliga bitar i talet.
2. Addera 1 till det inverterade talet.

Då undrar jag hur jag ska visa detta på kretsen? 1) Är det bara att invertera A och B innan allt (innan "fyrkanten")? 2) Läste att ettan kan adderas i den minst signifikanta positionen i additionsenheten, tex. vid ingången för Cin. Kan man använda en halvadderare där då?

Väldigt tacksam för svar!

/makrocell
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av makrocell 4 oktober 2012, 10:21:16, redigerad totalt 1 gång.
Användarvisningsbild
swesysmgr
Inlägg: 15167
Blev medlem: 28 mars 2009, 06:56:43
Ort: Göteborg

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av swesysmgr »

Du skall väl bara tvåkomplementera det ena talet som sedan adderas till det andra för att få en subtraktion?
makrocell
Inlägg: 7
Blev medlem: 23 augusti 2012, 18:52:56

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av makrocell »

Okej ja det låter ju iofs rimligt :)

Men så om vi vill subtrahera A med B så inverteras B (innan allting?) och sedan adderas talen ihop inne i heladderaren men det saknas en 1:a som ska ha adderats vid exempelvis Cin? Är det rätt tänkt? Om det är rätt hur adderas smidigast 1:an in vid Cin? Hur ritar man om kretsen?


/makrocell
Nerre
Inlägg: 27410
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av Nerre »

Det syns väl om man gör en sanningstabell?

En subtraherare använder väl "borrow" istället för "carry"?
sodjan
EF Sponsor
Inlägg: 43289
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av sodjan »

4-2 == 4 + (-2).
Användarvisningsbild
jesse
Inlägg: 9241
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av jesse »

Sodjan: Ja, men det handlar om att först omvandla talet 2 till -2.

C-in vid bit 0 är väl alltid en nolla vid addition. Vill du ha en etta där så inverterar du väl den också, precis som du gör med bitarna i B. Vill du kunna växla mellan att addera eller subtrahera kan du sätta XOR-grindar på alla ingångar för B samt på Carry-ingången på adderaren för bit 0. Sedan kopplar du ihop den extra ingången på alla XOR-grindar med varandra och drar ut den till en omkopplare som ger 0 eller 1. nolla ger addition och etta ger subtraktion. Kommer det att fungera?
makrocell
Inlägg: 7
Blev medlem: 23 augusti 2012, 18:52:56

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av makrocell »

Men stämmer det att Cin alltid är 0 för denna adderare? Om vi utgår från funktionstabellen kan ju även Cin vara ett även för en adderare som adderar enbitars tal. Eller hur ska man tänka? Känner mig sjukt retarderad nu!


Om vi vill addera 1 +1 (är väl den enda intressanta additionen vi kan göra med 1 bit?) så blir s=0 och cut=1. Vad händer sen? Varför ha Cin som en insignal i den enklaste adderaren? Uppgiften var ju att konstruera en adderare med godtyckligt antal bitar så denna lösning borde ju vara okej. Om då Cin alltid är 0 är det ju bara att invertera den som jesse sa?
Jag behöver inte ha en lösning som ska kunna utföra båda räknesätten med hjälp av en styrsignal, även om det är sjukt mycket snyggare.

Hur ska kretsen se ut för att subtrahera dessa två tal (A & B) är väl helt enkelt frågan? Subtraherar den här kretsen A med B?

från wiki:
"En heladderare (kort FA, från engelska Full Adder) är en digital komponent för addition av två (egentligen tre) bitar. Eftersom den är en digital komponent kan den bara arbeta med de diskreta värdena 1 och 0. Heladderaren tar tre insignaler x, y och cin (carry in), som den adderar, och lämnar två utsignaler s ((entals)summan) och cout (carry out, minnessiffra (som är 2-värd)).

Heladderaren kan kopplas ensam eller i kedja av flera adderare för att kunna addera två binära tal som består av fler än 1 bitar vardera. För att addera två tal med n stycken bitar, krävs n stycken heladderare. Då används cin och cout för att hålla koll på minnessiffrorna.
"
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av makrocell 4 oktober 2012, 10:20:49, redigerad totalt 1 gång.
Nerre
Inlägg: 27410
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Digitalteknik/digitalakretsar frågor!

Inlägg av Nerre »

Kopplar du ihop två adderare för att kunna addera 2-bitars tal så tror jag du ser tydligare. Det blir ibland lite förvirrande att bara titta på 1-bits additioner.

Cin i LSB (den minst signifikanta biten) är normalt alltid 0.

Cout är den "extra bit" som behövs eftersom addition av två binära tal kan ge ett resultat som inte ryms i samma antal bitar. 11 + 11 blir ju (1)10 där ettan inom parantes är carry.
Skriv svar