Fakultät für informatik informatik 12 technische universität dortmund Applications (2) Peter Marwedel Informatik 12, TU Dortmund.

Slides:



Advertisements
Ähnliche Präsentationen
Cadastre for the 21st Century – The German Way
Advertisements

Service Oriented Architectures for Remote Instrumentation
Finding the Pattern You Need: The Design Pattern Intent Ontology
E-Solutions mySchoeller.com for Felix Schoeller Imaging
Service Discovery in Home Environments
H - A - M - L - E - IC T Teachers Acting Patterns while Teaching with New Media in the Subjects German, Mathematics and Computer Science Prof. S. Blömeke,
Embedded System Hardware
P. Marwedel Informatik 12, U. Dortmund
Finite state machines & message passing: SDL
Managing the Transition from School-to-Work Empirical Findings from a Mentoring Programme in Germany Prof. i.V. Dr. Martin Lang.
PPTmaster_BRC_ pot Rexroth Inline compact I/O technology in your control cabinet SERCOS III Components Abteilung; Vor- und Nachname.
R. Zankl – Ch. Oelschlegel – M. Schüler – M. Karg – H. Obermayer R. Gottanka – F. Rösch – P. Keidler – A. Spangler th Expert Meeting Business.
Steinbeis Forschungsinstitut für solare und zukunftsfähige thermische Energiesysteme Nobelstr. 15 D Stuttgart WP 4 Developing SEC.
Informatik 12, TU Dortmund
fakultät für informatik informatik 12 technische universität dortmund Test Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics: © Alexandra.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics:
fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/10 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Platforms Peter Marwedel TU Dortmund, Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2010/01/13 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Universität Dortmund Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Peter Marwedel TU Dortmund, Informatik 12
Fakultät für Informatik Informatik 12 technische universität dortmund FPGA-Programming P. Marwedel Informatik 12, U. Dortmund.
Fakultät für informatik informatik 12 technische universität dortmund Hardware/Software Partitioning Peter Marwedel Informatik 12 TU Dortmund Germany Chapter.
Fakult ä t f ü r informatik informatik 12 technische universit ä t dortmund Data flow models Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.
Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany
Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 1 of 25 – Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting Part 5 Fundamentals in.
Institut für Verkehrsführung und Fahrzeugsteuerung > Technologien aus Luft- und Raumfahrt für Straße und Schiene Automatic Maneuver Recognition in the.
Lancing: What is the future? Lutz Heinemann Profil Institute for Clinical Research, San Diego, US Profil Institut für Stoffwechselforschung, Neuss Science.
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus Architectures and Diagnosis Methods for Self Repairing.
Lehrstuhl Informatik III: Datenbanksysteme AstroGrid-D Meeting Heidelberg, Informationsfusion und -Integrität: Grid-Erweiterungen zum Datenmanagement.
Thomas Herrmann Software - Ergonomie bei interaktiven Medien Step 6: Ein/ Ausgabe Instrumente (Device-based controls) Trackball. Joystick.
Introduction to BOS Supplier Guidelines v6
Introduction to the topic. Goals: Improving the students essay style in general Finding special words and expressions that can be used in essay writing.
Methods Fuzzy- Logic enables the modeling of rule based knowledge by the use of fuzzy criteria instead of exact measurement values or threshold values.
Institut für Umweltphysik/Fernerkundung Physik/Elektrotechnik Fachbereich 1 SADDU June 2008 S. Noël, K.Bramstedt,
Integration of renewable energies: competition between storage, the power grid and flexible demand Thomas Hamacher.
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
Institut für Solare Energieversorgungstechnik Verein an der Universität Kassel Bereich Energetische Biomassenutzung, Hanau Dipl.-Ing. J. Müller Bioturbine,
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus 1 Hierarchical Test Technology for Systems on a.
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
© All rights reserved. Zend Technologies, Inc. Jan Burkl System Engineer, Zend Technologies Zend Server im Cluster.
Alp-Water-Scarce Water Management Strategies against Water Scarcity in the Alps 4 th General Meeting Cambery, 21 st September 2010 Water Scarcity Warning.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Department of Computer Science Homepage HTML Preprocessor Perl Database Revision Control System © 1998, Leonhard Jaschke, Institut für Wissenschaftliches.
INTAKT- Interkulturelle Berufsfelderkundungen als ausbildungsbezogene Lerneinheiten in berufsqualifizierenden Auslandspraktika DE/10/LLP-LdV/TOI/
SIT-MOON ESPRIT Project Nr st Review, Brussels, 27th of April 1998 slide 1 Siemens AG Österreich Robotiker Technische Universität Wien Politecnico.
Template v5 October 12, Copyright © Infor. All Rights Reserved.
Fach: Informatik Thema: Maschinendatenerfassung Klasse: 2AHWILJahrgang: 2013/2014 Höhere Technische Bundes-Lehr-und Versuchsanstalt St.Pölten Fachbereich.
Einführung Bild und Erkenntnis Einige Probleme Fazit Eberhard Karls Universität Tübingen Philosophische Fakultät Institut für Medienwissenschaft Epistemic.
Berner Fachhochschule Hochschule für Agrar-, Forst- und Lebensmittelwissenschaften HAFL Recent activities on ammonia emissions: Emission inventory Rindvieh.
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
Design Patterns Ein Muster (pattern) ist eine Idee, die sich in einem praktischen Kontext als nützlich erwiesen hat und dies auch in anderen sein wird.
Cross-Polarization Modulation in DWDM Systems
External Labels – The rules For all external labels the following rules apply (external labels are all labels which are not inside of a shape) - all labels.
By: Jade Bowerman. German numbers are quite a bit like our own. You start with one through ten and then you add 20, 30, 40 or 50 to them. For time you.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
Wind Energy in Germany 2004 Ralf Christmann, BMU Joachim Kutscher, PTJ
Hier wird Wissen Wirklichkeit 1 Gravitational Radiation From Ultra High Energy Cosmic Rays In Models With Large Extra Dimensions Benjamin Koch ITP&FIGSS/University.
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
1 Intern | ST-IN/PRM-EU | | © Robert Bosch GmbH Alle Rechte vorbehalten, auch bzgl. jeder Verfügung, Verwertung, Reproduktion, Bearbeitung,
Fakultät für informatik informatik 12 technische universität dortmund Memory architecture description languages - Session 20 - Peter Marwedel TU Dortmund.
1 Stevens Direct Scaling Methods and the Uniqueness Problem: Empirical Evaluation of an Axiom fundamental to Interval Scale Level.
Lehrstuhl für Waldbau, Technische Universität MünchenBudapest, 10./11. December 2006 WP 1 Status (TUM) Bernhard Felbermeier.
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
TUM in CrossGrid Role and Contribution Fakultät für Informatik der Technischen Universität München Informatik X: Rechnertechnik und Rechnerorganisation.
Technische Universität München Fakultät für Informatik Computer Graphics SS 2014 Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung.
Institut für Angewandte Mikroelektronik und Datentechnik Phase 5 Architectural impact on ASIC and FPGA Nils Büscher Selected Topics in VLSI Design (Module.
 Präsentation transkript:

fakultät für informatik informatik 12 technische universität dortmund Applications (2) Peter Marwedel Informatik 12, TU Dortmund

- 2 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Gliederung Einführung SystemC Vorlesungen und Programmierung FPGAs -Vorlesungen -VHDL-basierte Konfiguration von FPGAs mit dem XUP VII Pro Entwicklungssystem Algorithmen -Mikroarchitektur-Synthese -Automatensynthese -Logiksynthese -Layoutsynthese Zeitplan 3,5 Wochen 6 Wochen

- 3 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Typical applications Diploma Dortmund: real-time computations Graphics accelerators Encryption/decryption Bio-sequence database scanning Network applications (e.g. network intrusion detection) Parallel pattern recognition in physics Emulation (of new hardware processors)

- 4 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Survey: Use of FPGAs in Bioinformatics Bioinformatics applications: –little I/O –dynamic programming –big lookup tables Ideal for FPGA Currently one company (TimeLogic) sells FPGA cards for BLAST and Smith- Waterman Cost: ~$20,000 for cards Used routinely in biotech / pharma companies

- 5 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Mid-Grain: Amalgam Source: courses.ece.uiuc.edu/ece412/lectures/lecture17.ppt

- 6 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Amalgam Performance

- 7 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 The genome, and the proteins, are very complex and difficult to decipher: A genome is a string of DNA bases, A, C, G or T; from ½ million (mycoplasma) to 10 billon (lilly). The genome is interpreted by working out which regions of the DNA code for protein, and what the likely function of these proteins is. We currently do this by matching sequences to those of DNA or proteins used in previous experiments. A priori prediction of structure/function still a distant dream. Simplified diagram of the smallest genome known, Mycoplasma pneumoniae Bioinformatics 1: Sequence Alignment

- 8 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Bioinformatics 2: Reconstruction of regulatory networks An emerging field Attempts to model the complex interactions between DNA and the protein it encodes, that ultimately control the processes of life. Often uses analogies to circuitry. However biological data is always incomplete, sometimes very sparse. SANs, PetriNets, locally Mobius utilized.

- 9 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Typical applications Diploma Dortmund: real-time computations Graphics accelerators Encryption/decryption Bio-sequence database scanning Network applications (e.g. network intrusion detection) Parallel pattern recognition in physics Emulation (of new hardware processors)

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 High Energy Physics FermiLab Accelerator BTeV Experiment Source: bilt.edu/talks/Bapty.ppt

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Particle Measurement 0 12 m p p Dipole RICH EM Cal Hadron Absorber Muon Toroid ± 300 mrad Magnet Forward tracker provides: Momentum measurement Pattern recognition for tracks born in decays downstream of vertex detector Projection of tracks into particle ID devices Detector Grids Problem: -Massive amounts of data (Terabytes/Sec) -Determine the set of particle trajectories -Decide if it is interesting, keep or toss -Hardware => 2500 DSPs PCs -Never Fail (ok to degrade)

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Trigger System (20,000 ft. view) Memory Queue, ~ms 2nd Level (PC) P re- Proces s (FPGA) 1st Level (DSP) Store ~2000 Nodes ~2000 Nodes

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Typical applications Fast Object recognition Medical, security, … Military Graphics accelerators Encryption/decryption Bio-sequence database scanning Network applications (e.g. network intrusion detection) Parallel pattern recognition in physics Emulation (of new hardware processors)

fakultät für informatik informatik 12 technische universität dortmund January 12, 2004 BWRC, UC Berkeley14 High-End Reconfigurable Computing Berkeley Wireless Research Center January 2004 John Wawrzynek, Robert W. Brodersen, Chen Chang, Vason Srini, Brian Richards Source: Winter_Retreat_2004/Monday%20PM/Wawrzynek- HERC_BEE2v1.ppt

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 BEE Berkeley Emulation Engine FPGA-based system for real-time hardware emulation: Emulation speeds up to 60 MHz Emulation capacity of 10 Million ASIC gate- equivalents, corresponding to 600 Gops (16-bit adds) (although not a logic gate emulator.) 2400 external parallel I/Os providing 192 Gbps raw bandwidth.

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Status Four BEE processing units built Three in continuous production use Supported universities CMU, USC, Tampere, UMass, Stanford Successful tapeout of: 3.2M transistor pico-radio chip 1.8M transistor LDPC decoder chip System emulated: QPSK radio transceiver BCJR decoder MPEG IDCT On-going projects UWB mix-signal SOC MPEG transcoder Pico radio multi-node system Infineon SIMD processor for SDR

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 BEE Lessons from BEE Simulink based tool-flow very effective FPGA programming model in DSP domain. Many system emulation tasks are significant computations in their own right – high- performance emulation hardware makes for high- performance general computing. Is this the right way to build supercomputers? BEE could be scaled up with latest FPGAs and by using multiple boards TeraBEE (B2).

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Is Reconfigurable Going Mainstream? Cray XD1: –12 Opterons per chassis –6 Xilinx Virtex Pro 50 FPGAs –Communication network/processor SGI Altix 350: –1-32 Itanium2s –1 Xilinx XCV6000 per processor pair –Fast interconnect technology SRC: –Pentium 4 Xeons –MAPs: multiple XCV6000 FPGAs –X-bar TimeLogic, Starbridge, others… NCSA is exploring this technology.

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Vendors other than Xilinx? Share [%] 25Atmel7 33Quicklogic6 ??Cypress5 135Actel4 235Lattice3 ~30712Altera2 ~551,125Xilinx1 FPGA-Share 2004* [%] Sales (M$)CompanyRank Source: *: Altera ( other numbers from IC Insights PLD=FPGA+CPLD Sales 2002

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Altera support tools ga/dsp-fpga_coprocessor.html Anwendung: Video-Dekodierung

fakultät für informatik informatik 12 technische universität dortmund Stile der FPGA-Synthese fakultät für informatik informatik 12 technische universität dortmund Peter Marwedel TU Dortmund, Informatik 12 Germany

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Synthese Def.: Synthese ist das Zusammensetzen von Komponenten oder Teilen einer niedrigen (Modell-) Ebene zu einem Ganzen mit dem Ziel, ein auf einer höheren Ebene beschriebenes Verhalten zu erzielen. [Advanced Learners Dictionary of Contemporary English]. Spezifikation Implementierung

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 correctness by construction Sofern Synthesemethoden garantiert korrekte Entwürfe erstellen, brauchen diese nicht mehr per Simulation überprüft zu werden. Die Korrektheit der Methoden ist allerdings bisher nur in wenigen Fällen nachgewiesen worden. Simulationen sind daher weiterhin sinnvoll, aber weniger wichtig. Ideal: für alle Entwurfsaufgaben gute Syntheseverfahren.

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Ideal und Wirklichkeit Für alle Entwurfsaufgaben gute Synthese: kaum erreichbar. Nach H. de Man liegt ist dies prinzipiell begründet: EDA-Hersteller mit der Pflege vorhandener Software beschäftigt. Anwender wollen aufgrund der für Wartung aufzuwenden- den Kosten keine Werkzeuge selbst entwickeln und pflegen. Forschungsinstitute müssen Probleme erfahren, Lösungen erarbeiten & mit EDA-Firmen in Produkte umsetzen. Dissertationen: ca. 5 Jahre vom Auftauchen des Problems bis zur breiten Markteinführung knapp 10 Jahre. de Man: tomorrow's tools solve yesterday's problems. Termingerechter Entwurf ohne Synthese nicht möglich.

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Formen der Synthese Unterschiedliche Ziele und Quellen; mögliche Darstellung: Algorithmus, behavioral (untimed) Algorithmus, behavioral (timed) RT-Verhalten RT-Struktur-Ebene Gatter Layout XST Catapult Celoxica, u.a.

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Nachteile einer Spezifikation auf RT-Ebene Nachteile einer Spezifikation wie bei XST Man gibt die Schaltungsblöcke bereits vor. Man muss sich überlegen, was in welchem Taktzyklus stattfindet. Die Vorteile von VHDL, Algorithmen beschreiben zu können, werden kaum genutzt. Liegt die ursprüngliche Spezifikation on C oder SystemC vor, so muss die VHDL-Beschreibung manuell neu erstellt werden. Es können sich viele Fehler einschleichen. Der Aufwand ist enorm.

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Synthese von timed behavioral descriptions … Co-Centric Celoxica: DK design suite (Handel-C), Agility (SystemC)DK design suite

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 SystemC Synthese Ablauf 1.Produce a simulation model of your design in SystemC/C++. 2.Produce a testbench (also in SystemC/C++). 3.Simulate and test the model. 4.Refine the simulation design into synthesizable code. Carry this out manually. Good practice to split your design into header (.h) files and the corresponding implementations in.cpp files for easier recompilation. 5.Compile your design into RTL SystemC using Agility. 6.Test the synthesizable model. 7.Compile your design into HDL (EDIF, Verilog or VHDL) using Agility. Different synthesis flags and optimizations available. 8.Examine the synthesis reports. 9.If constraints not met: refine your design and repeat. 10.Once requirements are met, run Place and Route tools. [Celoxica: Agility Compiler manual, v 1.1, 2006]

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Agility code requirements The source code and header files include: header files appropriate for simulation or synthesis (as specified in a preprocessor directive) an ag_main function, used for synthesis, comprising an instantiation of a top-level module and any user constraints an sc_main function, called for simulation, and comprising an instantiation of a top-level module & user constraints a top-level module, instantiating modules to be synthesized modules, threads, methods describing the logic of your design Signals, FIFOs, channels describing communication [© Celoxica]

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Supported types TypeAvailable for compile- time evaluation Available for synthesis charok short int int long int long long int floatokno double long double boolok PointersokIf compile-time resolvable ReferencesokIf compile-time resolvable Unionsno Bit fieldsno ArraysokDepends on contents StructsokDepends on contents sc_ufixedno sc_int, sc_uint sc_bigint, sc_biguint, sc_fixed ok

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Steps used in the Agility compiler [© Celoxica]

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Compile-time evaluation Agility unrolls loops, resolves pointers, inlines functions, evaluates values of variables known at compile-time. Loop unrolling Loop unroller unrolls loops that must be unrolled and skips over those that do not. Any loops without wait() statements unrolled to produce combinational logic. [© Celoxica]

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Loop unrolling limitations The loop unroller cannot unroll loops containing: wait statements loop conditions including unknown variables. Loops containing wait() statements are skipped and the values of variables in their bodies are tagged as unknown. If the condition of a loop that must be unrolled contains a variable with an unknown value, it causes an error. Example int k = 0; for (int i=0; i<10; i++) { k = k + 5; wait(); } for (int j=0;j<k; j++) {... code without waits } 1st loop is skipped due to wait statement k = unknown. 2nd loop cannot be unrolled. [© Celoxica]

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Compile-time recursive definitions Synthesis of recursive definitions whose arguments can be determined at compile time. Be sure recursive definitions terminate! Example: Fibonacci function int Fibonacci( int n ) { if (n == 0) // check for termination return 0; if (n == 1) // check for termination return 1; if (n > 1) return ( Fibonacci(n-1) + Fibonacci(n-2) ); } Call to Fibonacci(6) returns 8. [© Celoxica]

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Function inlining Agility inlines all function definitions. Example: int multiply_and_accumulate(int x, int y, int z) { return (x * y + z); } would be replaced by function body (suitably instantiated). For 2 calls to the function within the same clock cycle, 2 multipliers, 2 adders would be introduced. Effect on the overall circuit size depends on the sharing that Agility may impose. [© Celoxica]

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Pointer resolution Agility can synthesize pointers that are resolved at compile- time i.e. pointers that are not dynamically changed during the execution of the program. Example: SC_MODULE(MyModule) { DaughterModule * DaughterA;... SC_CTOR(MyModule) { DaughterA = new DaughterModule();... }} [© Celoxica]

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 High-level synthesis: Register inference Registers are inferred from the use of variables. Example: int i = 1, j = 2, k; for (;;) {k = i + j; j++; i = k; // Clock cycle 1 wait(); i++; // Clock cycle 2 wait(); } k only set and read on the same clock cycle and does not persist to another clock cycle: k is a wire. i is set and read in every clock cycle: i is a register. j is read in 1st clock cycle and this value is read in the next execution of the loop: j is a register. [© Celoxica]

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Fine-grained logic sharing Logic can be shared within a thread if resource constraints exist. Constraints can be defined for: multipliers, adders, subtractors, relational operators. Agility can share operators when: Operations in different branches of conditional block Operations in different clock cycles Example: a = b*c; wait(); d = e*f; wait(); if (Condition) a = b*c; else d = e*f; single multiplier [© Celoxica]

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Special Case It is not always possible to share entire expressions to produce the minimum hardware. Example: a = (b * c) + d; // multiply followed by add wait(); e = f * (g + h); // add followed by multiply The order of evaluation of the operations is different. If a user placed a constraint of 1 multiplier and 1 adder on this code, Agility could not satisfy these constraints (it does not add the necessary multiplexers and control state logic). Instead, Agility would automatically add an extra resource for an operation. [© Celoxica]

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 Summary Applications (2) Bio-sequence database scanning Parallel pattern recognition in physics Emulation (of new hardware processors) General view on synthesis Definition of synthesis Different source and target levels of abstractions Synthesis from SystemC or C slowly becoming available Restrictions for Celoxica-Agility: Using timed behaviors …