DE19714756A1 - Data processing circuit structure for describing or modelling of digital circuit - Google Patents

Data processing circuit structure for describing or modelling of digital circuit

Info

Publication number
DE19714756A1
DE19714756A1 DE19714756A DE19714756A DE19714756A1 DE 19714756 A1 DE19714756 A1 DE 19714756A1 DE 19714756 A DE19714756 A DE 19714756A DE 19714756 A DE19714756 A DE 19714756A DE 19714756 A1 DE19714756 A1 DE 19714756A1
Authority
DE
Germany
Prior art keywords
alu
ram
circuit structure
assigned
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE19714756A
Other languages
German (de)
Inventor
Andreas Frank Boethel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boethel Andreas Frank 70435 Stuttgart De
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE19714756A priority Critical patent/DE19714756A1/en
Publication of DE19714756A1 publication Critical patent/DE19714756A1/en
Priority to JP10542258A priority patent/JP2000515658A/en
Priority to PCT/DE1998/001019 priority patent/WO1998045794A1/en
Priority to US09/402,725 priority patent/US6557157B1/en
Priority to EP98930641A priority patent/EP0974112A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test
    • G01R31/318591Tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Logic Circuits (AREA)

Abstract

The circuit for processing several data streams including functional units for carrying out a number of logic or arithmetic basic functions (1e,2e,3e) i.e. ALUs, a digital information store (RAM), (7), clocked registers (6,8) giving stepped status exchange. One ALU (3c) is assigned per data stream (3) and is specially designed for a particular processing task (11-15) and generates the control (11,131,4) data and the input (12;14) data for the RAM (7) or the register (6), with control (6a) or RAM- or register output data (9,10) feedback to the assigned ALU (3c). At least two ALUs (1e,2e,3e) are provided for the data streams (1,2,3) when one ALU function cannot be separated into several ALUs as described.

Description

Die Erfindung betrifft eine Schaltungsstruktur zur Verarbeitung mehrerer Datenströme zum Beschreiben oder Modellieren digitaler Schaltungen, welche auch als digitaler Signalprozessor, folgend DSP genannt, fungieren kann.The invention relates to a circuit structure for processing multiple data streams for describing or modeling digital circuits, which are also called digital Signal processor, hereinafter called DSP, can function.

Schaltungsstruktur beschreibt eine Vorlage oder eine ausgeführte digitale Schaltung zur Realisierung digitaler Schaltungen genannter Aufgabenstellung. Datenströme bestehen aus ankommenden bzw. abgehenden Signalen von zusammengefaßten Teilfunktionen der Gesamtfunktion. Dabei existieren entweder komplexe Formate von Datenströmen, zum Beispiel ein serieller Bitstrom mit einem bitkodierten Datenformat, oder nur einfache, parallele Datenbusse als Datenströme, zum Beispiel in einem digi­ talen Signalprozessor. Verarbeitungsaufgaben bestehen entweder in der Verarbei­ tung der komplexen Formate der Datenströme, zum Beispiel ein Dekodieren eines seriellen Bitstroms, oder der Ausführung spezieller Operationen für einfache parallele Datenformate, zum Beispiel komplexer arithmetischer Operationen in einem DSP. Selbstverständlich bestehen auch Mischformen genannter Arten von Datenströmen und Verarbeitungsaufgaben.Circuit structure describes a template or an executed digital circuit for the realization of digital circuits named task. Data streams consist of incoming and outgoing signals from combined Sub-functions of the overall function. There are either complex formats of Data streams, for example a serial bit stream with a bit-coded data format, or just simple, parallel data buses as data streams, for example in a digi tal signal processor. Processing tasks consist of either processing the complex formats of the data streams, for example decoding one serial bit stream, or performing special operations for simple parallel Data formats, for example complex arithmetic operations in a DSP. Of course, there are also mixed forms of the types of data streams mentioned and processing tasks.

Eine Beschreibung oder ein Modell einer Schaltung kann neben einem Schaltbild auch Beschreibungen im Register-Transfer-Level oder Verhaltensbeschreibungen jeglicher Art bedeuten, zum Beispiel in VHDL oder Verilog. Diese können mit bekann­ ten Mitteln (Schaltungssynthese) in eine Schaltungsform umgewandelt werden, mit welcher eine schaltungstechnische Realisierung erfolgen kann.A description or model of a circuit can be found next to a circuit diagram also descriptions in the register transfer level or descriptions of behavior of any kind, for example in VHDL or Verilog. These can be acquainted with th means (circuit synthesis) are converted into a circuit form with which can be implemented in terms of circuitry.

Bisher übliche Realisierungen digitaler Schaltungen, genannter Aufgabenstellung, lassen sich im Allgemeinen in 2 Realisierungsgruppen unterteilen.Previously common implementations of digital circuits, the aforementioned task, can generally be divided into 2 implementation groups.

Zum einen kann eine Realisierung von Mikroprozessorsystemen, folgend MPS ge­ nannt, erfolgen, welche im Allgemeinen aus einen RAM, einen Registersatz, einer ALU und einer Steuerlogik sowie peripheren Anschlußmöglichkeiten bestehen. Ein Bussystem verbindet genannte Elemente untereinander (zum Beispiel in den Offen­ legungsschiften DE 36 36 095, DE 29 44 419 oder in der Patentschrift DE 43 12 090 C2).On the one hand, an implementation of microprocessor systems, following MPS called, which generally consist of a RAM, a register set, a ALU and a control logic and peripheral connection options exist. On Bus system connects the named elements with each other (for example in the open documents DE 36 36 095, DE 29 44 419 or in the patent DE 43 12 090 C2).

In einem MPS erfolgt die Realisierung der Aufgabenstellung, indem die unterschiedli­ chen Datenströme zu den peripheren Anschlußmöglichkeiten eines MPS zugeordnet werden, sowie eine Vorbelegung der RAM-Einheit mit einem Mikrocode erfolgt. Diese stellt sicher, daß das MPS jeden einzelnen Zustand aller ein laufenden Leitungen der Datenströme nacheinander abfragt und in Register oder RAM-Zellen abspeichert. Mit Hilfe einer zentralen ALU bzw. Steuerlogik werden neue Zustände der abgehenden Leitungen aller Datenströme berechnet und modifiziert. Damit wird zur Verarbeitung der Datenströme nur eine ALU bzw. Steuerlogik zur Ansteuerung der RAM-Einheit oder der Register benutzt. Das bedeutet, daß die Datenströme zu einem Gesamt­ datenstrom zusammengefaßt werden. Damit muß die Funktion der einzelnen ALU bzw. Steuerlogik alle Verarbeitungsaufgaben der Datenströme gleichermaßen lösen. Die ALU bzw. Steuerlogik ist somit mit relativ einfachen arithmetischen und logischen Funktionen ausgelegt, so daß unterschiedliche komplexe Verarbeitungsfunktionen der einzelnen Datenströme in vielen Taktschritten abgearbeitet werden müssen. In an MPS, the task is realized by the differenti Chen data streams assigned to the peripheral connection options of an MPS are, as well as a pre-assignment of the RAM unit with a microcode. This ensures that the MPS monitors every single condition of all incoming lines Data streams are queried one after the other and stored in registers or RAM cells. With With the help of a central ALU or control logic, new states of the outgoing Lines of all data streams calculated and modified. This turns into processing the data streams only an ALU or control logic for controlling the RAM unit or the register is used. That means the data streams become a total data stream can be summarized. The function of the individual ALU or control logic to solve all processing tasks of the data streams equally. The ALU or control logic is therefore relatively simple arithmetic and logic Functions designed so that different complex processing functions of the individual data streams must be processed in many cycle steps.  

