Hjälp vid tänket kring att skapa en logisk krets
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Hjälp vid tänket kring att skapa en logisk krets
Mycket kryptiskt ämne och jag stod i valet och kvalet om jag skulle fråga detta i min kärnminnes-tråd eller göra en separat.
Då detta är lite mer "hur man tänker" istället för att lösa en specifikt problem så valde jag en ny tråd.
För att ta ett konkret exempel så tar jag just mitt 16-bitars minne som exempel.
Jag har suttit en stund idag och funderat på hur adresseringen skulle ske av de olika bitarna och min "sammanfattning" är som på bilderna nedan.
Det jag undrar över är hur man går till väga egentligen? Jag har inte en aning om dator-adressering eller pysslat så mycket med logiska kretsar innan.
Om ni har en krets som ser ut som på bild ett och ska göra logiken till den; skulle ni gå till väga på samma sätt som mig då eller tänker jag helt upp åt väggarna?
Min metod har varit att spalta upp alla dom önskade logiska kombinationerna och baserat på resultatet försökt se samband och kombinationer som gör att man med så får "in"-bitar som möjligt kan få de önskade kombinationerna.
Kanske för mycket begärt att be någon annan kolla på den här röran men man kanske i alla fall kan få en knuff i rätt riktning hur man går in i ett sånt här problem.
Då detta är lite mer "hur man tänker" istället för att lösa en specifikt problem så valde jag en ny tråd.
För att ta ett konkret exempel så tar jag just mitt 16-bitars minne som exempel.
Jag har suttit en stund idag och funderat på hur adresseringen skulle ske av de olika bitarna och min "sammanfattning" är som på bilderna nedan.
Det jag undrar över är hur man går till väga egentligen? Jag har inte en aning om dator-adressering eller pysslat så mycket med logiska kretsar innan.
Om ni har en krets som ser ut som på bild ett och ska göra logiken till den; skulle ni gå till väga på samma sätt som mig då eller tänker jag helt upp åt väggarna?
Min metod har varit att spalta upp alla dom önskade logiska kombinationerna och baserat på resultatet försökt se samband och kombinationer som gör att man med så får "in"-bitar som möjligt kan få de önskade kombinationerna.
Kanske för mycket begärt att be någon annan kolla på den här röran men man kanske i alla fall kan få en knuff i rätt riktning hur man går in i ett sånt här problem.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Hjälp vid tänket kring att skapa en logisk krets
Vad vill du uppnå? Jag kan inte läsa mig till det.
Re: Hjälp vid tänket kring att skapa en logisk krets
Vet inte om du känner till Karnaughdiagram.
Där ritar man i princip upp sina ingångar och önskade utgångar och minimerar fram de logiska funktionerna.
Där ritar man i princip upp sina ingångar och önskade utgångar och minimerar fram de logiska funktionerna.
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: Hjälp vid tänket kring att skapa en logisk krets
@lillahuset:
Om jag har en tabell med logiska tal av önskade kombinationer, vad använder jag för metod för att förenkla ner denna till minst antal adresser genom logiska grindar. Äsch, det var inte mycket bättre.
@bit96:
Det ser väldigt intressant ut. Tack för tipset. Ska läsa mer om det.
Om jag har en tabell med logiska tal av önskade kombinationer, vad använder jag för metod för att förenkla ner denna till minst antal adresser genom logiska grindar. Äsch, det var inte mycket bättre.
@bit96:
Det ser väldigt intressant ut. Tack för tipset. Ska läsa mer om det.
Re: Hjälp vid tänket kring att skapa en logisk krets
Troligtvis har du även nytta av att lära dig Boolesk algebra om du inte redan kan det.
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: Hjälp vid tänket kring att skapa en logisk krets
Uff... Det är bara sånt jag har hört talas om och läst lite om här på forumet. Nu börjar det ryka ur öronen 

