2009-07-15 11 views
6

Come costruire un circuito efficiente in termini di area che conta il numero di bit impostati nell'input a 15 bit utilizzando LUT a 4 ingressi (tabelle di ricerca). L'output è ovviamente a 4 bit (conta 0-15). Alcuni affermano che è possibile fare usando 9 LUT.Circuito che conta il numero di bit impostati nell'ingresso 15-bit

+0

Le domande hardware di solito non ottengono grandi risposte su questo forum – samoz

+0

Soprattutto quando suonano come domande per i compiti –

+4

Non è una domanda per i compiti a casa. Devo sintetizzare questo circuito nel modo ottimizzato, ma lo strumento di sintesi FPGA usa 20 LUT per questo, può essere fatto meglio di questo – OutputLogic

risposta

1

Posso farlo in 10. È un primo contatore (4 tavoli), quindi un sommatore 2 stage con carry (3 e 3 tavoli).

Sospetto che ci sia un modo per fare meglio perché non ho usato ogni LUT completamente, ma a volte un design semplice vale il costo aggiuntivo. Ho provato altri approcci e ancora necessario 10.

Buona fortuna per i compiti. (:

2

Bene, ti inizierò. Il tuo primo strato di tabelle di ricerca sarà simile a questa:

0 0 0 0 = 00 
0 0 0 1 = 01 
0 0 1 0 = 01 
0 0 1 1 = 10 
0 1 0 0 = 01 
0 1 0 1 = 10 
0 1 1 0 = 10 
0 1 1 1 = 11 
1 0 0 0 = 01 
1 0 0 1 = 10 
1 0 1 0 = 10 
1 0 1 1 = 11 
1 1 0 0 = 10 
1 1 0 1 = 11 
1 1 1 0 = 11 
1 1 1 1 = 00 

Diffusione quattro di loro attraverso il vostro ingresso di quindici bit, prendere le uscite e farli passare attraverso due nuove tabelle di ricerca che assomigliano a questo:

0 0 0 0 = 000 
0 0 0 1 = 001 
0 0 1 0 = 010 
0 0 1 1 = 011 
0 1 0 0 = 001 
0 1 0 1 = 010 
0 1 1 0 = 011 
0 1 1 1 = 100 
1 0 0 0 = 010 
1 0 0 1 = 011 
1 0 1 0 = 100 
1 0 1 1 = 101 
1 1 0 0 = 011 
1 1 0 1 = 100 
1 1 1 0 = 101 
1 1 1 1 = 110 

... e così via. Ovviamente, dovrai risolvere il problema di tutti gli zeri e tutti quelli che producono lo stesso output nel primo strato.

E potrei sbagliarmi completamente.

Problemi correlati