In speziellen Ausführungen von MPS, sogenannte superskalare MPS oder VLIW-Maschinen (VLIW: Very Long Instruction Word), erfolgt eine Parallelisierung der arith­ metischen Datenmanipulation mit Hilfe von mehreren ALU-Einheiten. Dadurch ist es möglich die Anzahl der Taktzyklen herabzusetzen. Diese ALU-Einheiten bearbeiten jedoch nicht die RAM/Register-Steuerung. Diese ist, wie bei den einfachen MPS mit nur einer ALU-Einheit, ausschließlich zentral beeinflußbar. Das bedeutet, daß, zum Beispiel für komplexe Adreßberechnungen, die Adreßdaten über die ALU-Einheiten zunächst als normale Dateninformation modifiziert und in ein Adreßregister abge­ speichert werden müssen.In special versions of MPS, so-called superscalar MPS or VLIW machines (VLIW: Very Long Instruction Word), arith is parallelized metallic data manipulation with the help of several ALU units. That’s it possible to reduce the number of clock cycles. Edit these ALU units but not the RAM / register control. This is like the simple MPS with only one ALU unit, can only be influenced centrally. This means that, for Example of complex address calculations, the address data via the ALU units first modified as normal data information and abge in an address register must be saved.

(Beschrieben im Fachbuch "Rechnerarchitektur", 2. Auflage von Wolfgang K. Giloi, Springer-Verlag Berlin ab Seite 187 Kapitel "Superskalare Prozessoren und VLIW-Ma­ schinen", gut dargestellt ab Seite 194, Unterpunkt 6.3.3 "Motorola MC88110", speziell Bild 6-7 "Blockbild der Motorola-Prozessors MC88110" oder Unterpunkt 6.6 "Die VLIW-Maschine", Bild 6-17 "Grundschema einer VLIW-Maschine";
Anmerkung: Dort (Bild 6-17) ist gut zu sehen, daß die Adreßinformation, als Teil der Steuerung, über die "Floatingpoint-" oder "integer-ALU"-Einheiten nicht beeinflußt werden kann.)
(Described in the specialist book "Computer Architecture", 2nd edition by Wolfgang K. Giloi, Springer-Verlag Berlin from page 187 chapter "Superscalar processors and VLIW machines", well presented from page 194, sub-section 6.3.3 "Motorola MC88110", specifically Figure 6-7 "Block diagram of the Motorola MC88110 processor" or sub-item 6.6 "The VLIW machine", Figure 6-17 "Basic diagram of a VLIW machine";
Note: There (Fig. 6-17) it can be clearly seen that the address information, as part of the control, cannot be influenced via the "Floatingpoint" or "integer ALU" units.)

In der Regel sind MPS als Hardware vorgegeben, zum Beispiel als fertiger Mikrochip, oder als CAD-Systembeschreibung zur Einbindung in einem größeren ASIC (Applica­ tion Spezific Iptegrated Circuits) im CAD-Entwurf, in der Praxis auch als Core oder Makro Cell bezeichnet. As a rule, MPS are specified as hardware, for example as a finished microchip, or as a CAD system description for integration into a larger ASIC (Applica tion specific integrated circuits) in CAD design, in practice also as core or Called Macro Cell.  

Zur 2. Realisierungsgruppe gehören digitale Schaltungen, in welchen die komplexen Verarbeitungsaufgaben rein schaltungstechnisch realisiert werden. Diese Art der digi­ talen Schaltung werden in der Regel mit einer hierarchischen Entwurfsmethodik (Top Down) realisiert. Untermodule der Gesamtschaltung sind in der Regel als sequentielle Zustandsmaschinen, zum Beispiel als Mealy- oder Moore-Automaten, ausgelegt. Die­ se Realisierungsform wird folgend Spezialschaltung genannt.The second implementation group includes digital circuits in which the complex Processing tasks can be implemented purely in terms of circuitry. That kind of digi tal circuit are usually with a hierarchical design methodology (Top Down) realized. Sub-modules of the overall circuit are usually sequential State machines, for example designed as Mealy or Moore machines. The This implementation form is called special circuit in the following.

Wenn die Verarbeitung als MPS realisiert wird, treten in der Regel folgende Nachteile auf. Die Verarbeitung eines Datenstromes erfordert funktional meistens eine Vielzahl von Taktzyklen. Diese werden benötigt, um die Informationen aller ankommenden Signalströme zu empfangen, zu speichern. Nach dem Lesen des Microcodes vom RAM werden diese Informationen in der ALU modifiziert und zur vorgegebenen Zeit wieder den abgehenden Signalströmen zur Verfügung gestellt. Die streng sequentiel­ le Bearbeitung entsteht durch die Verwendung nur einer ALU bzw. nur einer Steuer­ logik (siehe superskalare oder VLIW-Maschinen) mit relativ einfacher, allgemeine nutzbaren logischen bzw. arithmetischen Grundfunktionen, welche für die Bearbei­ tung sämtlicher Datenströme benutzt wird. Dies erfordert, daß das MPS mit einer höheren Taktfrequenz, relativ zur höchsten Frequenz eines Datenstromes, arbeiten muß. Beim Entwurf entstehen dadurch größere Anforderungen in bezug auf Verzöge­ rungszeiten der einzusetzenden Hardware. Dadurch wird der Leistungsverbrauch des MPS vergrößert bzw. die Einsatzbreite bei Anwendungen mit hohen Taktraten be­ grenzt. Die zur Verfügung stehenden MPS sind weiterhin feststehende Systeme mit sehr begrenzten Anpassungsmöglichkeiten, welche für die Realisierung spezieller Erfordernisse eingesetzt werden. Damit sind MPS in den meisten Fällen überdimen­ sioniert. Dies wirkt sich nachteilig auf die Produktionskosten aus.When processing as MPS, the following disadvantages generally occur on. The processing of a data stream usually requires a large number of functions of clock cycles. These are needed to keep the information of everyone arriving To receive and store signal streams. After reading the microcode from RAM, this information is modified in the ALU and at the specified time again made available to the outgoing signal streams. The strictly sequential Processing results from the use of only one ALU or only one tax logic (see superscalare or VLIW machines) with relatively simple, general usable logical or arithmetic basic functions which are used for the machining tion of all data streams is used. This requires that the MPS with a higher clock frequency, relative to the highest frequency of a data stream, work got to. This creates greater demands in terms of delays in the design times of the hardware to be used. This will reduce the power consumption of the MPS increases or the range of applications in applications with high clock rates borders. The available MPS are still fixed systems with very limited customization options, which for the realization of special Requirements are used. In most cases, MPS are oversized based. This has an adverse effect on the production costs.

