The present invention is a programming language method called Pipeline
Language 1 (PL1) 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 PL1, 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 and a technology-dependent
back-end module. 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). All back-end module embodiments perform logic simplification on
input programs.
La presente invenzione è un linguaggio di programmazione Pipeline Language denominata metodo 1 (PL-1) ed il relativo sistema collegato del compilatore per la generazione dei disegni di circuito logici. La semantica permette che l'esecuzione aggiunga di più l'allentamento che esiste nella specifica, aiutante il disegno dei sistemi lento-elastici. In PL-1, la sonda ed il peek di valore sono i funzionamenti più fondamentali: la ricezione del valore è fatta in primo luogo usando il peek ed allora il riconoscimento esso come azione separata. Un altro incorporamento è un compilatore di PL-1 formato da un modulo a fine frontale tecnologia-indipendente e da un modulo posteriore tecnologia-dipendente. Analizza l'input, lo converte in espressioni di BDD, controlla gli stati di determinismo, genera le espressioni di BDD per le assegnazioni e trasmette e converte le espressioni di BDD in rappresentazione costituita da un solo elemento. Il modulo posteriore del compilatore è tecnologia-dipendente, significando che i moduli posteriori differenti generano i tipi differenti di disegno di circuito (per esempio QDI e STAPL). Tutti gli incorporamenti posteriori del modulo effettuano la semplificazione di logica sui programmi di input.