J'essaie de concevoir un additionneur de préfixe parallèle pour un additionneur basé sur le négabinaire. Negabinary est base au lieu du binaire familier de base . Chaque additionneur de 1 bit génère une somme et deux (au lieu d'un en binaire) porte qui vont à l'additionneur suivant.
Pour rendre l'additionneur plus rapide, je veux utiliser une structure de préfixe parallèle, comme la structure Ladner-Fischer donnée ci-dessous. Je connais la fonctionnalité de la cellule violette dans le système binaire, mais je ne sais pas comment obtenir la même fonctionnalité dans le système négabinaire.
La raison pour laquelle je fais cela est juste pour le plaisir, je n'ai pas encore trouvé d'utilisation pour le négabinaire.
Formules de calcul de la somme et porte:
Structure arborescente de transport Ladner-fischer:
Si quelque chose n'est pas clair, n'hésitez pas à demander.
la source
Réponses:
J'ai probablement consacré plus de temps à cette question que je n'aurais dû, mais voici mes conclusions.
Je ne trouve aucun exemple d'additionneur de préfixe parallèle "pur" pour les nombres négabinaires. Je pense aussi que c'est un problème ouvert, car je n'ai vu aucune preuve que ce n'est pas possible.
Le plus proche que je puisse vous obtenir est d'utiliser une addition négabinaire négative en deux étapes (généralement nnba en abrégé dans la littérature). Il est basé sur la propriété suivante:
0xAA...AA
0x55...55
La somme négative peut alors simplement être inversée en utilisant la même propriété mais avec un opérande nul:
Donc, pour trouver la somme en utilisant des additionneurs de préfixes parallèles, vous pouvez:
0xAA...AB
J'ai en fait essayé de trouver un additionneur de préfixe parallèle "pur", mais je l'ai trouvé trop complexe pour le temps que j'étais prêt à y consacrer. Voici pourquoi:
Note that the boolean operator for the carries in your question includes the mixed termsc+ic−i¯¯¯¯¯ and c−ic+i¯¯¯¯¯ , making it impossible to use it as-is. For a single carry in normal binary addition, it became quite obvious how to construct this operator when thinking about it in terms of generation and propagation, but it seems to be not so obvious for negabinary carries.
la source