Binär addition
- jonnorberg
- Inlägg: 850
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
Binär addition
Hej!
Jag skulle behöva en koppling som adderar 2 till ett statiskt 10-bitars ord. Det är en adress-kontroller som behöver splittas. Det var så länge sen jag gjorde booles algebra så jag vet inte ifall det är möjligt att enkelt ordna det på det viset. Har hitat 4-bitars adderare hos elfa. Kanske man kan koppla ihop några sånna. Eller måste det till en liten uC. Alltså vill jag ha nåt sånt här:
0101100000 ska oxå bli
0011100000
(En etta är dragen till jord och en 0 är lös tamp)
/Jon
Jag skulle behöva en koppling som adderar 2 till ett statiskt 10-bitars ord. Det är en adress-kontroller som behöver splittas. Det var så länge sen jag gjorde booles algebra så jag vet inte ifall det är möjligt att enkelt ordna det på det viset. Har hitat 4-bitars adderare hos elfa. Kanske man kan koppla ihop några sånna. Eller måste det till en liten uC. Alltså vill jag ha nåt sånt här:
0101100000 ska oxå bli
0011100000
(En etta är dragen till jord och en 0 är lös tamp)
/Jon
- jonnorberg
- Inlägg: 850
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
- jonnorberg
- Inlägg: 850
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
När detta var löst så kom jag ju på en följdfråga. Då originalkretsen har "lösa tampar" in eller draget mot gnd vid "etta" så måste ju en "lös tamp" vara odefenierbar? Men en 74283 bahöver ju hög eller låg. Eller kan 0 vara odefenierbar och 1=gnd här oxå? Vad jag gissar så kommer adressen från böjan att visa 1111111111 och inte 0000000000 vid användande av 74283:or. Medan en pinne på en avr dragen till jord är 1 och till vcc en 0:a.
Jag erkännar att jag nog lyckats snurra till det =)
Alltså:
I orignalkretsen så är en "etta" en pinne dragen mot gnd.
Vad ska min koppling ha IN, för att ge rätt signaler UT?
/Jon
Jag erkännar att jag nog lyckats snurra till det =)
Alltså:
I orignalkretsen så är en "etta" en pinne dragen mot gnd.
Vad ska min koppling ha IN, för att ge rätt signaler UT?
/Jon
I digitallogik FÅR det inte finnas "lösa tampar"! Om du vill addera ihop ett par värden måste alla ingångar som i detta fall ska ge en addition med 2 ställas till det binära värde som motsvarar 2.
I detta fall ser din konstant alltså ut som följer: 0000 0000 0010
Carry In får du kolla i databladet, den ska vara inaktiv.
I detta fall ser din konstant alltså ut som följer: 0000 0000 0010
Carry In får du kolla i databladet, den ska vara inaktiv.
- jonnorberg
- Inlägg: 850
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
Då ingången i originalkretsen är dragen mot gnd när den är "aktiv". Så blir tex adressen 12 såhär:
1100111111
och aderar man 2 till det så ska utsignalen bli:
1000111111
Alltså borde ingången i adderaren se ut så här:
1100111111
och talet 2
1011111111
Men då blir ju allt knas för de tillsammas blir ju inte
1000111111 utan nåt overflow av nåt slag?
Eller hur?
Dock blir den direktkopplade utgången rätt.
/Jon
1100111111
och aderar man 2 till det så ska utsignalen bli:
1000111111
Alltså borde ingången i adderaren se ut så här:
1100111111
och talet 2
1011111111
Men då blir ju allt knas för de tillsammas blir ju inte
1000111111 utan nåt overflow av nåt slag?
Eller hur?
Dock blir den direktkopplade utgången rätt.
/Jon
- jonnorberg
- Inlägg: 850
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
Åker jag på att ha inverterare på utgången (20st) och istället för 0:or för adress in ha 1:or?
/Jon
/Jon
Senast redigerad av jonnorberg 20 april 2008, 16:25:14, redigerad totalt 1 gång.
- jonnorberg
- Inlägg: 850
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
- jonnorberg
- Inlägg: 850
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
- jonnorberg
- Inlägg: 850
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
> Det är nog så att jag inte förstår att den kan addera negativa tal.
Det handlar om att det för din "adder" alltid finns två "komplementära" tal,
(ett positivt och ett negativt).
Så en subtraktion med ett visst tal (t.ex 2) kan utryckas som en addition
av det komplementära talet (t.ex -2). D.v.s att det är samma sak att
subtrahera 2 som att addera -2.
Se även : http://en.wikipedia.org/wiki/Two%27s_complement
> Fast finns det subtractors?
Men 2's complement så behövs det bara en adder. Det är just det som är
finessen...
Det handlar om att det för din "adder" alltid finns två "komplementära" tal,
(ett positivt och ett negativt).
Så en subtraktion med ett visst tal (t.ex 2) kan utryckas som en addition
av det komplementära talet (t.ex -2). D.v.s att det är samma sak att
subtrahera 2 som att addera -2.
Se även : http://en.wikipedia.org/wiki/Two%27s_complement
> Fast finns det subtractors?
Men 2's complement så behövs det bara en adder. Det är just det som är
finessen...
- jonnorberg
- Inlägg: 850
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta