Gegeven een schuifregister - Creëer een circuit om te controleren of 4 eerste bits gelijk zijn aan de laatste 4

Ik hoop dat dit de plek is om zo'n vraag te stellen.

Gegeven een schuifregister - binnen 8 klokpulsen gaan 8 bits dit register binnen, ik moet een circuit maken met dit register, en andere 3 flip-flops zodat de uitgangslijn 1 zou zijn als de eerste 4 bits gelijk zijn aan de laatste 4.

Dit is een voorbeeld van een mogelijke oplossing.

Mijn vraag voor jou is: hoe komt het dat pas aan het einde van de 8e puls een waarde naar de "gelijkwaardige" regel zou gaan? (of dat in deze oplossing-successen beschouwen als uitvoer van "1111"?)

enter image description here

2
"Hoe komt het dat pas aan het einde van de 8e puls een waarde uitvalt ..." - hoe weet je of de 1e vier hetzelfde zijn als de laatste vier totdat je alle 8 hebt gezien? Met één bit per klok zijn dat 8 klokken. Gewoon niet duidelijk wat de vraag is.
toegevoegd de auteur SQLMenace, de bron
Hoe lang is de dienstregistratie? 4 bits? 8 bits? iets anders? Met een 4-bits register en alle 4 bits extern beschikbaar, overweeg dan het gebruik van de drie FF's als een teller, geïnitialiseerd naar 0, die klokpulsen telt. De registeruitgang wordt teruggevoerd en XORed in het binnenkomende bit wanneer het hoge bit van de teller 1 is, dus gedurende de eerste 4 klokcycli vult het register met x0, x1, x2, x3, terwijl tijdens de volgende 4 het bit vult met x4 XOR x0, x5 XOR x1, x6 XOR x2 en x7 XOR x3 = 0000 precies wanneer bits overeenkomen. Detecteer met een NOR met 4 ingangen waarvan de uitgang alleen wordt bekeken als de teller 111 bevat.
toegevoegd de auteur Dilip Sarwate, de bron

1 antwoord

Waaraan moet je precies werken? Je diagram toont enkele poorten naast het schuifregister en de flip-flops. Als de schuifregisterbits allemaal zichtbaar zijn, kunt u eenvoudigweg vier XOR-poorten en een quad OR- of NOR-poort gebruiken. Geen slippers nodig. Anders moet je op elk gewenst moment weten of de laatste vier ingangen overeenkomen met de vorige vier of moet je alleen vaststellen dat elke vier klokpulsen, of elke acht of wat?

Conceptueel denk ik dat je het beste kunt zijn om je flip flops te gebruiken om een ​​teller te maken die kan oplopen tot een maximum van vier wanneer de invoer naar het schuifregister overeenkomt met het signaal vier eerder, en anders op nul zal worden teruggesteld. Zonder de precieze vereisten te begrijpen, is het echter moeilijk te zeggen.

1
toegevoegd