- anders_bzn
- Inlägg: 5810
- Blev medlem: 17 december 2008, 19:22:18
- Ort: Kävlinge
- Kontakt:
Re: Hjälp vid tänket kring att skapa en logisk krets
Jag vet ju svaret, eller hur jag hade gjort. Men den är ju lite fusk eftersom jag sett lösningen innan. Men som du ritat kärnmatrisen så blir det lite konstigt. Du har ju ritat vissa X och Y trådar parallellt och det är ju inte så det ser ut.
Tänk att varje tråd har Select/read-write och enable. Man inser snabbt att read/write och enable kan vara samma för samtliga trådar (annars kan man rita med dem i diagrammet och sedan inse detta).
Jag orkade bara rita fyra kärnor med principen blir densamma oavsett.
Använder man samma numrering på trådarna fast man har 4x4 istället:
Då ser man lösningen utan att använda ett Karnaougdiagram!
Nå var är tricket?
Tänk att varje tråd har Select/read-write och enable. Man inser snabbt att read/write och enable kan vara samma för samtliga trådar (annars kan man rita med dem i diagrammet och sedan inse detta).
Jag orkade bara rita fyra kärnor med principen blir densamma oavsett.
Använder man samma numrering på trådarna fast man har 4x4 istället:
Kod: Markera allt
Tråd
Kärna Y0 Y1 Y2 Y3 X0 X1 X2 X3
0 1 0 0 0 1 0 0 0
1 0 1 0 0 1 0 0 0
2 0 0 1 0 1 0 0 0
3 0 0 0 1 1 0 0 0
4 1 0 0 0 0 1 0 0
5 0 1 0 0 0 1 0 0
6 0 0 1 0 0 1 0 0
7 0 0 0 1 0 1 0 0
8 1 0 0 0 0 0 1 0
9 0 1 0 0 0 0 1 0
10 0 0 1 0 0 0 1 0
11 0 0 0 1 0 0 1 0
12 1 0 0 0 0 0 0 1
13 0 1 0 0 0 0 0 1
14 0 0 1 0 0 0 0 1
15 0 0 0 1 0 0 0 1
Nå var är tricket?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: Hjälp vid tänket kring att skapa en logisk krets
Jag lägger ner det här. Det blir för mastigt och även om jag skulle kunna lösa det med logiska kretsar för just detta minnet så kommer tavlan bli mycket mer komplicerat. Det får bli adressering med hjälp av en µC och eventuellt IO-extenders istället.
anders_bzn:
Hur ska man göra med "andra änden" av snöret då? Det måste väl sitta drivare där också som ska adresseras?
Anledningen till min märkliga drivardragning var ett försök att spara drivare men möjligt att det försvårar adresseringen i den grad att man gör sig en björntjänst.
EDIT: Felstavning
anders_bzn:
Hur ska man göra med "andra änden" av snöret då? Det måste väl sitta drivare där också som ska adresseras?
Anledningen till min märkliga drivardragning var ett försök att spara drivare men möjligt att det försvårar adresseringen i den grad att man gör sig en björntjänst.
EDIT: Felstavning
Senast redigerad av Magnus_K 1 september 2015, 16:33:48, redigerad totalt 1 gång.
- anders_bzn
- Inlägg: 5810
- Blev medlem: 17 december 2008, 19:22:18
- Ort: Kävlinge
- Kontakt:
Re: Hjälp vid tänket kring att skapa en logisk krets
Först, det är skillnad på hur du väljer tråd logisk och elektriskt. Nu tänker jag på logiken.
Elektriskt sett så driver du varje tråd från båda håll med en H-brygga. Om du ritar upp den elektriskt en brygga och en tråd med de styrsignaler du behöver. Select för att välja, R/W för att styra riktningen i tråden och enable för pulslängden.
Logiskt: Det jag ville att du skulle se är det man gör i Karnaoughdriagram, men kollar vilka signaler som har beroenden till varandra och vilka man kan bortse ifrån. Du ser att mönstret upprepar sig. På ett sådant sett så för varje kombination av X finns alla möjliga kombinationer av Y och tvärtom.
Man kan då dra slutsatsen att X är oberoende av Y.
Man ser också att bara en utgång är satt, man har fyra ledningar ut, hur många ingångar behöver man då för att generera:
- Alla X kombinationer?
- Alla Y kombinationer?
- Alla kombinationer?
Elektriskt sett så driver du varje tråd från båda håll med en H-brygga. Om du ritar upp den elektriskt en brygga och en tråd med de styrsignaler du behöver. Select för att välja, R/W för att styra riktningen i tråden och enable för pulslängden.
Logiskt: Det jag ville att du skulle se är det man gör i Karnaoughdriagram, men kollar vilka signaler som har beroenden till varandra och vilka man kan bortse ifrån. Du ser att mönstret upprepar sig. På ett sådant sett så för varje kombination av X finns alla möjliga kombinationer av Y och tvärtom.
Man kan då dra slutsatsen att X är oberoende av Y.
Man ser också att bara en utgång är satt, man har fyra ledningar ut, hur många ingångar behöver man då för att generera:
- Alla X kombinationer?
- Alla Y kombinationer?
- Alla kombinationer?
Re: Hjälp vid tänket kring att skapa en logisk krets
Meningen var inte att "skrämmas"Magnus_K skrev:Uff... Det är bara sånt jag har hört talas om och läst lite om här på forumet. Nu börjar det ryka ur öronen