Genannte Nachteile von MPS-Realisierungen können unter Umständen von Spezial­ schaltungen vermieden werden. Dies geht jedoch zu Kosten einer Flexibilität der Schaltungsfunktion, da alle Verarbeitungsschritte schaltungsmäßig fest realisiert wer­ den müssen. Nach der Fertigstellung der Gesamtschaltung ist einer Änderung der Funktion nicht mehr ohne weiteres möglich. Das bedeutet, daß vor der Herstellung der Schaltung in der Praxis ein erheblicher Aufwand an Entwicklungszeit, von qualifi­ ziertem Personal und kosten intensiver CAD-Entwicklungssoftware zu leisten ist, um das Risiko einer Fehlentwicklung zu minimieren. Bei der Ausführung einer solchen Spezialschaltung ist weiterhin nachteilig, daß die Untermodule als sequentielle Zustandsmaschine realisiert sind. Damit existieren in der Spezialschaltung eine Vielzahl von taktflankengesteuerten Zustandsregistern, welche in der realisierten Schaltung, zum Beispiel in einem ASIC-Layout, in der Schaltungsanordnung zusammen mit kombinatorischen Schaltungselementen verteilt werden. Dies wirkt sich besonders nachteilig bei dem Verlegen der Takt-Verbindungen zu den Zustandsregistern aus. Dabei entsteht leicht das Problem des sogenannten Clock-Skew. Clock-Skew ist eine unerwünschte Phasenverschiebung bei Taktverbindungen. Weiterhin vergrößert sich mit der Anzahl der taktflankengesteuerten Zustandsregister die dynamische Verlust­ leistung, die einen Großteil der gesamten Verlustleistung ausmacht. Ein anderer ent­ scheidender Punkt bei ASIC′s ist die Testbarkeit einer Schaltung während der Pro­ duktionsphase. Dort ist es das Ziel mit einer minimalen Anzahl von Testvektoren eine Mindestabdeckung möglicher Fertigungsfehler zu gewährleisten. Um dies zu errei­ chen, ist es notwendig die bestehende, funktional bereits fertige Spezialschaltung durch Teststrukturen zu erweitern. Dies hat bei einer Spezialschaltung eine erhebliche Vergrößerung der fertigen Schaltungsfläche zur Folge je mehr Verarbeitungsschritte der Datenströme existieren. Mentioned disadvantages of MPS implementations may be special circuits are avoided. However, this comes at the cost of flexibility Circuit function, since all processing steps are implemented in terms of circuitry have to. After the completion of the overall circuit is a change in the Function no longer possible. That means that before manufacturing the circuit in practice a considerable amount of development time, from qualifi graceful staff and cost intensive CAD development software to minimize the risk of an undesirable development. When executing one Special circuit is also disadvantageous that the sub-modules as a sequential state machine are realized. This means that there are many in the special circuit of clock edge-controlled status registers, which in the implemented circuit, for example in an ASIC layout, in the circuit arrangement together with combinatorial circuit elements are distributed. This has a particular impact disadvantageous when routing the clock connections to the status registers. This easily creates the problem of clock skew. Clock skew is one undesired phase shift in clock connections. It continues to grow with the number of clock edge controlled status registers the dynamic loss power that accounts for a large part of the total power loss. Another ent a crucial point in ASIC's is the testability of a circuit during the pro production phase. There it is the target with a minimum number of test vectors one To ensure minimum coverage of possible manufacturing defects. To achieve this Chen, it is necessary to use the existing, functionally finished special circuit to expand through test structures. This has a considerable effect with a special circuit Enlargement of the finished circuit area as a result of the more processing steps of the data streams exist.  

Der Erfindung liegt die Aufgabe zugrunde eine Schaltungsstruktur zur Verarbeitung mehrerer Datenströme zu schaffen, aus welcher sich mit einem reduzierten Entwick­ lungsaufwand eine digitale Schaltung beschreiben und modellieren läßt. Diese soll auch nach der Fertigstellung eine Flexibilität der Funktion gewährleisten. Weiterhin soll die benötigte elektrische Betriebsleistung reduziert und die Testbarkeit in einer frühen Phase des Entwurfes mit einem geringen Aufwand von Teststrukturen ge­ währleistet werden. Zum schrittweisen Verarbeiten der Datenströme sollen nur weni­ ge Taktzyklen benötigt werden. Die Schaltung soll auch für viele Anwendungsfälle der Verarbeitung von Datenströmen geeignet sein. Darüber hinaus soll eine hohe Über­ sichtlichkeit der Schaltung durch wenige Untermodule gewährleistet sein, um mit we­ nig Spezialwissen eine bestehende Schaltung zu modifizieren.The invention has for its object a circuit structure for processing to create multiple data streams, from which a reduced development effort to describe and model a digital circuit. This should Ensure flexibility of function even after completion. Farther should reduce the electrical operating power required and the testability in one early phase of design with little effort from test structures be guaranteed. For the gradual processing of the data streams, only a few clock cycles are required. The circuit is also intended for many applications Processing of data streams may be suitable. In addition, a high over Visibility of the circuit can be guaranteed by a few sub-modules in order to work with we little special knowledge to modify an existing circuit.

Diese Aufgabe wird durch eine Schaltungsstruktur gelöst, welche mindestens folgen­ de Elemente aufweist (siehe Fig. 1, Fig. 2, Fig. 3):This object is solved by a circuit structure comprising at least follow de elements has (see Figures 1, 2, 3...):

  • - Funktionseinheiten, in welchen arithmetische bzw. logische Funktionen elek­ tronisch realisiert sind, folgend ALU (1e, 2e, 3c) genannt.- Functional units in which arithmetic or logical functions are implemented electronically, hereinafter referred to as ALU ( 1 e, 2 e, 3 c).
  • - eine Speichereinheit für digitale Informationen, folgend RAM (7) genannt.- A storage unit for digital information, hereinafter called RAM ( 7 ).
  • - taktgesteuerte Register zur Gewährleistung eines taktweisen Zustandwechsels (6).- Clock-controlled register to ensure a clock-wise change of state ( 6 ).

Eine solche Schaltungsstruktur ist durch folgende Hauptmerkmale gekennzeichnet:Such a circuit structure is characterized by the following main features:

  • - für einen Datenstrom (3) wird eine ALU (3c) zugeordnet,- for a data stream ( 3 ) an ALU ( 3 c) is assigned,
  • - die zugeordnete ALU (3c) ist zur Verarbeitungsaufgabe speziell ausgeführt (11, 12, 13, 14, 15) und verarbeitet die Verarbeitungsaufgabe umfassend (IDLE, TRA3.0/REC3.0 bis TRA3.n/REC3.n bzw. E3/E4, IT3.0/IR3.0 bis R6/R5),- The assigned ALU ( 3 c) is specially designed for the processing task ( 11, 12, 13, 14, 15 ) and processes the processing task comprehensively (IDLE, TRA3.0 / REC3.0 to TRA3.n / REC3.n or E3 / E4, IT3.0 / IR3.0 to R6 / R5),
  • - die zugeordnete ALU (3c) erzeugt die Steuerung (11, 13, 14 bzw. 3d, 3f, 3g bzw. 4a, 4c, 4d bzw. 6a, 6c, 6d) und die Eingangsdaten (12 bzw. 3e bzw. 4b bzw. 6b) für den RAM (7) bzw. die Register (6),- The assigned ALU ( 3 c) generates the control ( 11 , 13 , 14 or 3 d, 3 f, 3 g or 4 a, 4 c, 4 d or 6 a, 6 c, 6 d) and Input data ( 12 or 3 e or 4 b or 6 b) for the RAM ( 7 ) or the register ( 6 ),
  • - es erfolgt eine Rückkopplung der Steuerung (6a) oder der RAM- bzw. Register-Ausgangsdaten (9, 10) zur zugeordneten ALU (3c),- The control ( 6 a) or the RAM or register output data ( 9 , 10 ) is fed back to the assigned ALU ( 3 c),
  • - es bestehen mindestens zwei, zu Datenströmen (1, 2, 3) zugeordnete, ALU-Einheiten (1e, 2e, 3c), wenn eine ALU-Funktion nicht in mehrere zugeordnete ALU-Einheiten mit vorgenannten Merkmalen aufteilbar ist.- There are at least two ALU units ( 1 e, 2 e, 3 c) assigned to data streams ( 1 , 2 , 3 ) if an ALU function cannot be divided into several assigned ALU units with the aforementioned features.

