Permalänk
Medlem

4 bitars adderare frågor

Hejsan
Jag har tänkt bygga en 4 bitars adderare och har några frågor

Vad är carry in och carry out? Jag tror att det är kopplingen till strömkällorna, men jag är inte säker.

Och kommer resultatet att visas av varje out?

Jag har letat på google men jag har inte fått något bra svar än, så jag tänkte att på Sweclockers finns det säkert någon sakkunnig

Tack på förhand

Edit, bilden funkade inte, och jag får den inte att fungera, länk istället
Imageshack - 4bitfulladderjpeg.png - Uploaded by Jhuyt

Permalänk
Medlem

Hej Jhuyt
En Carry eller "Carry flaggan" är en ensam bit vilken används vid operationer i en ALU.
Enkelt kan man säga att den används när talet inte korrekt går att visas med 4 bitar utan att det blir en carry.
Innan du börjar koppla en massa med din adderare kanske du skall ta dig tid att läsa på lite grundläggande digital och datorteknik, så slipper du förstöra dina kretsar och så får du ut mer av experimentet då du faktiskt förstår den bakomliggande aritmetiken

Lycka till!

Permalänk
Medlem

Jag har tänkt börja med att bygga några logiska portar själv med hjälp av transistorer, men målet i slutändan är en adderare.

Men vad visar outportarna, och hur ska man koppla dem till LEDer för att få svaret?

Men hursomhelst, tack för svaret!

Edit: Just det, har du något tips på bra litteratur?

Permalänk
Medlem
Skrivet av Jhuyt:

Jag har tänkt börja med att bygga några logiska portar själv med hjälp av transistorer, men målet i slutändan är en adderare.

Men vad visar outportarna, och hur ska man koppla dem till LEDer för att få svaret?

Men hursomhelst, tack för svaret!

Edit: Just det, har du något tips på bra litteratur?

Håller på att läsa digital teknik på universitet och vi använder en bok som heter "digitala kretsar" som är skriven av Lars-Hugo Hemert.

Permalänk
Medlem
Skrivet av Jhuyt:

Edit, bilden funkade inte, och jag får den inte att fungera, länk istället
Imageshack - 4bitfulladderjpeg.png - Uploaded by Jhuyt

För att vara lite petig är den här bilden inte helt komplett, då det skulle stå att ingångarna ska heta A0 och B0 till Out0, A1 och B1 till Out 1 etc.

Nu vet jag inte hur mycket du behärskar grundläggande digitalteknik så jag ber om ursäkt om jag skriver nåt du redan kan, men så här är det:

En 4-bitars adderare används, som namnet antyder, för att addera två 4-bitars tal. I det här fallet talen A[3:0] och B[3:0].

Resultatet från en adderare måste alltid ha en bit mer än det längsta talet. I detta exempel får vi alltså ett 5-bitars tal ut från adderaren. Varför? Jo, för att helt enkelt kunna visa resultatet.
T.ex. 15 (4 bitar) + 15 (4 bitar) = 30 (5 bitar)

Dessa räknare kan parallelkopplas, vilket innebär att du kan göra en 8-bitars räknare av 2 st. 4-bitars räknare (om du tittar i din bild kan du kanske se att din 4-bitars räknare består av 4 st. 1-bits räknare). Då kopplas ena räknarens sista Cout till nästa räknarens första Cin. I ditt exempel kan du koppla Cin0 till jord, och ge den logiskt värde 0, som inte påverkar resultatet. Cout3 däremot kommer att vara en del av ditt resultat, så den ska du ta hand om.

Du adderar dessa tal bit för bit: A0+B0, A1+B1 ...

Eftersom, som jag redan har nämnt, resultatet måste ha en bit mer än det längsta talet innebär detta att A0+B0+Cin0 "producerar" ett 2-bitars värde: Out 0 och Carry Out 0. Cout adderas sedan i nästa steg (Cout0 går till Cin1 etc...)

Och så fortsätter du till A1+B1+Cin1 etc...

Kopplingar för spänningsmatning och jord visas inte i denna bild, då bilden endast visar den logiska funktionen.

Permalänk
Medlem

Ja alltså, jag är en total nybörjare men ni har hjälpt mig väldigt mycket med att förstå hur det hela fungerar och jag är otroligt tacksam för det!

Sist undrar jag bara vad som ska gå in i carry in, enligt några sanningstabeller ( heter de så?) som jag sett så kan det ändra resultatet ganska mycket?

tack så mycket för svaren

Permalänk
Medlem
Skrivet av Jhuyt:

Sist undrar jag bara vad som ska gå in i carry in, enligt några sanningstabeller ( heter de så?) som jag sett så kan det ändra resultatet ganska mycket?

Det står faktiskt i det förra, mastodontillägget, men det var lätt att missa
Jo, koppla in 0 så blir det bra.

Permalänk
Medlem

ojdå, nu när jag läser mer noggrant ser jag också det

Tack så hemskt mycket

Permalänk
Medlem

Om du kan ställa upp sanningstabeller med in resp utdata (enbart logiskt) och sedan rita karnaugh-diagram så kan du ganska enkelt göra det du vill (minimerad lösning) med några enkla grindar. (Dvs ställa upp förenklade booleska uttryck)

EDIT: Måste bara tillägga att digitalteknik kan vara bland det roligaste man kan läsa. Vi hade riktigt grymma laborationer i kursen (LTH) som gav riktigt mycket (grundläggande) kött på benen i ämnet.

Permalänk
Medlem

Yes. mitt tips är att läsa på så att du förstår teorin först. Kanske till och med börja med ett enklare experiment som en binärkods omvandlare eller nått. fast det gör du ju som du själv vill. jag vet ju inte heller hur mycket du kan :).

i övrigt så låter det ju som ett roligt projekt. jag har inte konstruerat någon alu men läst en kurs i digitalteknik vid LiTH och vi fick liksom fog göra väldigt roliga labbar med ttl kretsar. Den kursen var inte så lång men hängde man med så fick man nog tillräckligt med teoretiska kunskaper för att kunna konstruera en alu. Lycka till och återkom gärna med resultat!