DE19714756A1 - Data processing circuit structure for describing or modelling of digital circuit - Google Patents
Data processing circuit structure for describing or modelling of digital circuitInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 31
- 230000006870 function Effects 0.000 claims abstract description 21
- 238000012360 testing method Methods 0.000 claims description 18
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 101100444912 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GCD1 gene Proteins 0.000 claims description 4
- 238000003860 storage Methods 0.000 claims description 4
- 101100412103 Arabidopsis thaliana REC3 gene Proteins 0.000 claims description 3
- 101100528972 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RPD3 gene Proteins 0.000 claims description 3
- 230000007547 defect Effects 0.000 claims description 2
- 238000004088 simulation Methods 0.000 claims description 2
- 230000004048 modification Effects 0.000 claims 1
- 238000012986 modification Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 101100478296 Arabidopsis thaliana SR45A gene Proteins 0.000 description 2
- 102100031437 Cell cycle checkpoint protein RAD1 Human genes 0.000 description 2
- 102100033934 DNA repair protein RAD51 homolog 2 Human genes 0.000 description 2
- 102100039328 Endoplasmin Human genes 0.000 description 2
- 101001130384 Homo sapiens Cell cycle checkpoint protein RAD1 Proteins 0.000 description 2
- 101001132307 Homo sapiens DNA repair protein RAD51 homolog 2 Proteins 0.000 description 2
- 101000812663 Homo sapiens Endoplasmin Proteins 0.000 description 2
- 101000689394 Homo sapiens Phospholipid scramblase 4 Proteins 0.000 description 2
- 101000796673 Homo sapiens Transformation/transcription domain-associated protein Proteins 0.000 description 2
- 101001067395 Mus musculus Phospholipid scramblase 1 Proteins 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 101150058668 tra2 gene Proteins 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318583—Design for test
- G01R31/318591—Tools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/27—Built-in tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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
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.
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)
- - 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.
- - 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.
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)
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 |
-
1997
- 1997-04-10 DE DE19714756A patent/DE19714756A1/en not_active Ceased
Patent Citations (2)
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 |