Weiterhin ist eine Schaltungsstruktur mit genannten Eigenschaften durch folgende, vorteilhafte Nebenpunkte gekennzeichnet (siehe Fig. 1, Fig. 2, Fig. 3, Fig. 4, Fig. 5):Furthermore, a circuit structure is marked with said properties by the following, advantageous side points (see Figures 1, 2, 3, 4, 5.....):

  • - Taktgesteuerte Register sind so eingefügt (6, 8), daß ein Großteil aller ALU-Funktionen in einen Signalweg zwischen einer minimalen Anzahl von Registerstufen (6, 8) liegen.- Clock-controlled registers are inserted ( 6, 8 ) so that a large part of all ALU functions are in a signal path between a minimum number of register stages ( 6 , 8 ).
  • - Die ALU-Einheiten erzeugen wechselseitig die RAM-Schreibzugriffe.- The ALU units mutually generate the RAM write accesses.
  • - Abgehende Signalleitungen (1c, 1d, 2d, 2c, 3b) werden bei jedem Taktwechsel ge­ steuert.- Outgoing signal lines ( 1 c, 1 d, 2 d, 2 c, 3 b) are controlled with every clock change.
  • - Die beschriebene Schaltungsstruktur kann als Vorlage erstellt werden, aus der spezifische digitale Schaltungen entwickelt werden oder aus welcher ein Modell zur Simulation erstellt wird.- The circuit structure described can be created as a template from which specific digital circuits are developed or from which a model for Simulation is created.
  • - Die Schaltungsstruktur, oder, von deren Vorlage, abgeleitete Schaltungen weisen Teststrukturen auf, wobei ein Teil der Teststrukturen den RAM bedient und die anderen Teststrukturen so eingefügt sind, daß die ALU-Funktionen beobachtbar sind.- The circuit structure, or, derived from its template, have circuits Test structures, with some of the test structures serving the RAM and the other test structures are inserted so that the ALU functions are observable.
  • - Jeder ALU (27, 28, 29, 30) wird ein Teil (21, 22, 23, 24, 25) des RAM-Bereichs (26) zugeordnet, in welchem die zugeordnete ALU Schreiboperationen ausführen kann.- Each ALU ( 27 , 28 , 29 , 30 ) is assigned a part ( 21 , 22 , 23 , 24 , 25 ) of the RAM area ( 26 ) in which the assigned ALU can carry out write operations.

Fig. 1 zeigt das Blockdiagramm der bevorzugten Ausführungsform. Fig. 1 shows the block diagram of the preferred embodiment.

Fig. 2 zeigt das Blockdiagramm einer ALU. Fig. 2 shows the block diagram of an ALU.

Fig. 3 zeigt eine prinzipielle Ablauffolge für das Betreiben der Schaltungsstruktur. Fig. 3 shows a basic sequence for operating the circuit structure.

Fig. 4a zeigt eine Prinzipschaltung der Schaltungsstruktur als DSP. Fig. 4a shows a basic circuit diagram of the circuit structure as DSP.

Fig. 4b zeigt ein Beispiel einer RAM-Unterteilung für die ALU-Schreibzugriffe (bezo­ gen auf Fig. 4b). FIG. 4b shows an example of a RAM subdivision for the ALU write accesses (with reference to FIG. 4b).

Wie Fig. 1 zeigt, verarbeitet die bevorzugte Ausführungsform einer Schaltungsstruktur drei Datenströme 1, 2, 3. Der erste Datenstrom 1 besteht aus 2 ankommenden Signa­ len mit jeweils einer abgehenden (abg.) und ankommenden (ank.) 1-Bit-Leitung 1a, 1c sowie einen abg. Datenbus 1d mit einer Busbreite von u und einen ank. Datenbus 1b mit der Busbreite von z. Der zweite Datenstrom 2 hat das gleiche Format wie Da­ tenstrom 1 nur mit den Busbreiten s und t. Der dritte Datenstrom 3 besteht aus einer ank. 1-Bit-Leitung 3a sowie einer abg. 1-Bit-Leitung 3b. Diesen Datenströmen werden 3 ALU-Einheiten 1e, 2e, 3c zugeordnet, welche in ihrer Funktion den Verarbeitungs­ aufgaben der Datenströmen angepaßt sind. Von jeder ALU laufen je 2 RAM-Steuer­ signale 1f, 1g, 2f, 2g, 3f, 3h, die ebenso wie die ALU-Adreß- 1i, 2i, 3d und Datenlei­ tungen 1h, 2h, 3c zum Modul ALU-MUX 4 geführt werden. Im Module ALU-MUX 4 erfolgt die Zusammenfassung aller Eingänge zu je einer Ansteuergruppe, bestehend aus den Steuersignalen 4c, 4d sowie den Adreß- 4a und RAM-Eingangsdatenbus 4b. Bevor diese als RAM-Eingänge 6a, 6b, 6c, 6d fungieren, wird eine Registerstufe 6, bestehend aus (x+y+2) Registern, zwischengeschalten, zum Beispiel D-Flip-Flops, welche mit dem Takt 5 gesteuert werden. Die Registerausgänge fungieren als RAM-Ansteuerung. Daneben werden die Adreßleitungen 6a wieder zu den ALU-Ein­ heiten 1e, 2e, 3c zurückgekoppelt. Dies geschieht ebenfalls mit den RAM-Ausgangs­ daten 10, nachdem diese ebenfalls eine Registerstufe 8 durchlaufen, welche y Regi­ ster umfaßt, gesteuert mit dem Takt 5. Der RAM 7 besteht üblicherweise aus einem Speicherfeld, einen Adreßdekoder sowie einer Steuerlogik.As shown in FIG. 1, the preferred embodiment of a circuit structure processes three data streams 1, 2, 3 . The first data stream 1 consists of 2 incoming signals, each with an outgoing (outgoing) and incoming (incoming) 1-bit line 1 a, 1 c and an outgoing data bus 1 d with a bus width of u and one incoming. Data bus 1 b with the bus width of z. The second data stream 2 has the same format as data stream 1 only with the bus widths s and t. The third data stream 3 consists of an ank. 1-bit line 3 a and an ab. 1-bit line 3 b. These data streams are assigned 3 ALU units 1 e, 2 e, 3 c, which are adapted in their function to the processing tasks of the data streams. 2 RAM control signals 1 f, 1 g, 2 f, 2 g, 3 f, 3 h run from each ALU, which, like the ALU address 1 i, 2 i, 3 d and data lines 1 h, 2 h, 3 c to the ALU-MUX 4 module. In the ALU-MUX 4 module, all inputs are combined into one control group each, consisting of the control signals 4 c, 4 d and the address 4 a and RAM input data bus 4 b. Before these act as RAM inputs 6 a, 6 b, 6 c, 6 d, a register stage 6 , consisting of (x + y + 2) registers, is interposed, for example D flip-flops, which operate with clock 5 to be controlled. The register outputs act as RAM control. In addition, the address lines 6 a are fed back to the ALU units 1 e, 2 e, 3 c. This also happens with the RAM output data 10 after they also pass through a register stage 8 , which comprises y registers, controlled by the clock 5th The RAM 7 usually consists of a memory field, an address decoder and control logic.

