Dans cette question , un mappage est défini entre EBCDIC et un sur-ensemble de ISO-8859-1.
Votre tâche consiste à créer un réseau de portes NAND à deux entrées qui prendra huit entrées A1, A2, A4, ..., A128
représentant un caractère EBCDIC et retournera huit sorties B1, B2, B4, ..., B128
qui représentent le caractère "ISO-8859-1" correspondant selon ce mappage.
Pour simplifier les choses, vous pouvez utiliser les portes AND, OR, NOT et XOR dans votre diagramme, avec les scores correspondants suivants:
NOT: 1
AND: 2
OR: 3
XOR: 4
Chacun de ces scores correspond au nombre de portes NAND qu'il faut pour construire la porte correspondante.
Le circuit logique qui utilise le moins de portes NAND pour implémenter correctement toutes les exigences ci-dessus l'emporte.
la source
309 NAND
Une solution vraiment faible dans le nombre de NAND, mais je peux aller encore plus bas. Il suffit de s'arrêter quelque part, un certain temps, et 309 semble bon pour cela. (J'ai en fait atteint 308 NAND plus tard, mais j'ai ensuite heurté une sorte de barrière.)
Aucune image du circuit dessinée au crayon cette fois. Peut-être plus tard si je reviens un jour à ce problème et que je frappe un bord inférieur, une corniche, une limite, dans le bosquet de plus en plus dense de mauvais circuits.
Le circuit est présenté en code Verilog évident, prêt à fonctionner avec test inclus.
Code Verilog:
la source