METHOD AND SYSTEM FOR COMPILING CIRCUIT DESIGNS

The present invention is a programming language method called Pipeline Language 1 (PL1) (12) and its associated compiler system for generating logical circuit designs. The semantics allow the implementation to add more slack than exists in the specification, aiding the design of slack-elastic system...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: NYSTROEM, MIKA, MARTIN, ALAIN, J
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:The present invention is a programming language method called Pipeline Language 1 (PL1) (12) and its associated compiler system for generating logical circuit designs. The semantics allow the implementation to add more slack than exists in the specification, aiding the design of slack-elastic systems, In PLl, the value probe and peek are the most basic operations: receiving a value is done by first using the peek, and then acknowledging it as a separate action. Another embodiment is a PL1 compiler comprised of a technology-independent front-end module (20) and a technology-dependent back-end module (22). It parses the input, converts it into BDD expressions, checks determinism conditions, generates BDD expressions for assignments and sends and converts the BDD expressions to unary representation. The back-end compiler module is technology-dependent, meaning that different back -end modules generate different circuit design types (e.g. QDI and STAPL) (24 and 26). All back-end module embodiments perform logic simplification on input programs. L'invention se rapporte à un procédé fondé sur un langage de programmation appelé /= (PL1) ainsi qu'au système de compilation associé permettant de générer des conceptions de circuits logiques. La sémantique permet, lors de la mise en oeuvre, d'ajouter plus de /= (slack) que spécifié, ce qui facilite la conception de systèmes élastiques présentant du /= . Dans PL1, la vérification et la lecture en mémoire de valeurs constituent les opérations les plus basiques : pour obtenir une valeur il convient tout d'abord de procéder à une lecture en mémoire, puis de considérer cette dernière comme une action séparée. Dans un autre mode de réalisation, l'invention concerne un compilateur de PL1 comprenant un module frontal non tributaire de la technologie ainsi qu'un module arrière tributaire de la technologie. Ce compilateur analyse les données d'entrée, les convertit en expressions BDD, vérifie les conditions de déterminisme, génère des expressions BDD pour des attributions et envoie et convertit les expressions BDD pour obtenir une représentation unaire. Le module de compilation arrière est tributaire de la technologie, ce qui signifie que différents modules arrières génèrent différents types de conception de circuit (par ex. QDI et STAPL). Dans tous leurs modes de réalisation, les modules arrières procèdent à une simplification de la logique des programmes d'entrée.