På Youtube finns en hyfsad kurs i tre delar, ca 3x10 minuter.
Boolean Algebra Part 1 https://www.youtube.com/watch?v=lEgyiudC-nk
Även om du löser ditt problem med en µC är det ändå nyttigt att känna till lite grunder.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Hjälp vid tänket kring att skapa en logisk krets
Aha, du vill skapa din krets med bara NAND-grindar, typ.
Det var länge sedan jag höll på med sådant, ~35 år sedan.
Och ja, boolesk algebra och karnaughdiagram var vardagsmat då. Idag skulle jag bara känna mig hjälplös.
Det var länge sedan jag höll på med sådant, ~35 år sedan.
Och ja, boolesk algebra och karnaughdiagram var vardagsmat då. Idag skulle jag bara känna mig hjälplös.

- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: Hjälp vid tänket kring att skapa en logisk krets
4+4=8? Nej jag känner mig mycket tappad.anders_bzn skrev: Man ser också att bara en utgång är satt, man har fyra ledningar ut, hur många ingångar behöver man då för att generera:
- Alla X kombinationer?
- Alla Y kombinationer?
- Alla kombinationer?

- anders_bzn
- Inlägg: 5810
- Blev medlem: 17 december 2008, 19:22:18
- Ort: Kävlinge
- Kontakt:
Re: Hjälp vid tänket kring att skapa en logisk krets
Vi fortsätter, du har fyra unika kombinationer för X
För att räkna till fyra kombinationer binärt så behöver du två bitar (00,01,10,11).
Så, två bitar till X och två till Y. Totalt fyra.
Med fyra bitar kan man få sexton kombinationer. Det är ju bra att det är just så många kärnor vi vill adressera!
De logiska uttrycken för varje tråd.
För att adressera kärnorna har du då adressen "DCBA", fyra bitar. Du ser nu de logiska uttrycken för att avkoda adressen. Det man behöver är två 2-4 avkodare för att avkoda adressen, ser du?. Klarar du nu att rita en 2-4 avkodare med grindar? Med hjälp av de logiska uttrycken ovan.
Normalt brukar man sätta ett streck över bokstaven istället för utropstecken framför, men det tillåter inte mina kunskaper. Lite LaTeX hade fixat biffen.
Kan du nu med ledning av ovanstående räkna ut hur uttrycken för ett 256bits minne ska se ut. Hur många adressbitar går åt till X respektive Y?
Jag förklarar gärna, men jag är ingen pedagog. Jag är ingenjör, så om det blir svårt så försöker jag gärna igen. Om du lyckades få inversionspulsen så fixar du detta.
För att räkna till fyra kombinationer binärt så behöver du två bitar (00,01,10,11).
Så, två bitar till X och två till Y. Totalt fyra.
Med fyra bitar kan man få sexton kombinationer. Det är ju bra att det är just så många kärnor vi vill adressera!
De logiska uttrycken för varje tråd.
Kod: Markera allt
X0=!A*!B X0=1 då A=0 och B=0
X1=A*!B X1=1 då A=1 och B=0
X2=!A*B X2=1 då A=0 och B=1
X3=A*B X3=1 då A=1 och B=1
Y0=!C*!D Y0=1 då C=0 och D=0
Y1=C*!D Y0=1 då C=1 och D=0
Y2=!C*D Y0=1 då C=0 och D=1
Y3=C*D Y0=1 då C=1 och D=1
Normalt brukar man sätta ett streck över bokstaven istället för utropstecken framför, men det tillåter inte mina kunskaper. Lite LaTeX hade fixat biffen.
Kan du nu med ledning av ovanstående räkna ut hur uttrycken för ett 256bits minne ska se ut. Hur många adressbitar går åt till X respektive Y?
Jag förklarar gärna, men jag är ingen pedagog. Jag är ingenjör, så om det blir svårt så försöker jag gärna igen. Om du lyckades få inversionspulsen så fixar du detta.
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: Hjälp vid tänket kring att skapa en logisk krets
Det är absolut inget fel med din pedagogik. Du ska ha en eloge att du står ut med en trög elev. Tack för att du hjälper mig!
Har tänkt sätta mig och göra en tabell för de logiska uttrycken i helgen men vad jag kan komma fram till så bör mitt 256-bitars minne kunna adresseras av en 8-bitars adress.
Detta borde också kunna göras av 2 st 4-16 decoders?
Satt och läste lite inatt om decoders men ska fortsätta lässtunden i natt.
Har tänkt sätta mig och göra en tabell för de logiska uttrycken i helgen men vad jag kan komma fram till så bör mitt 256-bitars minne kunna adresseras av en 8-bitars adress.
Detta borde också kunna göras av 2 st 4-16 decoders?
Satt och läste lite inatt om decoders men ska fortsätta lässtunden i natt.
- anders_bzn
- Inlägg: 5810
- Blev medlem: 17 december 2008, 19:22:18
- Ort: Kävlinge
- Kontakt:
Re: Hjälp vid tänket kring att skapa en logisk krets
Det är kul när man kan hjälpa till!
Du har rätt, det räcker fint med två 4-16 avkodare.
Du har rätt, det räcker fint med två 4-16 avkodare.