In der Fig. 2 ist das innere Realisierungsprinzip der ALU3 3c erkennbar. Der Adreß­ bus 6a und der RAM-Datenausgangsbus 10 und die ank. Leitung 3a dienen als Ein­ gänge für die ALU3-Komponenten SUB-ALU3.1 11, zur Generierung des ALU3-Adreßbus 3d. Über die SUB-ALU3.2 12 erfolgt die Generierung des ALU3-Daten­ eingangsbus 3e. Die STEUERLOGIK3.1 13 erzeugt die ALU3 Steuerleitung Read 3f. Die STEUERLOGIK3.2 14 dient zur Generierung der ALU3 Steuerleitung Write 3g sowie mit SUB-ALU3.2 15 erfolgt die Generierung der abg. Leitung 3b. Die ALU1 1e und ALU2 2e werden ähnlich realisiert. The inner realization principle of the ALU3 3 c can be seen in FIG. 2. The address bus 6 a and the RAM data output bus 10 and the ank. Line 3 a serve as inputs for the ALU3 components SUB-ALU3.1 11 , for generating the ALU3 address bus 3 d. The ALU3 data input bus 3 e is generated via SUB-ALU3.2 12 . CONTROLLOGIK3.1 13 generates the ALU3 control line Read 3 f. CONTROLLOGIK3.2 14 is used to generate the ALU3 control line Write 3 g and SUB-ALU3.2 15 is used to generate the line 3 b. The ALU1 1 e and ALU2 2 e are implemented in a similar way.

Nachfolgende Erläuterungen beziehen sich auf Fig. 3. Vom Grundzustand IDLE, dem eine Startadresse zugeordnet ist, kann in Abhängigkeit des Auftretens verschiedener Signale der ankommenden Datenströme oder des Zustandes der RAM-Daten, E1-E6, in die Folgezustände TRA1, REC1, TRA3.0, REC3.0, TRA2, REC2, umgeschaltet werden. Dies erfolgt, indem zu jedem Zustand eine Adresse im RAM-Bereich zuge­ ordnet wird, welche die betreffende ALU berechnet. Jetzt können die externen Daten in den adressierten RAM-Bereich geladen werden (REC1, REC3.x, REC2), oder die Daten aus diesem RAM-Bereich über die abgehenden Leitungen der Datenströme zur Verfügung gestellt werden (TRA1, TRA3.x, TRA2). Danach wird in diesem Bei­ spiel zum Grundzustand IDLE zurückgekehrt. Dabei können wiederum die RAM-Da­ ten der Startadresse aber auch die abgehenden Signalströme der Datenströme be­ einflußt werden (R1, R2, R3, R4, R5, R6).The following explanations refer to FIG. 3. From the basic state IDLE, to which a start address is assigned, depending on the occurrence of various signals of the incoming data streams or the state of the RAM data, E1-E6, the following states TRA1, REC1, TRA3 can be used. 0, REC3.0, TRA2, REC2. This is done by assigning an address in the RAM area to each state, which calculates the relevant ALU. Now the external data can be loaded into the addressed RAM area (REC1, REC3.x, REC2), or the data from this RAM area can be made available via the outgoing lines of the data streams (TRA1, TRA3.x, TRA2) . After this, the game returns to the basic state IDLE. The RAM data of the start address can also be influenced, but also the outgoing signal streams of the data streams (R1, R2, R3, R4, R5, R6).

Speziell zu dem Abarbeiten des Datenstroms 3 sei angemerkt, daß während der Zu­ standsübergänge (IT3.x bzw. IR3.x) neben der reinen Abspeicherung oder des Sen­ dens eine Manipulation der Daten vorgenommen werden kann, indem beispielsweise ein Datenbit (eine Bit-Leitung vom RAM-Ausgangsdatenbus 10) mit dem vorangegan­ genen Datenbit (eine andere Bit-Leitung vom RAM-Ausgangsdatenbus 10) über eine XOR-Logik (realisiert in den SUB-ALU3.2 12 und SUB-ALU3.3 15, Fig. 2) verknüpft wird. Je nach Zustand (IT3.x bzw. IR3.x) kann diese Verknüpfung in der ALU aktiviert oder deaktiviert werden. Mit dieser Maßnahme lassen sich leicht spezielle Polynom­ operationen, zum Beispiel Scrambling-Funktionen, CRC-Prüffunktionen, Fehlerkor­ rekturen oder Verschlüsselungsoperationen mit wenig Aufwand realisieren, welche in vielen Anwendungsfällen, zum Beispiel bei DECT/GSM-Anwendungen, benötigt wer­ den. Folgende Tabellen erläutern detailliert den Funktionsablauf im Zusammenhang mit Fig. 3.In particular for the processing of the data stream 3 , it should be noted that during the state transitions (IT3.x or IR3.x), in addition to the mere storage or transmission, the data can be manipulated by, for example, a data bit (a bit line from RAM output data bus 10 ) with the previous data bit (another bit line from RAM output data bus 10 ) via XOR logic (implemented in SUB-ALU3.2 12 and SUB-ALU3.3 15 , Fig. 2) is linked. Depending on the state (IT3.x or IR3.x), this link can be activated or deactivated in the ALU. With this measure, special polynomial operations, for example scrambling functions, CRC test functions, error corrections or encryption operations, can be easily implemented, which are required in many applications, for example in DECT / GSM applications. The following tables explain the functional sequence in connection with FIG. 3.

In Tabelle 1 erfolgt die Auflistung der Zustände sowie deren funktionalen Zusammen­ hang in der Gesamtschaltung. In der Tabelle 2 sind alle Aktionen aufgelistet, welche bei den einzelnen Zustandswechseln empfangen oder von der Schaltung erzeugt werden. Table 1 lists the states and their functional combination hang in the overall circuit. In table 2 all actions are listed, which ones received with the individual changes of state or generated by the circuit will.  

Tabelle 1 Table 1

Erläuterung der Zustände in Fig. 3 Explanation of the states in FIG. 3

Tabelle 2 Table 2

Ereignisse für Zustandswechsel in Fig. 3 Events for state changes in FIG. 3

Vorangegangene Erläuterungen bezogen sich auf das Realisierungsprinzip der Schaltungsstruktur als Alternative zu Spezialschaltungen (Bezugnahme auf Fig. 1, Fig. 2, Fig. 3). Gegenüber den Spezialschaltungen zeichnet sich die Schaltungsstruk­ tur dadurch aus, daß sich die benötigten Zustands- oder Datenspeicher einer Schal­ tung zum Großteil in den RAM legen fassen. Zweckmäßigerweise werden nur globale Zustände in flankengesteuerte Register implementiert. Dies sind hier (Fig. 1) die Adreßregister 6a. Dadurch entstehen für ein ASIC-Entwurf mit der Schaltungsstruk­ tur als Grundlage folgende Vorteile gegenüber herkömmlichen Spezialschaltungen:The preceding explanations related to the implementation principle of the circuit structure as an alternative to special circuits (reference to FIG. 1, FIG. 2, FIG. 3). Compared to the special circuits, the circuit structure is characterized by the fact that the required state or data memory of a circuit can be put in the RAM for the most part. Only global states are expediently implemented in edge-controlled registers. These are ( Fig. 1) the address register 6 a. This results in the following advantages over conventional special circuits for an ASIC design based on the circuit structure:

  • 1. Der Leistungsverbrauch der Gesamtschaltung wird begrenzt, weil nur noch wenige leistungsintensive flankengesteuerte Register benutzt werden.1. The power consumption of the overall circuit is limited because only a few power-intensive edge-controlled registers are used.
  • 2. Die Testbarkeit der Schaltungsstruktur ist von der Spezifikationsphase an gewähr­ leistet, da die Registerstruktur qualitativ feststeht. Diese Register können nun übli­ cherweise durch spezielle Testregister ausgetauscht werden. Damit wird eine An­ wendbarkeit von automatischen Testmustergeneratoren (ATPG) gewährleistet, wo­ durch sich die Zeit zur Implementierung von Testmustern wesentlich verkürzt und ei­ ne minimale Anzahl von Testmustern pro Schaltung erreichen läßt. Die Beobachtbar­ keit der Schaltung im Test ist gut, weil die kombinatorischen Elemente zwischen nur zwei Registerstufen (6, 8) liegen.2. The testability of the circuit structure is guaranteed from the specification phase, since the register structure is qualitatively fixed. These registers can now usually be replaced by special test registers. This ensures the applicability of automatic test pattern generators (ATPG), which significantly shortens the time to implement test patterns and achieves a minimum number of test patterns per circuit. The observability of the circuit in the test is good because the combinatorial elements lie between only two register stages ( 6 , 8 ).
  • 3. Der Flächenbedarf der Schaltung ist geringer, weil ein Großteil der Systemzustän­ de und Daten im RAM liegen, welcher im Flächenbedarf üblicherweise optimiert ist (bei ASIC′s), weil nur wenige (Test-)Register existieren und weil ein Großteil aller ver­ wendeten kombinatorischen Elemente zwischen nur zwei Registerstufen liegen. Da­ mit ist es möglich mit relativ einfachen Mitteln der Boolschen Algebra redundante Kombinatorik zu eliminieren. Dies erfolgt in der Regel automatisch durch ein Synthe­ seprogramm, wenn die Schaltung als synthesefähige Beschreibung, VHDL oder Veri­ log, vorliegt. (Bei Spezialschaltungen liegen die kombinatorischen Elemente zwischen vielen Registerstufen.)3. The area requirement of the circuit is less because a large part of the system states de and data are in RAM, which is usually optimized in terms of space requirements (at ASIC’s) because only a few (test) registers exist and because a large part of all ver combinatorial elements used lie between only two register levels. There with it is possible with relatively simple means of Boolean algebra redundant Eliminate combinatorics. This is usually done automatically by a synthesis se program if the circuit as a synthesis-capable description, VHDL or Veri log, is present. (In the case of special circuits, the combinatorial elements are between many register levels.)
  • 4. Durch die räumliche Trennung von kombinatorischen Elementen und den zusam­ menhängende Strukturen der Register werden Probleme im ASIC-Layout vermieden (siehe Clock-Skew).4. By the spatial separation of combinatorial elements and the together hanging structures of the registers problems in the ASIC layout are avoided (see clock skew).
  • 5. Die Schaltungsstruktur ist besonders einfach mit HDL-Programmiersprachen, VHDL oder Verilog, zu implementieren, da nur wenige Submodule existieren. Dabei können insbesondere die ALU-Submodule auch von Entwicklern mit relativ geringen Kenntnissen genannter HDL-Programmiersprachen implementiert werden. Weiterhin ist es dadurch möglich Vorlagen (Templates) zu produzieren.5. The circuit structure is particularly simple with HDL programming languages, VHDL or Verilog to implement, since only a few submodules exist. Here In particular, the ALU submodules can also be used by developers with relatively few Knowledge of the HDL programming languages mentioned can be implemented. Farther it is possible to produce templates.
  • 6. Die Schaltungsstruktur kann funktional flexibel ausgelegt werden. Dies ist abhän­ gig, wie speziell die einzelnen ALU-Funktionen zur Verarbeitungsaufgabe ausgelegt sind. Relativ einfache ALU-Funktionen können Verarbeitungsaufgaben universeller verarbeiten, indem RAM-Inhalte als Microcode MPS-ähnlich abgearbeitet werden. Durch eine Modifikation des Microcodes kann dann der funktionale Ablauf auch nach Fertigung als ASIC beeinflußt werden. Ein Datenstrom mit ALU kann die Funktion des Ladens, zum Beispiel eines Initialzustandes, bzw. eines Auslesens des RAM-Inhaltes übernehmen.6. The circuit structure can be designed to be functionally flexible. This is dependent gig, how specially designed the individual ALU functions for the processing task are. Relatively simple ALU functions can make processing tasks more universal process by processing RAM contents as microcode similar to MPS. The functional sequence can then also be modified by modifying the microcode Manufacturing affected as ASIC. A data stream with ALU can function as Loading, for example an initial state, or reading out the RAM content take over.

Eben beschriebener Punkt 6 ist Ausgangspunkt einer weiteren Verwendungsmöglich­ keit der beschriebenen Schaltungsstruktur. Hingewiesen wird auf den Fakt, daß selbst eine Schaltungsstruktur mit geringster Flexibilität, also nahe einer Spezialschal­ tung genannte Vorteile (siehe Punkte 1-5) besitzt.Point 6 just described is the starting point for further use speed of the circuit structure described. Attention is drawn to the fact that even a circuit structure with the least flexibility, i.e. close to a special scarf benefits (see points 1-5).

Die Schaltungsstruktur, welche in der Funktionsweise und Aufbau einen MPS oder einen DSP ähnlich ist, wird in Fig. 4a prinzipiell dargestellt. Hierbei werden spezielle Arithmetikfunktionen als Verarbeitungsaufgaben der Datenströme gleichen Formats verwendet. Dargestellt wird eine Struktur mit 4 ALU-Blöcken, wobei eine ALU 27 exi­ stiert, welche herkömmliche Funktionalität besitzt, und vorrangig das Interface zu Standard-Ein/Ausgaben 16,17 bedient. Weiterhin existieren 2 spezielle ALU-Blöcke 28, 29, die spezielle arithmetische Operationen mit geringerer Zyklenzahl als die Standard ALU 27 verarbeiten können. Der 4. ALU-Block 30 ist die ALU mit der spe­ zialisiertesten Funktion. Diese soll hier ein externes Regelobjekt 18 bedienen und stellt damit die Regelfunktion einer Regelkette dar. Alle Daten werden hier auf einen Datenbus 20 geführt. Weiterhin wird in allen ALU-Funktionen (27, 28, 29, 30) die Adreß-Steuerung dieses DSP′s beeinflußt.The circuit structure, which is similar in function and structure to an MPS or a DSP, is shown in principle in FIG. 4a. Here special arithmetic functions are used as processing tasks of the data streams of the same format. A structure with 4 ALU blocks is shown, an ALU 27 existing, which has conventional functionality, and primarily serves the interface to standard inputs / outputs 16 , 17 . There are also 2 special ALU blocks 28 , 29 that can process special arithmetic operations with fewer cycles than the standard ALU 27 . The fourth ALU block 30 is the ALU with the most specialized function. This is intended to serve an external control object 18 and thus represents the control function of a control chain. All data are routed to a data bus 20 here. Furthermore, the address control of this DSP is influenced in all ALU functions ( 27 , 28 , 29 , 30 ).

Zur prinzipiellen Funktionsweise dieses DSP-Schaltungsprinzips dient Fig. 4b, welches die Schreibzugriffe in den RAM 7 ordnet. Die Standard ALU 27 bzw. Standard E/A 17 haben in einer Initialisierungsphase Schreibzugriff 25 auf den gesamten RAM-Bereich 26. So können Voreinstellungen, zum Beispiel für die Regler ALU 30, vorgenommen werden. Nach der Initialisierung wird dieser Schreibzugriff auf einen Teil des RAM-Bereichs 21 begrenzt. Die ALU-Blöcke 28, 29, 30 können immer nur auf begrenzte RAM-Bereiche zugreifen 22, 23, 24.Is used for the basic operation of this DSP circuit principle Fig. 4b, which assigns the write access to the RAM 7. The standard ALU 27 and standard I / O 17 have write access 25 to the entire RAM area 26 in an initialization phase. This allows presettings, for example for the ALU 30 controller, to be made. After initialization, this write access is limited to part of the RAM area 21 . The ALU blocks 28 , 29 , 30 can only access limited RAM areas 22, 23, 24 .

Durch dieses Funktionsprinzip können die speziellen ALU-Funktionen die Aufgaben von Co-Prozessoren übernehmen, welche herkömmlich parallel zur MPS eingebun­ den werden. Bei Realisierung solcher DSP-Strukturen ist es sicher zweckmäßig, ent­ sprechende Compiler bzw. Linker zu entwickeln, um die Programmabwicklung zu optimieren. Als entscheidender Vorteil wird die Verminderung der Taktrate gegenüber konventioneller DSP/MPS gesehen, weil externe Datenströme direkt über die ALU-Blöcke direkten Zugriff auf den RAM verfügen.Thanks to this functional principle, the special ALU functions can perform the tasks from co-processors, which are traditionally integrated in parallel to the MPS that will. When implementing such DSP structures, it is certainly advisable to use ent to develop speaking compilers or linkers to handle the program optimize. The decisive advantage is the reduction in the clock rate over conventional DSP / MPS seen because external data streams directly through the ALU blocks have direct access to RAM.

Claims (7)

1. Schaltungsstruktur zur Verarbeitung mehrerer Datenströme (1, 2, 3) zum Beschrei­ ben oder Modellieren digitaler Schaltungen, wobei das Format mindestens eines Datenstroms oder mindestens eine Ver­ arbeitungsaufgabe der einzelnen Datenströme hinreichend komplex sind, mindestens bestehend aus Funktionseinheiten, in welchen eine Vielzahl logischer bzw. arithmetischer Grund­ funktionen elektronisch realisiert sind (1e, 2e, 3c), folgend wird eine solche Funktions­ einheit als eine ALU bezeichnet, aus einer Speichereinheit digitaler Informationen (7), folgend als RAM bezeichnet, aus taktgesteuerten (5) Registern (6, 8), welche so zweckmäßig eingebaut sind, daß ein schrittweiser Zustandswechsel erfolgt, gekennzeichnet durch folgende Merkmale:
  • - für einen Datenstrom (3) wird eine ALU (3c) zugeordnet,
  • - die zugeordnete ALU (3c) ist zur Verarbeitungsaufgabe speziell ausgeführt (11, 12, 13, 14, 15) und verarbeitet die Verarbeitungsaufgabe umfassend (IDLE, TRA3.0/REC3.0 bis TRA3.n/REC3.n bzw. E3/E4, IT3.0/IR3.0 bis R6/RS),
  • - die zugeordnete ALU (3c) erzeugt die Steuerung (11, 13, 14 bzw. 3d, 3f, 3g bzw. 4a, 4c, 4d bzw. 6a, 6c, 6d) und die Eingangsdaten (12 bzw. 3e bzw. 4b bzw. 6b) für den RAM (7) bzw. die Register (6),
  • - es erfolgt eine Rückkopplung der Steuerung (6a) oder der RAM- bzw. Register- Ausgangsdaten (9, 10) zur zugeordneten ALU (3c),
  • - es bestehen mindestens zwei, zu Datenströmen (1, 2, 3) zugeordnete, ALU-Einheiten (1e, 2e, 3c), wenn eine ALU-Funktion nicht in mehrere zugeordnete ALU-Einheiten mit vorgenannten Merkmalen aufteilbar ist.
1. Circuit structure for processing several data streams ( 1 , 2, 3 ) for describing or modeling digital circuits, the format of at least one data stream or at least one processing task of the individual data streams being sufficiently complex, at least consisting of functional units in which a large number of logical ones or basic arithmetic functions are implemented electronically ( 1 e, 2 e, 3 c), hereinafter such a functional unit is referred to as an ALU, from a storage unit of digital information ( 7 ), hereinafter referred to as RAM, from clock-controlled ( 5 ) registers ( 6 , 8 ), which are installed appropriately so that there is a gradual change of state, characterized by the following features:
  • - for a data stream ( 3 ) an ALU ( 3 c) is assigned,
  • - The assigned ALU ( 3 c) is specially designed for the processing task ( 11, 12, 13, 14, 15 ) and processes the processing task comprehensively (IDLE, TRA3.0 / REC3.0 to TRA3.n / REC3.n or E3 / E4, IT3.0 / IR3.0 to R6 / RS),
  • - The assigned ALU ( 3 c) generates the control ( 11 , 13 , 14 or 3 d, 3 f, 3 g or 4 a, 4 c, 4 d or 6 a, 6 c, 6 d) and Input data ( 12 or 3 e or 4 b or 6 b) for the RAM ( 7 ) or the register ( 6 ),
  • - There is a feedback of the control ( 6 a) or the RAM or register output data ( 9 , 10 ) to the assigned ALU ( 3 c),
  • - There are at least two ALU units ( 1 e, 2 e, 3 c) assigned to data streams ( 1 , 2 , 3 ) if an ALU function cannot be divided into several assigned ALU units with the aforementioned features.
2. Schaltungsstruktur nach Patentanspruch 1 dadurch gekennzeichnet, daß eine minimale Anzahl taktgesteuerter (5) Registerstufen (6, 8) so eingefügt wer­ den, daß ein Großteil aller kombinatorischen Elemente, welche im wesentlichen in den ALU-Einheiten (1e, 2e, 3c) realisiert sind, im Signalweg zwischen den Register­ ausgängen (6a, 10) und Registereingängen (4a, 4b, 4c, 4d) liegen.2. Circuit structure according to claim 1, characterized in that a minimum number of clock-controlled ( 5 ) register stages ( 6 , 8 ) are inserted so that the majority of all combinatorial elements, which are essentially in the ALU units ( 1 e, 2 e, 3 c) are realized, lie in the signal path between the register outputs ( 6 a, 10 ) and register inputs ( 4 a, 4 b, 4 c, 4 d). 3. Schaltungsstruktur nach Patentanspruch 1 dadurch gekennzeichnet, daß die ALU-Einheiten (1e, 2e, 3c) wechselseitig die Schreibzugriffe zu den RAM (7) erzeugen. 3. Circuit structure according to claim 1, characterized in that the ALU units ( 1 e, 2 e, 3 c) mutually generate the write accesses to the RAM ( 7 ). 4. Schaltungsstruktur nach Patentanspruch 1 dadurch gekennzeichnet, daß abgehende (1c, 1d, 2c, 2d, 3b) Signalleitungen der Datenströme (1, 2, 3) bei je­ dem Zustandswechsel gesteuert werden.4. Circuit structure according to claim 1, characterized in that outgoing ( 1 c, 1 d, 2 c, 2 d, 3 b) signal lines of the data streams ( 1, 2, 3 ) are controlled with each change of state. 5. Schaltungsstruktur nach Patentanspruch 2 dadurch gekennzeichnet, daß die Schaltungsstruktur oder abgeleitete digitale Schaltungen nach Patent­ anspruch 7 Teststrukturen aufweisen, welche das Erzeugen von minimalen Anzahlen von Prüfmustern, vorzugsweise mit automatischen Testmustergeneratoren, garantie­ ren, durch welche Fertigungsfehler in digitalen Schaltungen erkannt werden können, wobei eine zusammenfaßbare Einheit einer Teststruktur die Speichereinheit bedient, andere Teststrukturen so eingefügt sind, daß die sonstigen logischen Elemente oder Verbindungen dieser Schaltungsstruktur beobachtbar sind.5. Circuit structure according to claim 2 characterized, that the circuit structure or derived digital circuits according to patent Claim 7 have test structures that generate minimal numbers of test samples, preferably with automatic test sample generators, guarantee through which manufacturing defects in digital circuits can be identified, where a summarizable unit of a test structure serves the storage unit, other test structures are inserted so that the other logical elements or Connections of this circuit structure are observable. 6. Schaltungsstruktur nach den Patentansprüchen 1, 2, 3, 4, 5 dadurch gekennzeichnet, daß die Schaltungsstruktur als Vorlage oder als Modell erstellt wird, aus welchen digi­ tale Schaltungen erzeugt werden können oder Simulationen durchgeführt werden.6. Circuit structure according to claims 1, 2, 3, 4, 5 characterized, that the circuit structure is created as a template or as a model, from which digi tal circuits can be generated or simulations can be carried out. 7. Schaltungsstruktur nach Patentanspruch 1 dadurch gekennzeichnet, daß jeder ALU (27, 28, 29, 30) Teile des Speicherbereichs (26) der RAM-Einheit (7) zugeordnet werden (21, 22, 23, 24, 25), in welchen die zugeordnete ALU Schreib­ operationen bzw. eine Modifikation des RAM-Inhalts vornehmen kann.7. Circuit structure according to claim 1, characterized in that each ALU ( 27 , 28 , 29 , 30 ) parts of the memory area ( 26 ) of the RAM unit ( 7 ) are assigned ( 21, 22, 23, 24, 25 ), in which the assigned ALU write operations or a modification of the RAM content can make.
DE19714756A 1997-04-10 1997-04-10 Data processing circuit structure for describing or modelling of digital circuit Ceased DE19714756A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE19714756A DE19714756A1 (en) 1997-04-10 1997-04-10 Data processing circuit structure for describing or modelling of digital circuit
JP10542258A JP2000515658A (en) 1997-04-10 1998-04-08 Design method of complex digital integrated circuit and circuit structure
PCT/DE1998/001019 WO1998045794A1 (en) 1997-04-10 1998-04-08 Method for designing complex, digital and integrated circuits and a circuit structure for carrying out said method
US09/402,725 US6557157B1 (en) 1997-04-10 1998-04-08 Method for designing complex digital and integrated circuits as well as a circuit structure
EP98930641A EP0974112A1 (en) 1997-04-10 1998-04-08 Method for designing complex, digital and integrated circuits and a circuit structure for carrying out said method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19714756A DE19714756A1 (en) 1997-04-10 1997-04-10 Data processing circuit structure for describing or modelling of digital circuit

Publications (1)

Publication Number Publication Date
DE19714756A1 true DE19714756A1 (en) 1997-11-13

Family

ID=7825970

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19714756A Ceased DE19714756A1 (en) 1997-04-10 1997-04-10 Data processing circuit structure for describing or modelling of digital circuit

Country Status (1)

Country Link
DE (1) DE19714756A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839851A (en) * 1987-07-13 1989-06-13 Idaho Research Foundation, Inc. Programmable data path device
US5450557A (en) * 1989-11-07 1995-09-12 Loral Aerospace Corp. Single-chip self-configurable parallel processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839851A (en) * 1987-07-13 1989-06-13 Idaho Research Foundation, Inc. Programmable data path device
US5450557A (en) * 1989-11-07 1995-09-12 Loral Aerospace Corp. Single-chip self-configurable parallel processor

Similar Documents

Publication Publication Date Title
DE19914210B4 (en) Method and processor for a staggered execution of an instruction
DE3750705T2 (en) Programmable, logical control device.
DE2714805C2 (en)
DE19914617C2 (en) Processor and method for executing instructions on packed data
DE69233361T2 (en) Single-chip microcomputer
US5029102A (en) Logical synthesis
DE1815078C3 (en) Electronic data processing system
DE3508640A1 (en) COMPUTER SYSTEM FOR IMPLEMENTING AN EVENT-DRIVEN SIMULATION ALGORITHM
DE19860062A1 (en) Register constraints for construction of low power VLSI circuits
DE69327504T2 (en) Data processor with operational units that share groups of register memories
DE69732793T2 (en) EIGHT-BIT MICRO-CONTROLLER WITH RISC ARCHITECTURE
DE69229840T2 (en) One-chip digital processor and method for its operation
DE3855524T2 (en) Parallel arithmetic processing unit and associated compiler
EP1927063B1 (en) Hardware programming and layout design
DE3114921A1 (en) DATA PROCESSING SYSTEM
DE19634031A1 (en) Processor with pipelining structure
DE69802426T2 (en) CYCLE DIAGRAM FOR DIGITAL SIGNAL PROCESSOR SYSTEM
DE3587446T2 (en) Signal processing processor and hierarchical multi-processing structure with at least one such processor.
DE68924304T2 (en) Circuit for testing micro-controlled circuit blocks.
DE4327660C2 (en) Apparatus for manufacturing and manufacturing methods for a semiconductor integrated circuit device and electronic circuit device
DE3882425T2 (en) Data transfer control device for direct memory access.
DE3689879T2 (en) Arithmetic-logic circuit.
DE68924082T2 (en) Data processing unit with a bypass mechanism.
DE3586709T2 (en) INFORMATION PROCESSING UNIT.
DE60005830T2 (en) METHOD AND DEVICE FOR CONTROLLING A JUMP DELAY SLOT IN A PIPELINE PROCESSOR

Legal Events

Date Code Title Description
OAV Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1
ON Later submitted papers
OP8 Request for examination as to paragraph 44 patent law
8122 Nonbinding interest in granting licences declared
8125 Change of the main classification

Ipc: G06F 9/06

8127 New person/name/address of the applicant

Owner name: BOETHEL, ANDREAS FRANK, 70435 STUTTGART, DE

8131 Rejection