Dynamisch herconfigureren van multimode-circuits op een FPGA

Maat: px
Weergave met pagina beginnen:

Download "Dynamisch herconfigureren van multimode-circuits op een FPGA"

Transcriptie

1 Dynamisch herconfigureren van multimode-circuits op een FPGA Mattias Vanhoutte Promotor: prof. dr. ir. Dirk Stroobandt Begeleiders: ir. Karel Bruneel, Tom Davidson, Brahim Al Farisi Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: elektrotechniek Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. Jan Van Campenhout Faculteit Ingenieurswetenschappen en Architectuur Academiejaar

2 DANKWOORD Dankwoord Het realiseren van een thesis is een werk van lange adem. Het is een zeer leerrijke, maar tegelijk ook moeilijke ervaring. Zonder de hulp en steun van anderen is het een onmogelijke opdracht. Graag zou ik dan ook de mensen bedanken die deze thesis mee mogelijk gemaakt hebben. In de eerste plaats zou ik graag mijn promotor, Dirk Stroobandt, willen bedanken voor dit veelzijdig thesisonderwerp. Het heeft me steeds kunnen blijven boeien. De meeste dank ben ik uiteraard verschuldigd aan mijn begeleiders Karel Bruneel, Tom Davidson en Brahim Al Farisi. Bedankt voor jullie kostbare tijd die jullie in mijn thesis geïnvesteerd hebben. Mijn begeleider Karel Bruneel kon me zeer veel nuttige tips geven bij het implementeren van de techniek in het JAVA-programma. Bij Tom en Brahim kon ik altijd aankloppen met problemen. Jullie vele tips en suggesties waren onmisbaar voor het welslagen van dit werk. Graag bedank ik Karel voor het ter beschikking stellen van zijn doctoraat, hieruit heb ik zeer veel inspiratie kunnen halen bij het schrijven van deze thesis. Daarnaast bedank ik hem voor de figuren die ik eruit mocht gebruiken. Graag bedank ik Brahim voor de uitgebreide feedback bij het nalezen van mijn thesis. Ook mijn vriendin Joke Biesbrouck wil ik graag bedanken voor het nalezen van mijn thesis op taalkundig niveau. Tot slot zou ik ook graag mijn medestudenten, mijn vrienden, mijn familie en mijn vriendin willen bedanken. Dank u voor het tonen van interesse en voor de onvoorwaardelijke steun die jullie me gegeven hebben, in alles wat ik gedaan heb, en in het bijzonder voor deze studies. Mattias Vanhoutte, juni 2011 ii

3 TOELATING TOT BRUIKLEEN Toelating tot bruikleen De auteur geeft de toelating deze masterproef voor consultatie beschikbaar te stellen en delen van de scriptie te kopiëren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze masterproef. Mattias Vanhoutte, juni 2011 iii

4 Dynamisch herconfigureren van multimode-circuits op een FPGA door Mattias Vanhoutte Masterthesis ingediend tot het behalen van de academische graad van Master in de Ingenieurswetenschappen: elektrotechniek Academiejaar Promotor: prof. dr. ir. Dirk Stroobandt Begeleiders: ir. Karel Bruneel, ir. Tom Davidson ir. Brahim Al Farisi Faculteit Ingenieurswetenschappen en Architectuur Universiteit Gent Vakgroep Informatietechnologie Voorzitter: prof. dr. ir. Jan Van Campenhout Samenvatting In deze thesis wordt een aangepaste FPGA-toolflow voorgesteld om automatisch multimode-circuits (MMC s) te genereren uit afzonderlijke beschrijvingen van hardwarecircuits. De afzonderlijke circuits zijn mutueel exclusief in de tijd en worden de modes van het MMC genoemd. Aan de hand van dynamische herconfiguratie kan een multimodecircuit op een oppervlakte-efficiënte manier op een FPGA geïmplementeerd worden zoals bij Modulaire Dynamische Herconfiguratie (MDH). Deze techniek wordt gekenmerkt door een grote herconfiguratietijd. In deze thesis wordt een techniek voorgesteld om een MMC te genereren, waarbij de herconfiguratietijd kleiner wordt. De dynamische herconfiguratie wordt uitgevoerd met geparameteriseerde configuraties. De nieuwe toolflow met een gecombineerde plaatsingsstap en de connectierouter kan de benodigde herconfiguratietijd voor routering ongeveer een grootteorde verkleinen t.o.v. MDH. De kost hiervan is een verhoogd gebruik van routeringsdraadjes op de FPGA. De grootte van de gegenereerde MMC s is hierbij ongeveer gelijk aan de grootte van het LUT-circuit van de grootste mode. Trefwoorden FPGA-toolflow, dynamische herconfiguratie, geparameteriseerde configuraties, herconfiguratietijd, routeringskost

5 Dynamic Reconfiguration Of Multimode Circuits On FPGAs Mattias VANHOUTTE Supervisor(s): Prof. Dr. Ir. Dirk STROOBANDT, Ir. Karel BRUNEEL, Ir. Brahim AL FARISI, Ir. Tom DAVIDSON Abstract Dynamic reconfiguration of FPGAs allows the construction of area efficient FPGA designs. Techniques like Modular Dynamic Reconfiguration are characterized by a large reconfiguration time. This work proposes an adapted toolflow to generate a multimode circuit from different circuits. The generated multimode circuit is area efficient and has a low reconfiguration time by promoting identical routing structures. The dynamic reconfiguration is performed with parameterized configurations. Keywords FPGA tool flow, dynamic reconfiguration, parameterized configurations, reconfiguration time, routing cost I. INTRODUCTION MULTIMODE circuits (MMCs) consist of several circuits, called modes, which are mutually exclusive in time. In FPGAs it is possible to change the configuration of the FPGA during runtime by dynamic reconfiguration. This technique can be used to implement a MMC in an area efficient way: the same FPGA area is then used for all modes. The most obvious technique to do this is Modular Dynamic Reconfiguration (MDR). In MDR the FPGA area of the multimode circuit is completely reconfigured, even if the configuration of this area contains identical structures between the modes. This technique therefore has the disadvantage of a large reconfiguration time and is not really useful in more dynamic applications. Dynamic reconfiguration with parameterized configurations, develeped within the research group PARIS at the University of Ghent [1], can specialize a FPGA configuration depending on a parameter value. Within the technique of parameterized configurations, only specific configuration bits need to be reconfigured. This allows a much faster reconfiguration. The aim of this work is to reduce the reconfiguration time of MMCs by using parameterized configurations. We focus on reducing the time needed to reconfigure the routing. In this work we assume a configuration memory that can be addressed at bit level. II. DYNAMIC RECONFIGURATION WITH PARAMETERIZED CONFIGURATIONS With parameterized configurations the configuration bits of Lookup Tables (LUTs) and configurable routing are expressed as Boolean functions of a parameter value, called the Tuning functions. Once a parameterized configuration is found, generating a specialized configuration for a given parameter value only requires the evaluation of the parameterized configuration for that parameter value. LUTs in which the truth tables are expressed as a function of parameters are called Tunable LUTs or TLUTs. Conventional nets, interconnections with one source and multiple sinks, are replaced by Tunable Connections or TCONs. A TCON has a number of sources and a number of sinks and its parameter inputs control how these sinks and sources are interconnected. A dynamic reconfigurable implementation on a FPGA is presented by a Tunable circuit consisting of TLUTs and TCONs. Evaluation of the TLUTs and TCONs for a specific parameter value, generates a conventional LUT circuit on the FPGA. To use parameterized configurations, the conventional FPGA tool flow is changed. It starts with a parameterized HDL description of the functionality, in which some signals are denoted as parameters. After conventional synthesis, the logic circuit with parameters will be mapped on a Tunable circuit by the technology mapper TMAP. The placing of the TLUTs is performed by the placer TPLACE, which estimates the routing cost of the TCONs with a simulated annealing algoritme. The connection router TROUTE can efficiently route the connections in TCONs. The implementation of the connection router is not completely finished yet, so the results are based on the estimates used during placement. Finally the tool flow generates a parameterized configuration file consisting of a fixed component for all the static bits and a partially parameterized configuration for the changing bits in a configuration. III. MULTIMODE CIRCUITS MMCs that uses dynamic reconfiguration with parameterized configurations can be automatically generated in an adapted tool flow, illustrated in Fig. 1. The first steps of the conventional tool flow are executed on the separate circuits. The LUT circuits, obtained after technology mapping, are simultaneously placed on the same FPGA in a combined placement step, which attempts to stimulate the overlap in routing of the different modes. After this the Tunable circuit is generated and the remaining steps in the toolflow of dynamic reconfiguration with parameterized configurations are executed. HDL design circuit 0 Synthesis Technology mapping Combined placement Generate multimode circuit Routing: TROUTE Param. configuration HDL design circuit 1 Synthesis Technology mapping ( Placement: TPLACE (with CF b ) ) Fig. 1. Adapted tool flow to generate multimode circuits from separate descriptions of the modes. A. Combined placement Within the combined placement step, the different LUT circuits are simultaneously placed on each other in a virtual three-dimensional FPGA. The x and y coordinates are the possible sites of the Configurable Logic Blocks (CLBs) on the FPGA. The z coordinate presents the LUT circuit of a certain mode. The combined placement is gradually improved by performing a large number of swaps as is the case in a conventional simulated annealing based placer. However, a swap not only consists of two randomly selected CLB sites but also a randomly chosen circuit level. B. Cost Functions The cost function used in the simulated annealing of course determines the optimization goal. There are two major cost functions in this paper: CF a and CF b.

6 Reconfiguration cost (bits) compared to MDR Estimated routing cost (wire length) compared to MDR CF a estimates the wire length of the routing if the Tunable circuit would be routed with the connection router TROUTE. Fig. 2 (a) shows three connections in a Tunable circuit. Output pins of CLBs (sources) are open boxes. Input pins of CLBs (sinks) are filled boxes. Connections with a common source represent nets. Connections with a common sink are connections which are mutually exclusive in time. The wire length of half-connections with a common source (in red) is estimated by calculating half the circumference of the Bounding Box (BB) multiplied by a factor, as in a conventional wire length-driven placer. Also the wire length of half-connections with a common sink (in green) is calculated in an analogous way. The connection router stimulates overlap in routing in both cases. 350% 300% 250% 200% 150% 100% 50% 0% 100% 80% 60% Identical modes Similar modes Different modes MDR-opt. CFa CFb Identical modes Similar modes Different modes BB source CF b =0 40% 20% BB sink CFb =1 0% MDR-opt. CFa CFb (a) (b) Fig. 3. Estimated routing cost and reconfiguration cost compared to MDR. Fig. 2. Illustration of the two major cost functions in the combined placement step. CF b is the reconfiguration cost of the Tunable circuit. The reconfiguration cost is the number of configuration bits of routing switches (connection and switch blocks) that have to change of value during the reconfiguration process. Specifically, as much as possible connections with a common sink or source have to overlap. Fig. 2 (b) shows two different situations of two connections with a common sink. At the top, the two connections have one similar source so the connections are the same and don t have to be reconfigured during the reconfiguration process. At the bottom, the two connections have two different sources and don t overlap completely. During the reconfiguration process, the configuration of one switch, presented by the cross, has to change. Since CF b does not optimize the wire length during the combined placement step, an additional post-processing step (TPLACE) is performed in the tool flow. IV. RESULTS The adapted toolflow is tested on three experiments: generating a MMC with two identical, two similar and two different modes. After the combined placement, the estimation of the routing cost (CF a), the reconfiguration cost (CF b ) and the numbers of TLUTs are calculated. The results are expressed in percentage compared to the reference technique MDR. The routing cost of MDR is calculated by taking the union of the wires when the two modes are separately routed with a conventional router. The reconfiguration cost of MDR is calculated as the union of all configuration bits of routing switches when the two modes are separately routed. There is a simple optimalisation possible (MDRopt.) if only the configuration bits are counted as their value changes during the reconfiguration process. The results of the combined placement with CF a and CF b are shown for the three experiments in Fig. 3, together with MDR-opt. A. Reconfiguration cost The reconfiguration cost only decreases 10% compared to the cost of MDR, by configuration bits that accidentally have the same value for the two modes. The solution of the combined placement delivers for both cost functions a MMC in which the reconfiguration cost decreases significantly. In general, the reconfiguration cost (and also the reconfiguration time) can be reduced by almost one order of magnitude. CF b always results in the smallest reconfiguration cost. The reconfiguration cost is smaller for modes which have a similar functionality, compared to modes with a completely different functionality. B. Routing cost The estimation of the routing cost of the MMC increases with a factor 1.3 to 2.6 compared to the routing cost with MDR. In general, CF a gives the smallest increase compared to CF b. The estimation is a very preliminary result. We believe this number to be a significant overestimate of the true routing cost of the connection router. C. Size of MMC The number of TLUTs in the generated MMC is after the combined placement nearly equal to the number of LUTs in the LUT circuit of the largest mode. V. CONCLUSIONS The proposed tool flow allows to automatically generate multimode circuits from different LUT circuits. By promoting overlap of routing in a combined placement step and the use of the connection router TROUTE, the reconfiguration cost could be reduced by almost one order of magnitude. The cost of this reduction in reconfiguration cost, seems to be an increase in routing resources. However, in this paper a first attempt to estimate the routing usage by the connection router was made. We believe this to be an overestimate and validation with the connection router is needed. VI. FUTURE WORK The proposed technique should first be verified by the connection router. In addition, the simulated annealing schedule and cost functions could be extended for multiple modes and other optimization goals like timing. In this work a configuration memory that can be addressed at bit level is assumed. In commercial FPGAs, the smallest part that can be reconfigured without reconfiguring the rest of the FPGA is called a configuration frame. The connection router and maybe also the combined placement step should be extended to ensure that changing configuration bits are located in the same configuration frame. VII. ACKNOWLEDGEMENTS The author would like to acknowledge the ideas and suggestions of Karel Bruneel, Brahim Al Farisi, Tom Davidson and Dirk Stroobandt. REFERENCES [1] Karel Bruneel. Efficient Circuit Specialization for Dynamic Reconfiguration of FPGAs. PhD thesis, Ghent University, 2011.

7 INHOUDSOPGAVE Inhoudsopgave Dankwoord Toelating tot bruikleen Overzicht Extended abstract Inhoudsopgave Gebruikte afkortingen ii iii iv v vii ix 1 Inleiding Probleemstelling Doelstelling Structuur van de hoofdstukken Architectuur en toolflow van een FPGA De FPGA-architectuur De FPGA fabric Het configuratiegeheugen Conventionele FPGA-toolflow De conventionele plaatser De conventionele router Geparameteriseerde configuraties TMAP TPLACE TROUTE Dynamische herconfiguratie van multimode-circuits Literatuurstudie vii

8 INHOUDSOPGAVE 4.2 Multimode-circuits a.d.h.v. geparameteriseerde configuraties Inleiding Aangepaste toolflow Evaluatie kwaliteit MMC Experimentele resultaten Initiële exploratie Verificatie BB-methode Routeren met TCON-router Keuze effort-waarde De testcircuits en de evaluatiecriteria De testcircuits De evaluatiecriteria Twee identieke circuits gecombineerd plaatsen Twee gelijkaardige circuits gecombineerd plaatsen Twee verschillende circuits gecombineerd plaatsen Samenvatting van de drie experimenten met twee modes Meerdere modes in het multimode-circuit Uitvoeringstijd Conclusies en toekomstig werk Conclusies Toekomstig werk A Invoercommando JAVA-programma 67 B Vergelijking schatting routering met effectieve routering 70 C Numerieke resultaten 74 D Coëfficiënten FIR-filters 79 Bibliografie 80 Lijst van figuren 83 Lijst van tabellen 85 viii

9 GEBRUIKTE AFKORTINGEN Gebruikte afkortingen ASIC BB CLB CPU DSP FF FIR FPGA IOB LUT MDH MMC MUX SDR SRAM TCON TLUT Application Specific Integrated Circuit Bounding Box Configurable Logic Block Central Processing Unit Digital Signal Processing Flipflop Finite Impulse Response Field Programmable Gate Array Input/Output-Blok Look-up Table Modulaire Dynamische Herconfiguratie Multimode-circuit Multiplexer Software-Defined Radio Static Random Access Memory Tunable Connection Tunable Look-up Table ix

10 1 INLEIDING Hoofdstuk 1 Inleiding Bij het ontwerp van een digitale implementatie speelt de keuze van de gebruikte technologie een belangrijke rol. Wanneer de specificaties van een product het toelaten om een algemene processor (een CPU) of microprocessor te gebruiken, is dit meestal een goede keuze omdat deze producten goedkoop zijn door de massaproductie. De ontwikkeling van de software om deze processoren aan te sturen, is ook relatief gemakkelijk. Wanneer een product bij een laag vermogen zeer hoge specificaties heeft, wordt meestal gekozen voor een Application Specific Integrated Circuit (ASIC). Bij ASIC s kan men na het ontwerp niets aan de logica van het geïntegreerde circuit wijzigen. Het ontwerp van een ASIC is daarnaast zeer duur en riskant, waardoor het enkel toegepast kan worden bij producten die in zeer grote hoeveelheden geproduceerd worden (bijvoorbeeld GSM s). Tussen de uitersten ASIC en algemene processoren zit een hele reeks alternatieven die door de gebruiker zelf geprogrammeerd kunnen worden. Een van deze is de succesvolle Field Programmable Gate Array (FPGA). De FPGA is een geïntegreerde schakeling die na fabricatie door de gebruiker geprogrammeerd kan worden. Na de configuratie van een FPGA, kan deze het gedrag vertonen van elke digitale schakeling. Deze grote flexibiliteit zorgt dat de FPGA in zeer veel diverse producten gebruikt wordt. Ze zijn aanwezig in toepassingen met grote hoeveelheden parallelle digitale signaalverwerking zoals bij luchten ruimtevaartsystemen, medische beeldvorming, spraakherkenning, enzovoort. Daarnaast is een FPGA zeer nuttig bij de ontwikkeling van prototypes. FPGA s zijn in kleine oplages economisch veel interessanter dan ASIC s [1]. Ten eerste moeten bij FPGA s in tegenstelling tot ASIC s geen dure maskers geproduceerd worden. Bovendien is massaproductie van FPGA s mogelijk omdat ze (door hun flexibiliteit) in zeer veel uiteenlopende toepassingen gebruikt kunnen worden. De eenheidsprijs van een FPGA is hierdoor relatief laag. Het grootste voordeel van FPGA s is dat ze herconfigureerbaar zijn: de hardwarecircuits kunnen na een update snel een nieuwe functionaliteit uitvoeren. Doordat fouten na een eerste test snel gecorrigeerd kunnen worden, houdt een FPGAontwerp bovendien minder risico in. Deze flexibiliteit zorgt ten laatste dat de time-tomarket bij een ontwerp met een FPGA meestal lager is dan met een ASIC. 1

11 1.1 Probleemstelling FPGA s hebben ook nadelen. De herconfigureerbaarheid zorgt dat een FPGA-ontwerp altijd meer chipoppervlakte in beslag zal nemen en meer zal verbruiken dan een ASIC met dezelfde functionaliteit [2]. Momenteel wordt de herconfigureerbaarheid van FPGA s vooral op een statische manier gebruikt. Hierbij wordt de FPGA gedurende een tijd volledig uitgeschakeld en wordt de nieuwe configuratie ingeladen. Na de herconfiguratie gedraagt de FPGA zich als een volledig nieuw digitaal circuit en wordt deze niet meer gewijzigd, tenzij voor het herstellen van fouten in het systeem of updates. Een techniek waarbij FPGA s tijdens de werking van het systeem opnieuw geconfigureerd worden, heet dynamische herconfiguratie. Hierbij worden enkel bepaalde delen van de FPGA opnieuw geconfigureerd zonder de andere (statische) delen uit te schakelen. Dynamische herconfiguratie maakt het mogelijk om eenzelfde oppervlakte van de FPGA-chip te gebruiken voor functionaliteiten die mutueel exclusief zijn in de tijd. Bij een ASIC of een statisch FPGA-ontwerp moet daarentegen, voor functionaliteiten die nooit gelijktijdig actief zijn, een aparte chipoppervlakte voorzien worden. Modulaire dynamische herconfiguratie (MDH) is dynamische herconfiguratie waarbij een volledig gebied van de FPGA opnieuw geconfigureerd wordt. Deze techniek is momenteel al beschikbaar in een aantal commerciële FPGA s van Xilinx en Altera. Het grootste nadeel is dat de dynamische herconfiguratie relatief lang duurt omdat een volledig gebied opnieuw geconfigureerd moet worden. Binnen de vakgroep ELIS is een techniek ontworpen door Karel Bruneel waarbij de FPGA dynamisch geconfigureerd wordt met behulp van geparameteriseerde configuraties [3]. Deze techniek kan sneller herconfigureren omdat enkel specifieke bits opnieuw ingesteld worden. 1.1 Probleemstelling Circuits die mutueel exclusief zijn in de tijd worden conventioneel naast elkaar geplaatst op een chip. Voor elk circuit wordt dus een aparte oppervlakte voorzien, wat niet oppervlakteefficiënt is. Aangezien de circuits mutueel exclusief zijn in de tijd, kan men de circuits zo samenvoegen tot één circuit dat de gemeenschappelijke delen maar één maal voorkomen. Zo n samengevoegd circuit wordt een multimode-circuit (MMC) genoemd en de circuits waaruit dit bestaat, worden de modes genoemd. Op elk moment moet maar één mode gerealiseerd worden. Een zeer oppervlakte-efficiënte manier om MMC s te implementeren, is dynamische herconfiguratie van FPGA s. De meest voor de hand liggende techniek hiervoor is modulaire 2

12 1.1 Probleemstelling dynamische herconfiguratie. Hierbij wordt het gebied dat het MMC implementeert volledig opnieuw geconfigureerd, ook wanneer in dit gebied identieke structuren voorkomen. Deze techniek heeft als nadeel dat de herconfiguratie lang duurt en is dus minder bruikbaar voor meer dynamische applicaties. Een realistisch voorbeeld van een toepassing waarin de dynamische herconfiguratietechniek van een MMC op een FPGA nuttig gebruikt kan worden, is Software-Defined Radio (SDR). SDR wordt gekenmerkt door een collectie van aanpasbare hardware- en sofwaretechnologieën [4]. Het gebruik van herconfigureerbare technieken, zoals FPGA s, zorgt dat nieuwe draadloze functies en mogelijkheden toegevoegd kunnen worden aan bestaande radio-systemen, zonder dat hiervoor nieuwe hardware nodig is. Het MMC in het geval van SDR bestaat uit modes die verschillende signalen met verschillende draadloze protocollen (afhankelijk van een aantal parameters) kunnen ontvangen en verzenden. Het gebruik van dynamische herconfiguratie staat toe om het systeem tijdens de herconfiguratie (gedeeltelijk) operationeel te houden. In Figuur 1.1 wordt een voorbeeld gegeven van een SDR-systeemarchitectuur met een FPGA uit [5]. SDR is zeer nuttig bij het leger en mobiele telefoonnetwerken, waarin de radioprotocollen real-time moeten kunnen veranderen. Software Defined Radio fast jet aircraft nose cones. Powerful DSP performance is now available from vendors on small footprint cards such as PMC modules. These PMC modules can be mounted on small form-factor hosts, such as 3U VME SBCs. Both the SDR PMC module and the SBC are available from vendors in ruggedized configurations. When used in a conduction-cooled 3U VME chassis, the system provides a rugged, high performance SDR package. This package is ideally suited for space-constrained, military deployment in harsh environments. Military interoperability Interoperability is a key advantage offered by SDR. Lessons from the Iraq War indicate that improved communications between services are required during combat. Therefore, an effective way is needed to provide interoperability between the radios used by the U.S. military. SDR provides this interoperability. Figure 1 Figuur 1.1: Schematische voorstelling van een SRD-systeemarchitectuur met een FPGA [5]. FPGA capabilities FPGAs have evolved from a flexible logic design platform to a signal processing engine as innovative changes to their architecture over the last few years have resulted in higher density devices. FPGAs are now ideally suited for high-speed, parallel accumulate/multiply functions. The high speed functionality of FPGAs makes them ideally suited for the real-time processing of Fast Fourier Transforms (FFTs) 3and Finite Impulse Responses (FIRs). They are also ideal for use as Digital Down Converters (DDCs) and Digital Up Converters (DUCs). For military applications, the FPGA provides users the ability to quickly and efficiently design and develop custom DSP applications. Consistent with U.S.-eyesonly practices, military users can program FPGA applications directly themselves, thus maintaining security. In addition, the SDR FPGA can be reprogrammed in the field, avoiding the need to ship the FPGA tal down conversion, FFT, and beamforming for phased array radar. SDR marketplace The Perry Initiative of 1994 changed the way military suppliers meet military standards. COTS (Commercial Off-The- Shelf) parts, together with the faster, better, cheaper philosophy, meant that most systems required to operate in a harsh, military environment must undergo some modification or adaptation to meet the military s need for high reliability products. The global market for merchant embedded computer boards used in military and commercial communications is estimated to be roughly $1.4 billion. SDR hardware platforms represent a very small portion of this market today, but are expected to grow to over 11 percent of the market by Military applications currently dominate this market, but the mix is expected to shift to commercial applications as these markets emerge.

13 1.2 Doelstelling 1.2 Doelstelling De doelstelling van deze thesis is om de herconfiguratietijd bij dynamische herconfiguratie van MMC s te verlagen. Hierbij zal gebruik gemaakt worden van de dynamische herconfiguratietechniek met geparameteriseerde configuraties. Bij dynamische herconfiguratie met geparameteriseerde configuraties worden enkel specifieke bits die verschillen tussen beide applicaties opnieuw geconfigureerd. Hierdoor moet niet het volledige gebied van het MMC opnieuw geconfigureerd worden en kan veel sneller tussen modes gewisseld worden. Meer specifiek vertrekken we van afzonderlijke circuits, die nooit gelijktijdig actief zijn, met elk een eigen functionaliteit en structuur. Hierbij is het de bedoeling om vanuit deze circuits, die we de modes zullen noemen, automatisch een MMC te genereren. Om de herconfiguratietijd te verlagen, zal op zoek gegaan worden naar overlap in routering tussen de afzonderlijke circuits. De overlappende routering moet immers niet opnieuw geconfigureerd worden bij het wisselen van modes. Het zoeken naar potentiële overlap in routering zal gebeuren door de plaatsingsstap uit te breiden. In een gecombineerde plaatsingsstap zullen de afzonderlijke modes simultaan geplaatst worden, terwijl getracht wordt de overlap in routering te maximaliseren. 1.3 Structuur van de hoofdstukken Het eerste deel van deze thesis schetst de context van de thesis, namelijk dynamische herconfiguratie van FPGA s aan de hand van geparameteriseerde configuraties. Hoofdstuk 2 licht de FPGA-architectuur en de conventionele toolflow toe. De plaatsings- en routeringsstap wordt er gedetailleerd toegelicht omdat deze een belangrijke rol hebben in de oplossingsmethode van deze thesis. Hoofdstuk 3 beschrijft de gebruikte techniek om een FPGA dynamisch te herconfigureren met behulp van geparameteriseerde configuraties. In het tweede deel van deze thesis wordt de oplossingsmethode met bijhorende resultaten en conclusies weergegeven. Hoofdstuk 4 bevat alle details van de oplossingsmethode voor het genereren van een MMC waarop dynamische herconfiguratie met geparameteriseerde configuraties toegepast kan worden. Dit hoofdstuk beschrijft de aanpassingen in de FPGAtoolflow om een MMC uit afzonderlijke circuits automatisch te genereren. Hoofdstuk 5 bevat de experimentele resultaten van de verschillende onderzochte experimenten met de gecombineerde plaatsingsstap. Er worden drie experimenten uitgevoerd waarbij een MMC gegenereerd wordt uit twee afzonderlijke circuits. De experimenten starten met twee identieke, twee structureel gelijkaardige en twee volledig verschillende circuits. In een ander experiment wordt de invloed van het aantal modes in het MMC onderzocht. Hoofdstuk 6 beëindigt deze thesis met de belangrijkste conclusies. Hier wordt ook besproken welk toekomstig werk nog mogelijk is in dit gebied. 4

14 2 ARCHITECTUUR EN TOOLFLOW VAN EEN FPGA Hoofdstuk 2 Architectuur en toolflow van een FPGA In het eerste deel van dit hoofdstuk worden de configureerbare basisonderdelen van een FPGA besproken. Er zijn configureerbare logische blokken en configureerbare routering. In het configuratiegeheugen wordt opgeslagen hoe deze elementen zich moeten gedragen. In het tweede deel van dit hoofdstuk wordt de conventionele FPGA-toolflow besproken. Deze beschrijft de verschillende stappen die uitgevoerd moeten worden om vanuit een beschrijving van een digitaal circuit een bit-bestand te genereren dat de FPGA volledig kan configureren. De figuren met bijhorende uitleg komen uit [3]. 2.1 De FPGA-architectuur Een Field Programmable Gate Array (FPGA), zoals weergegeven in Figuur 2.1, is een geïntegreerde schakeling die bestaat uit de FPGA fabric en het configuratiegeheugen. Wanneer de FPGA geconfigureerd is, is de beschrijving van een hardwarecircuit opgeslagen in het configuratiegeheugen. De FPGA fabric stelt dan dat hardwarecircuit voor De FPGA fabric De FPGA fabric bestaat uit twee soorten programmeerbare logische componenten: configureerbare logische blokken (CLB s) en configureerbare routering. De CLB s bevatten digitale logica en worden geconnecteerd met configureerbare routering. Naast de logische componenten zijn er ook I/O-blokken (IOB s) die de in- en uitgangen van het hardwarecircuit zijn. Deze blokken zorgen voor de connectie met de buitenwereld. 5

15 2.1 De FPGA-architectuur FPGA Externe Configuratiepoort Conf. Contr. Configuratiegeheugen I/O-pinnen FPGA fabric I/O-pinnen Figuur 2.1: Het configuratiegeheugen en de FPGA fabric van een FPGA. [3] Configureerbare logische blokken De configureerbare logische blokken (CLB s) hebben een centrale rol in een FPGA. Er bestaan veel soorten logische blokken, maar in de huidige commerciële FPGA s worden meestal logische blokken gebruikt die gebaseerd zijn op een Look-up Table of LUT. In deze thesis wordt gebruikt gemaakt van een eenvoudige CLB, weergegeven in Figuur 2.2, die gebaseerd is op een 4-LUT. In het algemeen bestaat een K-LUT uit 2 K SRAM-geheugencellen die deel uitmaken van het configuratiegeheugen en een multiplexer (MUX) met K ingangen. Bij het configureren van een LUT worden bitwaarden, de configuratiebits, in de SRAM-geheugencellen opgeslagen. Een logisch blok van één K-LUT kan een willekeurige Boolese functie van K variabelen implementeren door de waarheidstabel van de Boolese functie op te slaan in de K-LUT. Bij de evaluatie van zo n logisch blok vormen de ingangssignalen de selectie-ingangen van de MUX en wordt de bijhorende configuratiebit uitgelezen. 4 - L U T FF Uitgang Ingangen Klok Figuur 2.2: Een configureerbaar logisch blok die bestaat uit een 4-LUT, een FF en een MUX. De elementen uit het configuratiegeheugen zijn in het grijs gekleurd 6

16 2.1 De FPGA-architectuur Door het aan elkaar schakelen van logisch blokken kan een combinatorisch logisch circuit gecreëerd worden. Bij combinatorische logica is de uitgang enkel afhankelijk van de huidige toestanden van de ingangen. Bij sequentiële logica is het uitgangssignaal ook afhankelijk van de voorbije toestanden van de ingangen. Om deze functionaliteit toe te voegen bevat een CLB naast een LUT ook een geheugencel. Deze geheugencel wordt een flipflop (FF) genoemd. Naast de LUT en de FF bevat een logisch blok ook een MUX om te kiezen tussen de geklokte en de niet-geklokte uitgang van de LUT. De selectie-ingang van de MUX wordt in een SRAM-geheugencel in het configuratiegeheugen opgeslagen. De effectieve samenstelling van een CLB verschilt tussen verschillende FPGA s. Moderne FPGA s hebben complexe LUT en FF combinaties, die op verschillende manieren lokaal in een CLB verbonden kunnen worden. Een Xilinx Virtex-6 CLB bestaat bijvoorbeeld uit twee slices die elk uit vier 6-LUT, acht FF s en een aantal MUX s bestaan [6]. In deze thesis wordt de 4-lut sanitized FPGA-architectuur gebruikt uit de academische FPGAtoolflow VPR [7]. We merken hierbij op alle technieken die in deze thesis gebruikt worden ook toepasbaar zijn op andere architecturen. De gebruikte CLB in de 4-lut sanitized architectuur bevat één 4-LUT, één FF en één MUX, zoals in Figuur 2.2 weergegeven. De CLB s worden in een FPGA in een matrix georganiseerd, zoals weergegeven in Figuur 2.3. Op deze manier krijgt elke CLB een x- en y-coördinaat. Elke stip stelt een fysieke CLB-plaats P xy op de FPGA voor. De x- en y-waarden zijn de coördinaten van de plaats in een assenstelsel met de linkerbovenhoek als oorspong, een horizontale x-as en een verticale y-as. In de figuur worden enkel plaatsen met een x- of y-waarde weergegeven die groter is dan nul. De nulwaarden stellen fysieke plaatsen op de rand van de FPGA voor en zijn dus IOB s. x P 11 P 21 P 31 P 41 P 51 P 12 P 22 P 32 P 42 P 52 P 13 P 23 P 33 P 43 P 53 y P 14 P 24 P 34 P 44 P 54 Figuur 2.3: Een onderdeel van de FPGA fabric met de aanduiding van de fysieke plaatsen P xy voor CLB s op een FPGA. 7

17 2.1 De FPGA-architectuur Configureerbare routering Om een hardwarecircuit te implementeren op de FPGA moeten de nodige verbindingen tussen de IOB s en de CLB s geprogrammeerd worden. De routering op een FPGA bestaat uit een aaneenschakeling van configureerbare schakelaars en routeringsdraadjes. Er bestaan verschillende manieren om de configureerbare routering op een FPGA te organiseren. Op Figuur 2.4 wordt de FPGA fabric van de 4-lut sanitized architectuur weergegeven. De totale chipoppervlakte van een FPGA wordt voornamelijk bepaald door de oppervlakte ingenomen door de routeringscomponenten (70-90 % van de totale FPGA oppervlakte) [8]. De lijntjes op de figuur stellen routeringsdraadjes of routeringssegmenten voor. Routeringsdraadjes worden gebundeld in kanalen. De hoeveelheid voorziene routeringsdraadjes wordt uitgedrukt in kanaalbreedte, het aantal gebundelde draadjes. In de figuur is de kanaalbreedte bijvoorbeeld 7. IOB IOB SB CB SB CB SB IOB CB CLB CB CLB CB IOB SB CB SB CB SB IOB CB CLB CB CLB CB IOB SB CB SB CB SB IOB IOB Figuur 2.4: Schematische voorstelling van de architectuur van de gebruikte FPGA fabric: I/Oblokken (IOB s), configureerbare logische blokken (CLB s), schakelblokken (SB s) en connectieblokken (CB s). [3] Configureerbare logische blokken worden op de FPGA op de vier zijden omgeven door connectieblokken (CB s). De connectieblokken connecteren een pin van een logisch blok met een routeringsdraadje. Een volledig geconnecteerd connectieblok, zoals weergegeven in Figuur 2.5 (a), zorgt dat een pin verbonden kan worden met elk routeringsdraadje van het kanaal. In de figuur wordt de pin van het logisch blok bijvoorbeeld verbonden met het routeringsdraadje met nummer twee. 8

18 2.1 De FPGA-architectuur Routeringsdraadjes worden onderling verbonden met schakelblokken (SB s), dit zijn blokjes die, mits enige beperkingen, intern verbindingen leggen tussen diverse punten op hun omtrek. Een disjunct schakelblok, zoals weergegeven in Figuur 2.5 (b), zorgt bijvoorbeeld dat enkel routeringsdraadjes met hetzelfde nummer (in het kanaal) geconnecteerd kunnen worden pin van CLB (a) (b) Figuur 2.5: (a) Een volledig geconnecteerd connectieblok zorgt dat een pin verbonden kan worden met elk routeringsdraadje (0-3). (b) Een disjunct schakelblok zorgt dat enkel routeringsdraadjes met hetzelfde nummer geconnecteerd kunnen worden. In de 4-lut sanitized architectuur bestaan de schakelaars in de routeringscomponenten uit volledig geconnecteerde connectieblokken en disjuncte schakelblokken. Om een routeringsdraadje te gebruiken, moet er een doorlaattransistor in een connectie- of schakelblok aangeschakeld worden. Deze doorlaattransistor is verbonden met een SRAM-geheugencel uit het configuratiegeheugen. Afhankelijk van de waarde wordt op deze manier een routeringsdraadje mogelijk verbonden. In Figuur 2.6 wordt een voorbeeld gegeven van een geconfigureerde connectie met twee routeringsdraadjes tussen twee logische blokken. Een connectie heeft altijd als bron een uitgangspin van een logisch blok en als doel een ingangspin van een ander logisch blok. De routeringsdraadjes worden met dikke lijnen weergegeven. Het eerste connectieblok (CB 1 ) connecteert de uitgangspin met het eerste routeringsdraadje. Het schakelblok (SB 1 ) connecteert de twee routeringsdraadjes. De laatste connectieblok (CB 2 ) connecteert het tweede routeringsdraadje met de ingangspin van het logisch blok. Uitgangspin (bron) CB 1 SB 1 CB 2 Ingangspin (doel) Figuur 2.6: Een geconfigureerde connectie vanaf een uitganspin (de bron) naar een ingangspin (het doel) van een logisch blok: CB 1 en CB 2 zijn connecties in connectieblokken, SB 1 is een connectie in een schakelblok. De routeringsdraadjes worden met de dikke lijnen weergegeven. 9

19 2.2 Conventionele FPGA-toolflow Het configuratiegeheugen Het configuratiegeheugen van de FPGA bevat de configuratiebits van de LUT s, de selectieingangen van de MUX s in de CLB s en de configureerbare routering. Er bestaan FPGA s waarbij het configuratiegeheugen slechts één keer geconfigureerd kan worden, deze zijn niet bruikbaar voor dynamische herconfiguratie. Dynamische herconfiguratie is wel mogelijk met SRAM-gebaseerde (zoals bij Xilinx en Altera) en flash-gebaseerde (zoals bij Actel) configuratiegeheugens. Hier kan het configuratiegeheugen opnieuw geprogrammeerd worden. In commerciële FPGA s wordt het configuratiegeheugen onderverdeeld in configuratieframes. Deze frames vormen de kleinste herconfiguratiegranulariteit in een FPGA. Wanneer één bit in een configuratieframe opnieuw geconfigureerd moet worden, moeten alle bits in het volledige frame opnieuw geconfigureerd worden. De hoeveelheid bits in één configuratieframe is afhankelijk van de gebruikte FPGA. In deze thesis wordt de kleinste herconfiguratiegranulariteit gelijkgesteld aan één bit: elke configuratiebit kan hierbij afzonderlijk geconfigureerd worden. 2.2 Conventionele FPGA-toolflow Om een beschrijving van een hardwarecircuit op een FPGA te configureren is een configuratiebestand vereist. Deze bevat de instructies en configuratiedata die de interface van het configuratiegeheugen nodig heeft om de FPGA volledig of partieel te configureren. Om dit bestand te genereren, moeten een aantal opeenvolgende stappen uitgevoerd worden, die samen de FPGA-toolflow genoemd worden. De conventionele toolflow, weergegeven in Figuur 2.7, bestaat uit vier stappen: synthese, technologiemapping, plaatsing en routering. De toolflow start met een beschrijving van het digitale circuit in een Hardware Description Language (HDL) zoals VHDL of Very high-speed integrated-circuit Hardware Description Language. Beschrijving circuit in HDL Synthese Technologiemapping Plaatsing Routering Configuratiebestand Figuur 2.7: De conventionele FPGA-toolflow. 10

20 2.2 Conventionele FPGA-toolflow Met behulp van de synthesetool wordt de tekstuele representatie van het circuit omgezet naar een logische beschrijving van het circuit op poortniveau (een netlijst). Deze netlijst kan het circuit bijvoorbeeld beschrijven met AND-, OR-, NOT-poorten en FF s. De synthesetool kan ook mogelijke optimalisaties uitvoeren. De synthesetool die in de vakgroep gebruikt wordt, is quartus_map van Altera. Deze tool heeft als voordeel dat er een blif - bestand gegenereerd kan worden. Dit bestand is bruikbaar in andere academische tools in de volgende stappen van de toolflow. De technologiemapper beeldt de netlijsten af op een bepaalde FPGA-technologie met bijhorende basiselementen (zoals LUT s, FF s en MUX s). In de vakgroep wordt voor deze stap de tool t-vpack gebruikt. Het resultaat van deze stap bestaat uit een verzameling CLB s die onderling verbonden worden met netten. In een FPGA bestaat een net uit een aantal connecties die één bron met verschillende doelen verbindt. Het aantal doelen wordt de fan-out van het net genoemd. In Figuur 2.8 wordt een net met een fan-out van drie weergegeven. De CLB s worden voorgesteld door L n, verwijzend naar de corresponderende LUT-functionaliteit. De uitgangspin van CLB L 1 is de bron en de gebruikte ingangspinnen van de CLB s L 2, L 3 en L 4 zijn de drie doelen van het net. L 2 L 1 L 3 L 4 Figuur 2.8: Een net in een FPGA met een fan-out van drie. In de voorlaatste stap wordt de plaatsing op de CLB s uitgevoerd. Hierbij krijgen alle abstracte logische blokken een fysiek logisch blok met een bijhorende plaats op de FPGA. De fysieke plaatsen van de logische blokken worden in deze stap gekozen zodat de schatting van de routeringskost geminimaliseerd wordt (zie sectie 2.2.1). In de laatste stap wordt de effectieve routering uitgevoerd. Hierbij worden alle logische blokken van de FPGA op de correcte manier met elkaar verbonden door connecties. De connecties zijn het resultaat van het aaneenschakelen van connectieblokken, routeringsdraadjes en schakelblokken. De plaatsing en routering wordt in de vakgroep met de academische tool VPR uitgevoerd [7]. Na het foutloos beëindigen van alle voorgaande stappen, zijn alle bitwaarden voor de SRAM-geheugencellen van het configuratiegeheugen gekend. Hieruit kan een lineair bitbestand gegenereerd worden, dat alle configuratiebits van de FPGA kan instellen voor de configuratie. 11

21 2.2 Conventionele FPGA-toolflow De conventionele plaatser Bij de plaatsingsstap wordt op zoek gegaan naar welk logisch blok in een FPGA (IOB s en CLB s) het best gekozen wordt om de functionaliteit van een functioneel blok van het circuit (ingang, uitgang of LUT) uit te voeren. In deze stap wordt niet op zoek gegaan naar de optimale globale oplossing omdat dit te veel tijd in beslag zou nemen. Een oplossing die niet optimaal is, maar goed genoeg en in een veel kleinere berekeningstijd bekomen wordt, is in deze context een betere oplossing. Er zijn drie soorten plaatsingsalgoritmen afhankelijk van het optimalisatiedoel [9]: ˆ een draadlengtegedreven plaatsing waarbij de geconnecteerde logische blokken zo dicht mogelijk bij elkaar geplaatst worden zodat de totale benodigde draadlengte geminimaliseerd wordt. ˆ een routeringsgedreven plaatsing waarbij de densiteit van de draden over de volledige FPGA gebalanceerd wordt. ˆ een tijdsgedreven plaatsing waarbij de circuitsnelheid (de maximale klokfrequentie waarbij het circuit nog functioneert) gemaximaliseerd wordt. Meestal wordt voor een plaatsing gekozen waarbij er met een simulated annealing algoritme gewerkt wordt. In andere algoritmen wordt gebruikt gemaakt van partitiegebaseerde of analytische algoritmen. Deze algoritmen hebben het nadeel dat ze architectuurgebonden zijn. In een simulated annealing algoritme is het makkelijker om de optimalisatiedoelen aan te passen en is de architectuurgebondenheid beperkter. VPR is de academische tool die in de vakgroep gebruikt wordt voor een plaatsing met simulated annealing [7]. Een draadlengtegedreven plaatser, die gebaseerd is op VPR, is door Karel Bruneel in een JAVA-programma geïmplementeerd. Dit was het startpunt van deze thesis [3]. Simulated annealing plaatsingsalgoritme Een simulated annealing algoritme is een generiek, probabilistisch en heuristisch optimalisatiealgoritme dat gebruikt wordt om een benadering van het globale optimum van een gegeven functie in een grote zoekruimte te vinden. Het is gebaseerd op een techniek waarbij metaal verhit wordt en daarna gecontroleerd afkoelt om de grootte van de kristallen binnen het materiaal te vergroten en bijgevolg het aantal defecten te verkleinen [10]. De pseudocode van het basisalgoritme van de plaatser, geïmplementeerd door Karel Bruneel, wordt weergegeven in Figuur 2.9 [3]. Er wordt een kostenfunctie gebruikt om de kwaliteit van de plaatsing van de logische blokken te evalueren. Deze kostenfunctie is afhankelijk van het optimalisatiedoel, in ons geval is dat de totale draadlengte. Het algoritme start met een initiële geldige plaatsing waarbij de in- en uitgangen op vaste IOB s en de LUT s op random fysieke CLB s geplaatst worden. De plaatsing is geldig indien elke LUT een unieke CLB-plaats heeft. 12

22 2.2 Conventionele FPGA-toolflow RandomPlaatsing(); T = InitieelTemperatuur(); O max = InitieelO max (); aantalverwisselingen = effort (N) 4 3 ; while (T > ɛ Kosttot N net ) { repeat aantalverwisselingen times { verwisseling = zoekverwisseling(o max ); K = KostNa(verwisseling) HuidigeKost(); if (uniform(0,1) < e K T ) { voeruit(verwisseling); } } T = UpdateTemp(T); O max = UpdateO max (O max ); } Figuur 2.9: Pseudocode voor een simulated annealing plaatser. Het eerste deel bestaat uit de initialisatie. Het tweede deel bestaat uit twee lussen: de buitenste lus bepaalt aan de hand van een stopconditie wanneer het algoritme kan eindigen, de binnenste lus gaat op zoek naar een groot aantal mogelijke verbeteringen. [3] De plaatsing wordt nu gradueel verbeterd door een zeer groot aantal verwisselingen (lokale verbeteringen) uit te voeren. Bij een mogelijke verwisseling worden twee willekeurige CLBplaatsen op de FPGA geselecteerd. Een mogelijke verwisseling wordt niet onmiddellijk uitgevoerd. Eerst wordt het verschil in totale kost (delta-kost K) berekend wanneer deze verwisseling uitgevoerd zou worden. Er zijn hierbij twee mogelijke gevallen: ˆ indien de delta-kost negatief is (en de totale kost dus verkleind kan worden), levert de verwisseling van de plaatsen van de LUT s een winst in draadlengte op. In dit geval wordt de verwisseling altijd uitgevoerd. ˆ indien de delta-kost positief is, zorgt de verwisseling voor een stijging van de totale kost. Toch bestaat er een waarschijnlijkheid e K T waarbij de verwisseling uitgevoerd wordt. T is de temperatuur van het algoritme die het aantal aanvaarde verwisselingen met een positieve delta-kost bepaalt. Het toelaten van deze verwisselingen zorgt dat het algoritme niet onmiddellijk beëindigd wordt in het eerste lokale minimum. Initieel is de temperatuurswaarde zeer hoog zodat bijna alle verwisselingen aanvaard worden. De temperatuurswaarde daalt gradueel zodat de waarschijnlijkheid steeds kleiner wordt dat verwisselingen, die de gevonden oplossing minder optimaal maken, uitgevoerd worden. 13

23 2.2 Conventionele FPGA-toolflow Een simulated annealing schema bevat een beschrijving van de initiële temperatuurswaarde, de snelheid waarmee de temperatuurswaarde daalt, het aantal verwisselingen die per temperatuurswaarde mogelijk uitgevoerd worden, de manier waarop verwisselingen geselecteerd worden en de stopconditie waarbij de gevonden oplossing goed genoeg is. De keuze van deze parameters is zeer belangrijk bij het zoeken van een goede oplossing in een redelijke rekentijd. In de volgende paragrafen worden de verschillende onderdelen van het gebruikte simulated annealing schema besproken. De initiële temperatuurswaarde wordt berekend door N verwisselingen, met bijhorende K, uit te voeren. N is hierbij het aantal logische blokken in het circuit. De initiële temperatuurswaarde bedraagt 20 keer de standaardafwijking op K [11]. Het aantal verwisselingen die per temperatuurswaarde mogelijk uitgevoerd worden, bedraagt aantalv erwisselingen = effort (N) 4 3. (2.1) ef f ort is een invoerparameter van het JAVA-programma waarmee de rekentijd gecontroleerd kan worden. De standaardwaarde voor ef f ort is 10. Een lagere (hogere) waarde levert een plaatsing met een lagere (hogere) kwaliteit in een lagere (hogere) rekentijd op. Per temperatuurswaarde zijn er aantalv erwisselingen mogelijke verwisselingen. De parameter α houdt de verhouding van het aantal aanvaarde verwisseling ten opzichte van het totaal aantal mogelijke verwisselingen per temperatuurswaarde bij: α = aantalaanvaardev erwisselingen. (2.2) aantalv erwisselingen Bij een hoge α-waarde worden bijna alle verwisselingen toegelaten, wat zal resulteren in een beperkte verbetering van de totale kost. Bij een lage α-waarde worden bijna geen verwisselingen toegelaten, wat dus ook resulteert in een beperkte verbetering. Een α-waarde van 0.44 levert de grootste kostendalingen op [12, 13]. Bij deze α-waarde is het interessant om de temperatuur traag te laten zakken. Bij andere waarden mag de temperatuur sneller zakken. De grootste rekentijd wordt dan geïnvesteerd in het deel van het algoritme waarin de grootste winst geboekt wordt. Volgens de auteurs van [9] wordt de beste prestatie bereikt door het temperatuur-update schema (U pdatet emp(t )) van Vergelijking (2.3). De daling van de temperatuur wordt hierbij geregeld afhankelijk van de α-waarde. 0.5 T oud als 0.96 < α 0.9 T T nieuw = oud als 0.8 < α 0.96 (2.3) 0.95 T oud als 0.15 < α T oud als α 0.15 Een willekeurige verwisseling wordt in het plaatsersalgoritme geselecteerd (zoekv erwisseling(o max )) afhankelijk van de maximale omgevingsafstand O max. Deze parameter is de maximale afstand in de x- en y-richting tussen de twee locaties van 14

24 2.2 Conventionele FPGA-toolflow de verwisseling. Het update-schema van O max is een tweede feedbackinstrument om de α-waarde dicht bij 0.44 te houden [9]. Wanneer O max daalt, stijgt α omdat de K van een dichte verwisseling kleiner is (en omgekeerd). Initieel wordt O max op de maximale FPGA dimensies gezet. Bij elke temperatuursverandering wordt de maximale omgevingsafstand als volgt gewijzigd: O nieuw max = O oud max( α), (2.4) waarin O max waarden aanneemt in het bereik 1 O max maximum FPGA dimensie. Het laatste onderdeel van het simulated annealing schema is de stopconditie. De buitenste lus van het algoritme wordt beëindigd wanneer T kleiner of gelijk is aan een fractie ɛ van de totale kost Kost tot gedeeld door het aantal netten N net. Dit laatste stelt de gemiddelde schatting van de gebruikte draadlengte van één net voor. Op deze temperatuurswaarde is er een zeer kleine kans dat een verwisseling, waarbij de totale kost stijgt, nog uitgevoerd zal worden. De prestatie van het algoritme is niet sterk afhankelijk van de waarde van ɛ, meestal wordt gebruikt [9]. Schatting van de routeringsdraadlengte In deze sectie wordt de kostenfunctie besproken die gebruikt wordt in de draadlengtegedreven plaatser. De eigenlijke benodigde draadlengte kan enkel gekend zijn wanneer de routeringsstap uitgevoerd wordt. Omdat het routeren van alle netten een NP-compleet probleem is, zou de rekentijd van de plaatser drastisch stijgen als de routeringsstap bij elke verwisseling uitgevoerd moet worden. Daarom wordt er tijdens de plaatsing een schatting van de benodigde draadlengte gemaakt. Deze schatting kan na elke verwisseling snel uitgevoerd worden. Hierdoor kan de rekentijd van de plaatser beperkt blijven en moet de routeringsstap slechts één keer uitgevoerd worden. Een gebruikelijke manier om de totale draadlengte in te schatten is: Kost tot = q(aante(n)) BB bron (n). (2.5) n netten De schatting is de som van de geschatte draadlengte van alle netten. De totale draadlengte van een net wordt geschat als de halve omtrek van de omliggende rechthoek, vermenigvuldigd met een factor q(.). De waarde van de factor q(.) wordt bepaald door het aantal eindpunten (aante(n)) van het net. Het aantal eindpunten van een net bestaat uit de som van de enige bron en het aantal verschillende doelen van de connecties van het net. Deze inschatting (BB bron ) wordt vanuit de Engelse benaming de Bounding Box-methode (BB-methode) genoemd. De gebruikte waarden voor de factor q(.) worden weergegeven in Tabel 2.1 en zijn de waarden die berekend werden in [14]. q(.) is gelijk aan één voor netten tot drie eindpunten en stijgt geleidelijk tot 2.79 voor netten met 50 eindpunten. 15

25 2.2 Conventionele FPGA-toolflow Tabel 2.1: Factor q(.) bij het inschatten van de totale draadlengte van een net in functie van het aantal eindpunten (bron en doelen) n. Aantal eindpunten n q(.) n n 15 (n 10) ( ) n 20 (n 15) ( ) n 25 (n 20) ( ) n 30 (n 25) ( ) n 35 (n 30) ( ) n 40 (n 35) ( ) n 45 (n 40) ( ) n 50 (n 45) ( ) > 50 (n 50) In Figuur 2.10 (a) wordt een voorbeeld weergegeven van de berekening van de Bounding Box-kost (BB-kost) van één net met een fan-out van drie. De functionaliteit van de LUT van een CLB wordt aangeduid met L xy, waarbij x en y de coördinaten in het FPGA-raster zijn. De inschatting van de routeringskost van het net met één bron en drie doelen is q(4) (dx bron + dy bron ) = (6 + 3) = (2.6) In Figuur 2.10 (b) wordt hetzelfde net in een eenvoudige schematische voorstelling weergegeven. Mogelijke bronnen worden met een open vierkantje voorgesteld. Mogelijke doelen worden met een gevuld vierkantje voorgesteld. Deze schematische voorstelling zal in het vervolg van deze thesis verder gebruikt worden. 16

26 2.2 Conventionele FPGA-toolflow L 41 dy bron = 3 L 12 L 62 dy bron L 33 dx bron dx bron = 6 (a) (b) Figuur 2.10: (a) De Bounding Box-kost van één net. (b) Eenvoudige voorstelling van de Bounding Box-kost van hetzelfde net De conventionele router De router start met de oplossing van de plaatser waarbij alle logische blokken van het circuit een fysiek blok op de FPGA toegekend kregen. Om connecties te configureren moeten schakelaars van connectieblokken en schakelblokken op de correcte manier geconfigureerd worden. De router gaat op zoek naar een oplossing, waarbij de schakelaars al dan niet open of gesloten moeten worden, om alle fysieke blokken te connecteren zoals het circuit beschrijft. In een FPGA wordt de routeringsarchitectuur gewoonlijk voorgesteld als een directionele graaf, de routeringsgraaf genaamd [15, 16]. Elk draadje en elke logische pin worden knopen in de routeringsgraaf, mogelijke verbindingen (met behulp van schakelaars) vormen de takken. Bij het routeren van een connectie moet een pad gevonden worden in de routeringsgraaf tussen knopen. Om het gebruik van de draadjes op een FPGA te beperken, gaat de router op zoek naar een pad dat zo kort mogelijk is en dus een minimum aantal routeringsdraadjes gebruikt. Bij het routeren van een net kan het totaal aantal routeringsdraadjes beperkt worden doordat verschillende connecties overlappen: de verschillende connecties in een net kunnen kosteloos gebruik maken van elkaars elementen in de routeringsgraaf. De totale routeringsstructuur van een volledig net wordt een routeringsboom genoemd. Zoals weergegeven in Figuur 2.10 (a) worden de routeringsdraadjes bij de bron voor alle drie de connecties van het net gebruikt, pas verder in de routeringsboom komen vertakkingen naar de verschillende doelen voor. Verschillende netten kunnen geen gebruik maken van elkaars routeringselementen, de verschillende routeringsbomen van netten moeten volledig disjunct zijn. In de volgende sectie wordt de Negotiated Congestion Router met het Pathfinder-algoritme besproken. Deze router wordt gebruikt in VPR [7] en is op dezelfde manier in het JAVAprogramma van Karel Bruneel geïmplementeerd [3]. 17

27 2.2 Conventionele FPGA-toolflow Het Pathfinder-algoritme De pseudocode van het Pathfinder-algoritme wordt weergegeven in Figuur Tijdens de eerste iteratie van het algoritme is het onderling delen van routeringselementen tussen verschillende netten mogelijk. Hierna zijn de routeringsbomen van de netten nog niet disjunct, maar maken ze gebruik van een minimum aantal routeringselementen. In de volgende routeringsiteraties worden alle netten van het circuit één voor één weggehaald en opnieuw gerouteerd. Deze iteraties gaan door totdat er geen routeringsknopen dubbel gebruikt worden [17]. InitialiseerRoutering () while (congestieknopen()) { for each Net n do { n.verwijderroutering(); routeer(n); n.knopen().updatehcongestiekost(); } alleknopen().updatevcongestiekost(); } Figuur 2.11: Pseudocode van het pathfinder-algoritme. [3] Het vermijden van het dubbel gebruik van een knoop in de routeringsgraaf wordt door een congestieschema (Negotiated Congestion) beschreven. De kost van een knoop bestaat uit de vermenigvuldiging van drie factoren: de basiskost b(knoop), de huidigde congestiekost h(knoop) en de congestiekost uit het verleden v(knoop). kost(knoop) = b(knoop) h(knoop) v(knoop), (2.7) De basiskost is afhankelijk van het type knoop (bijvoorbeeld een ingangspin of een routeringsdraadje). De huidigde congestiekost wordt geüpdatet na het routeren van een net (n.knopen().updatehcongestiekost()). De huidige congestiekost is gelijk aan één wanneer de knoop slechts één keer gebruikt wordt en is groter dan één wanneer de knoop door meerdere netten gebruikt wordt. De congestiekost uit het verleden wordt na elke routeringsiteratie geüpdatet voor alle knopen (alleknopen().updatev Congestiekost()). Knopen die in het verleden door verschillende netten gebruikt werden, krijgen op deze manier hogere kosten zodat bij het routeren van een net, paden met hoge congestie (uit het verleden) vermeden worden. Verdere details in verband met het gebruikte congestieschema kunnen teruggevonden worden in [3]. De routering van één net (routeer(n)) wordt in de volgende sectie besproken. 18

28 2.2 Conventionele FPGA-toolflow Routeren van een net Een netrouter gaat op zoek naar de routeringsboom van één net met een minimale kost. Het net bestaat uit connecties met één gemeenschappelijke bron (een uitgangspin van een logisch blok) en verschillende doelen (ingangspinnen van andere logische blokken). Om in de grote zoekruimte van mogelijke routeringen een oplossing te vinden, werd een heuristiek ontwikkeld die een lage kost routeringsboom voor een net in een redelijke berekeningstijd kan vinden. Het algoritme wordt weergegeven in Figuur De router overloopt alle doelen van het net en breidt de al gevonden routeringsboom uit met het kortste pad van de bestaande routeringsboom naar een bepaald doel. Het kortste pad wordt gevonden met behulp van het Dijkstra-algoritme [18]. Omdat de bestaande routeringsboom kosteloos gebruikt kan worden, wordt de overlap van gebruikte routeringselementen van de connecties van het net gestimuleerd. function routeer(net n) { routeringsboom = {bron}; for each Doel d van n { pad = Dijkstra(routeringsboom, d); routeringsboom = routeringsboom pad; } } Figuur 2.12: Pseudocode voor het routeren van een net. [3] 19

29 3 GEPARAMETERISEERDE CONFIGURATIES Hoofdstuk 3 Geparameteriseerde configuraties In dit hoofdstuk wordt de techniek van geparameteriseerde configuraties voor dynamische herconfiguratie toegelicht. Deze is ontwikkeld door Karel Bruneel en een aantal figuren in dit hoofdstuk zijn overgenomen uit zijn doctoraat [3]. Modulaire dynamische herconfiguratie heeft als nadeel dat de herconfiguratie traag is, omdat een volledig gebied opnieuw geconfigureerd moet worden. Er worden geen gelijkenissen tussen functionaliteiten benut. Bij de techniek met geparameteriseerde configuraties worden enkel specifieke bits opnieuw geconfigureerd. Hierdoor kan de herconfiguratie veel sneller uitgevoerd worden. Bij geparameteriseerde configuraties worden de configuratiebits in het configuratiegeheugen niet meer met statische bits (0 of 1) beschreven. De configuratiebits worden uitgedrukt als Boolese functies van traagvariërende signalen, parameters genaamd. Deze Boolese functies worden de Tuningfuncties genoemd. Het algemene idee is dat elke keer dat een parameter van waarde verandert, de FPGA geconfigureerd wordt met een configuratie die gespecialiseerd is voor de nieuwe waarde. De herconfiguratie kan enkel efficiënt zijn wanneer de gespecialiseerde configuratie niet frequent aangepast moet worden. De parametersignalen mogen dus maar traag variëren. Om geparameteriseerde configuraties te kunnen gebruiken op een FPGA is de conventionele toolflow drastisch aangepast. De nieuwe toolflow wordt weergegeven in Figuur 3.1. De stappen die in het grijs gekleurd zijn, ondervonden een aanpassing ten opzichte van de conventionele toolflow. De toolflow start met een geparameteriseerde HDL-beschrijving van het circuit. Dit is een gewone HDL-beschrijving waarbij er een onderscheid gemaakt wordt tussen gewone (snelvariërende) ingangen en (traagvariërende) parameteringangen. In de synthesestap verandert er weinig: de parameteringangen moeten enkel doorgegeven worden naar de volgende stap. De aanpassingen van de technologiemapper, de plaatser en de router worden in afzonderlijke secties in dit hoofdstuk besproken. Uiteindelijk genereert de toolflow op het einde een geparameteriseerd configuratiebestand, dat bestaat uit een vast gedeelte voor alle statische bits en een partieel geparameteriseerde configuratie voor de 20

30 3.1 TMAP Geparam. HDL-beschrijving Synthese Technologiemapping: TMAP Plaatsing: TPLACE Routering: TROUTE Geparam. configuratiebestand Figuur 3.1: De aangepaste toolflow bij dynamische herconfiguratie met geparameteriseerde configuraties. veranderende bits. De partieel geparameteriseerde configuratie is een bit-bestand waarin de bits uitgedrukt zijn als Boolese functies van de parameters. Om de FPGA initieel te configureren is het volledig geparameteriseerde configuratiebestand nodig. Telkens een parameter verandert, zal de partieel geparameteriseerde configuratie opnieuw geëvalueerd worden met de specifieke parameterwaarde, waarna het ontwerp opnieuw geconfigureerd wordt. 3.1 TMAP De technologiemapper van de conventionele toolflow beeldt een logisch circuit af op een LUT-circuit. De technologiemapper TMAP van de aangepaste toolflow beeldt een logisch circuit met parameters af op een Tunable of aanpasbaar circuit. Een Tunable circuit is een beschrijving van een dynamisch hardwarecircuit waarin de parameterafhankelijkheid verwerkt is. Een Tunable circuit bestaat uit twee herconfigureerbare basisblokken: 1. een Tunable Look-up Table (TLUT) of een aanpasbare LUT. De configuratiebits van de waarheidstabel van een TLUT worden uitgedrukt als een Boolese functie van de parameterwaarden. 2. een Tunable connection (TCON) of een verzameling van aanpasbare connecties. Een TCON is een veralgemening van het concept net. In de conventionele toolflow worden LUT s verbonden met netten. Een net is hierbij de combinatie van een aantal connecties met eenzelfde bron. Een TCON beschrijft, afhankelijk van de parameteringangen, de interconnecties tussen een aantal bronnen en een aantal doelen. Connecties in een TCON die eindigen in eenzelfde doel, zijn mutueel exclusief in de tijd. 21

31 3.1 TMAP p = 0 p = 0 p LUT 1 p = 1 LUT 3 LUT 2 p = 0 LUT 4 p = 1 Figuur 3.2: Een Tunable circuit met parameter p (aan de linkerkant). De evaluatie van het Tunable circuit naar een specifieke parameterwaarde levert een logisch LUT-circuit op (aan de rechterkant). In Figuur 3.2 wordt aan de linkerkant een Tunable circuit weergegeven met parameter p. Het Tunable circuit bestaat uit meerdere logische LUT-circuits: door een Tunable circuit te evalueren naar een specifieke parameterwaarde, verkrijgt men een specifiek logisch LUTcircuit zoals weergegeven aan de rechterkant van de figuur. Telkens wanneer een parameter verandert, wordt het Tunable circuit opnieuw geëvalueerd en wordt de FPGA opnieuw geprogrammeerd. Dynamische herconfiguratie aan de hand van TLUT s kan al toegepast worden op commerciële FPGA s [3, 19]. Bij het herconfigureren van een TLUT (bij het veranderen van het parametersignaal) veranderen slechts enkele configuratiebits in de waarheidstabel. Deze configuratiebits liggen dicht bij elkaar in het configuratiegeheugen en zijn beperkt in aantal. Hierdoor kan de herconfiguratie van een TLUT zeer snel uitgevoerd worden. Het idee om de routering van een FPGA aan de hand van TCON s te herconfigureren, bevindt zich momenteel nog in de onderzoeksfase. Wanneer de routeringsbits van een FPGA uitgedrukt worden als functie van de parameters, kan de techniek mogelijk in bepaalde toepassingen leiden tot een verdere vermindering van de vereiste FPGA-middelen, een verhoging van de prestatie en een verlaging van het energieverbruik. De herconfiguratie van routering heeft als nadeel dat deze meer tijd in beslag zal nemen omdat meer bits opnieuw geconfigureerd moeten worden. Deze bits zijn bovendien meer verspreid in het configuratiegeheugen dan de configuratiebits van de waarheidstabellen. 22

32 3.2 TPLACE De aangepaste technologiemapper, TMAP, moet een circuit van logische poorten op een circuit van dynamische TLUT s en TCON s afbeelden. In de huidige TMAP is de technologiemapping naar TCON s nog niet geïmplementeerd. TMAP kan momenteel wel al de technologiemapping naar TLUT s uitvoeren. De techniek is gebaseerd op het feit dat een K-TLUT veel flexibeler is dan een conventionele K-LUT. Een conventionele K-LUT kan elke Boolese functie met K ingangen voorstellen. Een K-TLUT kan elke Boolese functie met K gewone ingangen en een willekeurig aantal parameteringangen voorstellen. Hierdoor gaat TMAP voor de TLUT s in het Tunable circuit op zoek naar bedekkingen van subcircuits met K gewone en een willekeurig aantal parameteringangen. 3.2 TPLACE De nieuwe plaatser, TPLACE genaamd, is zeer gelijkaardig aan de conventionele plaatser, die beschreven werd in sectie TPLACE werkt met hetzelfde simulated annealing schema, enkel de inschatting van de totale routeringskost van de netten moet vervangen worden door de inschatting van de routeringskost van TCON s. De kostenfunctie van een plaatser is altijd gekoppeld aan een router. De connectierouter TROUTE zorgt dat connecties, indien mogelijk, zo gerouteerd worden dat ze zoveel mogelijk fysische routering delen [20]. Hierdoor vermindert de herconfiguratietijd, omdat de configuratiebits van de overlappende routering niet moeten overschreven worden. Meer specifiek worden in de connectierouter geen netten gerouteerd zoals in de conventionele router, maar aparte connecties. Connecties met eenzelfde bron of eenzelfde doel mogen hierbij routering delen. Het algoritme van de connectierouter wordt in de volgende sectie besproken. De connectierouter is momenteel nog niet volledig geïmplementeerd, maar er is al een werkende versie van een vereenvoudigde connectierouter: de TCONrouter. De betekenis van een TCON is hierbij gewijzigd ten opzichte van de algemene betekenis van een TCON. Een TCON stelt hierbij een verzameling connecties voor met eenzelfde doel. In de rest van de thesis zal de afkorting TCON enkel gebruikt worden voor een verzameling connecties met eenzelfde doel. Bij het routeren met de TCON-router kunnen enkel connecties met eenzelfde doel (TCON s) routering delen. In Figuur 3.3 (a) worden drie connecties uit een Tunable circuit schematisch voorgesteld. Bronnen en doelen worden respectievelijk met open en gevulde vierkantjes voorgesteld. Connecties met eenzelfde bron (con 1 en con 2 ) dragen hetzelfde signaal in een net. Connecties in een TCON (con 2 en con 3 ) zijn nooit gelijktijdig actief. Indien twee connecties met eenzelfde doel gelijktijdig actief zouden zijn, zou dit immers tot een kortsluiting kunnen leiden. Conceptueel kan elke connectie in een Tunable circuit in twee gelijke delen verdeeld worden. Het deel aan de kant van de bron van de connectie vormt een onderdeel van een bepaald net (in het rood gekleurd). Het deel aan de kant van het doel van de connectie vormt een onderdeel van een TCON (in het groen gekleurd). 23

33 3.2 TPLACE con 1 con 2 BB bron con 3 BB doel (a) (b) (c) Figuur 3.3: (a) Schematische voorstelling van drie connecties in een Tunable circuit. (b) Schatting van de routeringskost m.b.v. de BB-methode voor de connectierouter. (c) Schatting van de routeringskost m.b.v. de BB-methode voor de TCON-router. De Bounding Box-methode (BB-methode) levert een goede schatting van de routeringskost op bij de overlap van routering in de conventionele plaatser. Door de aanwezigheid van zowel connecties met een gemeenschappelijke bron als een gemeenschappelijk doel in een Tunable circuit kan de totale routeringskost ingeschat worden door twee keer de BBmethode toe te passen. Zoals in Figuur 3.3 (b) geïllustreerd wordt, bestaat de kostenfunctie uit de som van een halve BB-kost, afkomstig van routering van halve connecties van netten (halvebronkost) en een halve BB-kost, afkomstig van routering van halve connecties van TCON s (halvedoelkost): Kost tot = halvebronkost + halvedoelkost. (3.1) De term halvebronkost wordt berekend door de som te maken van alle halve BB-kosten van netten (BB bron ) voor alle mogelijke fysieke bronnen: halvebronkost = bron bronnen q(aante(net(bron))) BB bron (net(bron)). (3.2) De halve BB-kost (BB bron ) wordt in Figuur 3.3 (b) weergegeven door de uniform gekleurde rechthoeken. Eerst wordt de unie van de connecties vertrekkend uit de bron (net(bron)) bepaald. Het aantal verschillende fysieke eindpunten (aante(net(bron))) van deze unie bepaalt de gebruikte q(.)-factor uit de conventionele plaatser (zie Tabel 2.1). De omliggende rechthoek wordt per bron bepaald door de eindpunten van de halve (rode) connecties. De term halvedoelkost wordt berekend door de som te maken van alle halve BB-kosten van alle TCON s (BB doel ) voor alle mogelijke fysieke doelen: halvedoelkost = doel doelen q(aante(tcon(doel))) BB doel (tcon(doel)) (3.3) Alle mogelijke doelen zijn de vier ingangspinnen van alle TLUT s en de ingangspin van de uitgangsblokken. De halve BB-kost (BB doel ) wordt in Figuur 3.3 (b) weergegeven 24

34 3.3 TROUTE door de schuingearceerde rechthoeken. Eerst wordt de unie van de connecties die eindigen in het doel (tcon(doel)) bepaald. Het aantal verschillende fysieke eindpunten (aante(tcon(doel))) van deze unie bepaalt de gebruikte q(.)-factor uit de conventionele plaatser. De omliggende rechthoek wordt per doel bepaald door de eindpunten van de halve (groene) connecties. De TCON-router kan enkel routering van connecties met eenzelfde doel delen. De schatting van deze routering met de BB-methode wordt op Figuur 3.3 (c) weergegeven. Hierbij wordt de totale kost berekend uit de som van de BB-kost van alle doelen. In deze schatting worden de volledige connecties gebruikt. Deze schatting is in principe het omgekeerde van de schatting van de routering van een net in de conventionele plaatser. 3.3 TROUTE Na de plaatsing wordt de aangepaste routeringsstap uitgevoerd door de connectierouter TROUTE. Hierbij moeten zoveel mogelijk routeringsmiddelen op de FPGA gedeeld worden om de totale kost van de gebruikte routeringsmiddelen klein te houden. Het delen van fysische routering zorgt bovendien dat de herconfiguratietijd verminderd kan worden. Configuratiebits van overlappende routering zijn statisch en moeten bij een herconfiguratie niet opnieuw geconfigureerd worden. De router zal de Boolese functies van de routeringsbits berekenen zodat wanneer een parameter van waarde verandert, er een aantal connecties van configuratie veranderen. InitialiseerRoutering () while (congestieknopen()) { for each Connection c do { c. verwijderroutering(); routeer(c); c. knopen().updatehcongestiekost(); } alleknopen().updatevcongestiekost(); } Figuur 3.4: Pseudocode van het algoritme van de connectierouter. De pseudocode van het algoritme van de connectierouter, weergegeven in Figuur 3.4, is gebaseerd op het Pathfinder-algoritme van de conventionele router. Het conventioneel routeren van netten is hierbij vervangen door het routeren van connecties. Alle connecties in het Tunable circuit worden in één set gestopt en worden één voor één gerouteerd. Elke knoop in de routeringsgraaf heeft een equivalentieset. De equivalentieset bevat alle bronnen en doelen van connecties die al gerouteerd zijn en langs deze knoop passeren. 25

35 3.3 TROUTE Indien een nieuwe connectie gerouteerd moet worden tot een bepaalde bron of een bepaald doel, dan volstaat het om te routeren tot aan een knoop die de bron of het doel in zijn equivalentieset bevat. De effectieve connectie van deze knoop tot de bron of het doel is dan al door een andere connectie volbracht (en heeft dus geen extra routeringskost). Op deze manier treedt overlap op tussen connecties met eenzelfde bron of doel. De connectierouter maakt, net zoals een netrouter, gebruik van Negotiated Congestion om een set van disjuncte routeringsgraven te vinden voor een bepaald Tunable circuit. Alle connecties worden gerouteerd totdat er geen knopen gedeeld worden en er dus geen congestie meer is. Enkel bij routeringen van connecties met een gemeenschappelijke bron of gemeenschappelijk doel kan een knoop meerdere keren gebruikt worden. De pseudocode voor het routeren van één connectie met de connectierouter wordt weergegeven in Figuur 3.5. Het kortste pad van de bron van de connectie (c bron ) naar het doel van de connectie (c doel ) wordt gezocht met behulp van het Dijkstra-algoritme. Hierna wordt voor elke knoop k in het gevonden pad, de equivalentieset aangepast. Indien de equivalentieset leeg is, worden de bron en het doel van de connectie toegevoegd. Indien de equivalentieset al elementen bevat, wordt de nieuwe equivalentieset de doorsnede van de huidige equivalentieset en de bron en het doel van de connectie. function routeer(connectie c) { pad = Dijkstra(c); for each knoop k in pad do{ k.zetequivalentieset({c bron, c doel }); } } Figuur 3.5: Pseudocode voor het routeren van één connectie met de connectierouter. [3] In Figuur 3.6 (a) wordt als voorbeeld een schematische voorstelling van een TCON weergegeven. De TCON heeft twee bronnen (uitganspinnen van de TLUT s T 11 en T 21 ) en één doel (ingangspin nul van TLUT T 22 ). Wanneer het parametersignaal p gelijk is aan nul, is de connectie van de uitgangspin van TLUT T 11 naar ingangspin nul van TLUT T 22 actief. Wanneer het parametersignaal p gelijk is aan één, is de andere connectie met als bron de uitgangspin van TLUT T 21 actief. In Figuur 3.6 (b) wordt dezelfde TCON weergegeven na plaatsing en routering met de connectierouter. Er is overlap opgetreden bij de routering van de twee connecties: de twee connecties van de TCON maken gebruik van elkaars routeringsmiddelen (routeringsdraadjes en routeringsschakelaars). Routeringsdraadjes worden voorgesteld door dikke lijnen. De dunne lijntjes stellen schakelaars voor. Bronnen en doelen worden respectievelijk met open en gevulde vierkantjes voorgesteld. Bij elke schakelaar wordt de geconfigureerde waarde uitgedrukt als een Boolese functie van de parameter p. 26

36 3.3 TROUTE p 1 p p 1 T 11 pin 0 T 11 T 21 T 21 T 22 1 p = 0 p = 1 T 12 1 T 22 1 (a) (b) Figuur 3.6: (a) Schematische voorstelling van een TCON met twee bronnen (uitgangspin van twee TLUT s T 11 en T 21 ) en één doel (ingangspin nul van TLUT T 22 ). (b) De effectieve implementatie van de TCON op een kleine FPGA. [3] De implementatie van de connectierouter is momenteel nog in onderzoek. Hierdoor zullen de resultaten van de routeringskost in deze thesis niet met de connectierouter geëvalueerd kunnen worden. Er is wel al een implementatie van de TCON-router beschikbaar. De resultaten zullen enkel geëvalueerd worden met de TCON-router en schattingen van routeringen uit de plaatsingsstap van de connectierouter. 27

37 4 DYNAMISCHE HERCONFIGURATIE VAN MULTIMODE-CIRCUITS Hoofdstuk 4 Dynamische herconfiguratie van multimode-circuits Zoals in de probleemstelling van deze thesis uitgelegd werd (zie 1.1), bestaan multimodecircuits (MMC s) uit verschillende modes die mutueel exclusief zijn in de tijd. Om dynamische herconfiguratie bij een MMC op een FPGA toe te passen, is de meest voor de hand liggende techniek modulaire dynamische herconfiguratie (MDH). In Figuur 4.1 wordt deze techniek schematisch voorgesteld in een Software-Defined Radio-toepassing [21]. Het statische deel bestaat uit logica om een antenne aan te sturen en moet altijd operationeel blijven. De gekleurde dynamische (rechthoekige) gebieden zijn de modes van het MMC, die verschillende communicatieprotocollen voorstellen. De connectiemogelijkheden van het dynamisch gebied met de statische delen zijn vast. De herconfiguratie duurt redelijk lang omdat het volledige gebied van het MMC opnieuw geconfigureerd moet worden. Daarom Virtex Devices Offer Fine-Grained Partial Reconfiguration Support wordt bij FPGA s momenteel onderzoek gedaan naar technieken waarbij de herconfiguratietijd gereduceerd wordt. X-Ref Target - Figure 1 Figuur 4.1: Schematische voorstelling Figure 1: van Modifying de modulaire Functionality dynamische herconfiguratietechniek and Reducing Size in using Parti een Software-Defined Radio-toepassing. [21] The ISE 12 software enables designers to target Virtex -4, Virtex devices for partial reconfiguration applications. This Xilinx soluti fourth generation of software support for partial reconfiguration; software has evolved 28 considerably over the past decade. Partial re mature and time-tested design option. Virtex Devices Offer Fine-Grained Partial Reconfiguratio Virtex architectures have been engineered from the beginning to s partial reconfiguration. Each successive generation of silicon has fu features and granularity of these capabilities, and each generation

38 4.1 Literatuurstudie MMC s worden ook gebruikt in ASIC s, waarbij geprobeerd wordt om een implementatie te vinden die oppervlakte-efficiënt is. In een eerste deel van dit hoofdstuk worden bestaande technieken uit de literatuur besproken om efficiënte MMC s op ASIC s en FPGA s automatisch te genereren. In het tweede deel wordt de oplossingsmethode van deze thesis toegelicht. Hierbij wordt de techniek van dynamische herconfiguratie met geparameteriseerde configuraties toegepast. 4.1 Literatuurstudie Wanneer geen gebruik gemaakt wordt van dynamische herconfiguratie van MMC s, wordt op zoek gegaan naar oppervlakte-efficiënte statische implementaties op FPGA s of ASIC s. In [22] worden MMC s gemapt op LUT-gebaseerde FPGA s. Voor een multimode CRCcircuit wordt een vermindering van 22% in oppervlakte bekomen ten opzichte van een statisch FPGA-ontwerp. De verschillende modes van het MMC stellen verschillende polynomiale functies voor. Het wisselen tussen de modes gebeurt aan de hand van multiplexers die in de LUT s ingebed zitten. In de techniek worden gelijkaardige functies echter handmatig geïdentificeerd. In [23, 24, 25] worden MMC s gebruikt bij ASIC s. Dynamische herconfiguratie is bij een ASIC niet mogelijk. De nadruk bij deze technieken ligt op het automatiseren van de generatie van het MMC en het verkleinen van de gebruikte chipoppervlakte. Het ontwerp van MMC s gebeurt hierbij altijd op een relatief hoog niveau, namelijk het niveau van de graaf van de dataflow van rekenkundige operaties (vermenigvuldigers, optellers). In deze technieken wordt het ontwerp opgesplitst in een datapad en een controlepad. De technieken zorgen dat het datapad overlapt en dat de overhead in het controlepad geminimaliseerd wordt. Het wisselen tussen modes gebeurt aan de hand van multiplexers. In [23] wordt het circuit op configureerbare ASIC s gespecialiseerd naar een bepaalde applicatieset aan de hand van een automatische herconfiguratietechniek. De totale chipoppervlakte van het hardwarecircuit is gemiddeld 12.3 keer zo klein als een statische FPGA-oplossing. [24] gaat specifiek over het overlappen van het datapad. Verschillende operaties die overlappen hoeven niet volledig gelijk te zijn. Bij mutueel exclusieve operaties (die aan de hand van een som-van-producten beschreven worden), wordt de grootste som-van-producten slechts één keer geïmplementeerd. Verschillende onderdelen hiervan worden opnieuw gebruikt door andere operaties aan de hand van multiplexers. Op die manier kan bij niettijdskritische ontwerpen de chipoppervlakte verkleind worden. In [25] wordt een techniek voorgesteld, waarbij multimode-architecturen geïmplementeerd worden door de synthese op een hoger niveau uit te voeren met de ontworpen tool GAUT. GAUT is een academische synthesetool voor DSP-toepassingen. Vertrekkend vanuit een zuivere C-functie extraheert GAUT potentieel parallelisme voordat operators geselecteerd worden of operaties gepland worden. Taken die mutueel exclusief zijn in de tijd, worden opgemerkt aan de hand van switch-instructies. Uit deze taken worden een aantal graven van datapaden gemaakt. Vervolgens wordt een stap uitgevoerd waarin de kosten in 29

39 4.1 Literatuurstudie termen van opslaggeheugen, multiplexers en decodeergeheugen verminderd worden. Na een specialisatiestap wordt een potentieel gepijplijnde multimode-architectuur ontworpen, bestaande uit een verwerkingseenheid en een gedeeld datapad dat bestaat uit een aantal multiplexers, opslagelementen en operatoren. Uit de uiteindelijke oplossing wordt een VHDL-bestand gegenereerd dat in andere tools gebruikt kan worden. Bij dynamische herconfiguratie van FPGA s is al veel onderzoek gedaan om de herconfiguratietijd te verminderen. In [26, 27, 28] worden methoden gebruikt om de herconfiguratietijd te minimaliseren door de inhoud van LUT s te overlappen. In deze thesis worden deze technieken niet beschouwd, omdat dit niet de hoofdreden is van de relatief grote herconfiguratietijd. Aangezien de configuratiebits van de routering het overgrote deel van de configuratiebits zijn, zorgen vooral deze voor een grote herconfiguratietijd. In [26] worden technieken gebruikt waarbij de ingangen van de LUT s gepermuteerd worden en er rekening gehouden wordt met don t-care-ingangen van de LUT s. In [28] wordt een nieuw plaatsingsalgoritme voorgesteld om de grootte van de herconfiguratiebitstroom te verkleinen. Het algoritme is gebaseerd op het bestaande plaatsingsalgoritme in VPR. De overlap van gelijkaardige LUT s wordt gestimuleerd door in de kostenfunctie van de plaatser, de configuraties van de LUT s van het vorig geplaatste circuit in te voeren. In [29] wordt de herconfiguratietijd bij het herconfiguren van een FPGA beperkt door op zoek te gaan naar fysische overlap in verbindingen bij herconfigureerbare hardware. Deze techniek is zeer gelijkaardig aan de techniek die in deze thesis gebruikt wordt. In het artikel beschikken ze echter niet over een aangepaste plaatser en router die met dynamisch herconfigureerbare verbindingen overweg kan. Bij het herconfigureren van een FPGA kunnen ze via een omweg in de Xilinx-toolflow de plaatsing van een design van een vorige iteratie meegeven. Hierbij zouden de tools enkel het verschil tussen de designs moeten herplaatsen en routeren, maar dit wordt niet gegarandeerd. In deze publicatie worden verbindingen die niet volledig overlappen onafhankelijk van elkaar gerouteerd. Daarnaast wordt de totale draadlengte van het MMC niet geoptimaliseerd. In deze thesis wordt, door het gebruik van de connectierouter TROUTE, zowel met de totale draadlengte als de herconfiguratietijd rekening gehouden. In [30] wordt [22] verder uitgebreid door op een hoger niveau te werken. De applicaties worden in algoritmische blokken verdeeld. Daarna worden met behulp van algoritmische transformaties (gebaseerd op een partitioneringsmethode voor geneste lussen in programma s) verschillende implementaties voor elk blok toegelaten. Hierbij kan zowel de chipoppervlakte als de herconfiguratiekost verminderd worden. 30

40 4.2 Multimode-circuits a.d.h.v. geparameteriseerde configuraties 4.2 Multimode-circuits a.d.h.v. geparameteriseerde configuraties Inleiding Het MMC wordt in de dynamische configuratietechniek met geparameteriseerde configuraties voorgesteld door een Tunable circuit. Een efficiënt ontwerp van dit MMC met geparameteriseerde configuraties houdt twee zaken in: 1. Het MMC mag niet veel groter zijn dan het grootste afzonderlijke LUT-circuit. Aangezien de grootte van een FPGA-ontwerp meestal uitgedrukt wordt als het totaal aantal gebruikte LUT s, mag het aantal gebruikte TLUT s in het Tunable circuit niet veel groter zijn dan het aantal gebruikte LUT s in het grootste afzonderlijke circuit. 2. Bij het veranderen van de functionaliteit van het MMC moet de herconfiguratie snel gebeuren. Dit is enkel mogelijk wanneer het aantal configuratiebits, dat opnieuw geconfigureerd moet worden om van mode te wisselen, klein is. De herconfiguratiebits kunnen zowel LUT s als routering herconfigureren. Het minimaliseren van de TLUT-herconfiguratiebits komt neer op het zoeken naar zeer gelijkaardige LUT s in de afzonderlijke circuits zoals in [28]. Het minimaliseren van de routeringsherconfiguratiebits komt neer op het zoeken naar overlap in routering tussen de verschillende LUT-circuits. Wanneer de configuratiebits voor de routering van de verschillende modes identiek zijn, moeten deze niet opnieuw geconfigureerd worden bij een herconfiguratie. Aangezien het overgrote deel van de configuratiebits voor de routering is, wordt in deze thesis enkel de overlap van routering tussen de verschillende LUT-circuits gestimuleerd om een efficiënt MMC te genereren. Meer specifiek voor geparameteriseerde configuraties wordt het aantal configuratiebits, dat uitgedrukt wordt in functie van de parameterwaarde, geminimaliseerd. Deze configuratiebits voor de routering liggen verspreid over de volledige chipoppervlakte. Alle andere configuratiebits zijn constant en moeten niet opnieuw geconfigureerd worden bij het wisselen van mode (inladen van een partieel geparameteriseerd bit-bestand). Om een MMC met behulp van geparameteriseerde configuraties automatisch uit de beschrijvingen van verschillende hardwarecircuits te genereren, moet de FPGA-toolflow veranderd worden. 31

41 4.2 Multimode-circuits a.d.h.v. geparameteriseerde configuraties Aangepaste toolflow In de toolflow van geparameteriseerde configuraties wordt gestart met één geparameteriseerde HDL-beschrijving. In deze beschrijving zijn naast de gewone ingangen ook al parameteringangen aanwezig. Bij het genereren van een MMC zijn er echter verschillende HDL-beschrijvingen die de modes beschrijven. Een ideaal traagvariërend extern signaal, dat als parameter gekozen kan worden, is het signaal dat bepaalt welke mode van het MMC actief is. Bij het veranderen van de parameterwaarde wordt het MMC dan opnieuw geconfigureerd en wordt dus gewisseld van mode. De nieuwe aangepaste toolflow is in een JAVA-programma geïmplementeerd (zie Bijlage A) en wordt in Figuur 4.2 weergegeven. De toolflow is een combinatie van de conventionele toolflow en de toolflow bij de dynamische herconfiguratietechniek met geparameteriseerde configuraties. Beschrijving circuit 0 in HDL Synthese Technologiemapping Beschrijving circuit 1 in HDL Synthese Technologiemapping Gecombineerde plaatsing Generatie multimode-circuit ( Plaatsing: TPLACE (bij KF 3+ ) ) Routering: TROUTE Geparam. configuratiebestand Figuur 4.2: De aangepaste toolflow voor de generatie van het geparameteriseerd configuratiebestand van een multimode-circuit uit verschillende beschrijvingen van hardwarecircuits in HDL. De toolflow start met een aantal HDL-beschrijvingen van de verschillende modes. De toolflow is onafhankelijk van het aantal afzonderlijke modes waarmee gestart wordt. In de figuur wordt als voorbeeld gestart met twee afzonderlijke circuits. In de eerste stappen wordt de conventionele synthese en technologiemapping uitgevoerd. Na de technologiemapping zijn er een aantal LUT-circuits gegenereerd (onafhankelijk van elkaar). Alle LUT-circuits worden in een gecombineerde plaatsingsstap gelijktijdig geplaatst met een simulated annealing algoritme, waarbij op zoek gegaan wordt naar overlap in routering (zie de volgende sectie). Hierbij mogen er op een fysieke CLB-plaats op een FPGA meerdere CLB s geplaatst worden, zolang ze van verschillende modes afkomstig zijn. In een volgende stap wordt het MMC gegenereerd. Deze stap genereert het Tunable circuit. Vanaf hier is de parameter belangrijk. De volgende stap voert de routering aan de hand van de router 32

42 4.2 Multimode-circuits a.d.h.v. geparameteriseerde configuraties TROUTE uit en genereert uiteindelijk het geparameteriseerd configuratiebestand van het MMC. Gecombineerde plaatsingsstap In de gecombineerde plaatsingsstap worden de verschillende LUT-circuits simultaan geplaatst aan de hand van een simulated annealing algoritme dat gebaseerd is op het algoritme van de conventionele plaatser (zie Figuur 2.9). Figuur 4.3: Virtuele voorstelling van een driedimensionale FPGA, die gebruikt wordt om op zoek te gaan naar overlap in routering tussen de verschillende LUT-circuits. De gecombineerde plaatsingsstap start met een geldige random plaatsing waarin de verschillende LUT-circuits als het ware op elkaar geplaatst worden in een virtuele driedimensionale FPGA, zoals in Figuur 4.3 weergegeven voor twee circuits. De x- en y-coördinaten van de FPGA stellen hierbij nog steeds de mogelijke CLB-plaatsen op een FPGA voor. De z-coördinaat van de virtuele driedimensionale FPGA stelt een LUT-circuit van een bepaalde mode voor. Op één CLB-plaats P xy kunnen nu maximaal M verschillende blokken staan, waarbij M gelijk is aan het aantal verschillende modes, die elk door een apart LUT-circuit voorgesteld worden. Bij een geldige initiële plaatsing worden binnen één LUT-circuit alle in- en uitgangen op vaste IOB-plaatsen en alle LUT s op random CLBplaatsen op de FPGA geplaatst. In één circuit moeten alle logische blokken een unieke plaats hebben. De simultane plaatsing wordt gradueel verbeterd door een groot aantal verwisselingen uit te voeren. Een verwisseling bestaat niet alleen uit twee willekeurige CLB-plaatsen, zoals in de conventionele plaatser, maar ook uit een random gekozen circuitniveau. Verwisselingen worden op die manier altijd in één LUT-circuit uitgevoerd. Afhankelijk van het verschil in totale kost ( K), die een verwisseling mogelijk teweegbrengt, en de huidige temperatuur (T ) van het algoritme, wordt de verwisseling aanvaard. 33

Dynamische Circuitspecialisatie

Dynamische Circuitspecialisatie Dynamische Circuitspecialisatie Karel Bruneel promotor: prof. Dirk Stroobandt Field Programmable Gate Array 11111111111 1111111111111 1111111111 11111111111 Digitale GSM- 111111111 1111111111 11111 chip

Nadere informatie

Samenvatting Field programmabale gate arrays (FPGA s) Dynamische herconfiguratie.

Samenvatting Field programmabale gate arrays (FPGA s) Dynamische herconfiguratie. Samenvatting Field programmabale gate arrays (FPGA s) zijn heel aantrekkelijk als ontwerpplatform voor digitale systemen. FPGA s zijn geïntegreerde schakelingen die geprogrammeerd of geconfigureerd kunnen

Nadere informatie

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

Add the standing fingers to get the tens and multiply the closed fingers to get the units. Digit work Here's a useful system of finger reckoning from the Middle Ages. To multiply $6 \times 9$, hold up one finger to represent the difference between the five fingers on that hand and the first

Nadere informatie

Introductie in flowcharts

Introductie in flowcharts Introductie in flowcharts Flow Charts Een flow chart kan gebruikt worden om: Processen definieren en analyseren. Een beeld vormen van een proces voor analyse, discussie of communicatie. Het definieren,

Nadere informatie

Herconfigureerbare Hardware in Ieders Bereik

Herconfigureerbare Hardware in Ieders Bereik Herconfigureerbare Hardware in Ieders Bereik Prof. Dirk Stroobandt Universiteit Gent Vakgroep ELIS Onderzoeksgroep PARIS http://www.elis.ugent.be/~dstr/ Overzicht Nood aan digitale verwerking van gegevens

Nadere informatie

Today s class. Digital Logic. Informationsteknologi. Friday, October 19, 2007 Computer Architecture I - Class 8 1

Today s class. Digital Logic. Informationsteknologi. Friday, October 19, 2007 Computer Architecture I - Class 8 1 Today s class Digital Logic Friday, October 19, 2007 Computer Architecture I - Class 8 1 Digital circuits Two logical values Binary 0 (signal between 0 and 1 volt) Binary 1 (signal between 2 and 5 volts)

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 8 februari 2010 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Automatiseren van SRL-herconfiguratie

Automatiseren van SRL-herconfiguratie Automatiseren van SRL-herconfiguratie Karel Heyse Promotor: prof. dr. ir. Dirk Stroobandt Begeleiders: ir. Karel Bruneel, Tom Davidson, Brahim Al Farisi Masterproef ingediend tot het behalen van de academische

Nadere informatie

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead 7.1 Exploring Combinations of Ten Look at these cubes. 2. Color some of the cubes to make three parts. Then write a matching sentence. 10 What addition sentence matches the picture? How else could you

Nadere informatie

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij ENGLISH VERSION SEE PAGE 3 Tentamen Lineaire Optimalisering, 0 januari 0, tijdsduur 3 uur. Het gebruik van een eenvoudige rekenmachine is toegestaan. Geef bij elk antwoord een duidelijke toelichting. Als

Nadere informatie

Promotor: prof. dr. ir. Dirk Stroobandt Begeleiders: ir. Karel Bruneel, Fatma Mostafa Mohamed Ahmed Abouelella

Promotor: prof. dr. ir. Dirk Stroobandt Begeleiders: ir. Karel Bruneel, Fatma Mostafa Mohamed Ahmed Abouelella Herconfiguratie van LUT s via hun schuifregisterfunctionaliteit Brahim Al Farisi Promotor: prof. dr. ir. Dirk Stroobandt Begeleiders: ir. Karel Bruneel, Fatma Mostafa Mohamed Ahmed Abouelella Masterproef

Nadere informatie

General info on using shopping carts with Ingenico epayments

General info on using shopping carts with Ingenico epayments Inhoudsopgave 1. Disclaimer 2. What is a PSPID? 3. What is an API user? How is it different from other users? 4. What is an operation code? And should I choose "Authorisation" or "Sale"? 5. What is an

Nadere informatie

ETS 4.1 Beveiliging & ETS app concept

ETS 4.1 Beveiliging & ETS app concept ETS 4.1 Beveiliging & ETS app concept 7 juni 2012 KNX Professionals bijeenkomst Nieuwegein Annemieke van Dorland KNX trainingscentrum ABB Ede (in collaboration with KNX Association) 12/06/12 Folie 1 ETS

Nadere informatie

MyDHL+ Van Non-Corporate naar Corporate

MyDHL+ Van Non-Corporate naar Corporate MyDHL+ Van Non-Corporate naar Corporate Van Non-Corporate naar Corporate In MyDHL+ is het mogelijk om meerdere gebruikers aan uw set-up toe te voegen. Wanneer er bijvoorbeeld meerdere collega s van dezelfde

Nadere informatie

L.Net s88sd16-n aansluitingen en programmering.

L.Net s88sd16-n aansluitingen en programmering. De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen

Nadere informatie

FRAME [UPRIGHT MODEL] / [DEPTH] / [HEIGHT] / [FINISH] TYPE OF BASEPLATE P Base plate BP80 / E alternatives: ZINC finish in all cases

FRAME [UPRIGHT MODEL] / [DEPTH] / [HEIGHT] / [FINISH] TYPE OF BASEPLATE P Base plate BP80 / E alternatives: ZINC finish in all cases FRAME XS UPRIGHT BASE PLATE UPRIGHT HORIZONTAL PROFILE DIAGONAL PROFILE DESCRIPTION A vertical structure consisting of 2 uprights, joined by a system of bracing profiles, and base plates intended to support

Nadere informatie

CTI SUITE TSP DETAILS

CTI SUITE TSP DETAILS CTI SUITE TSP DETAILS TAPI allows an application to access telephony services provided by a telecom PABX. In order to implement its access to ETRADEAL, a TAPI interface has been developed by Etrali. As

Nadere informatie

Classification of triangles

Classification of triangles Classification of triangles A triangle is a geometrical shape that is formed when 3 non-collinear points are joined. The joining line segments are the sides of the triangle. The angles in between the sides

Nadere informatie

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT TELETASK Handbook Multiple DoIP Central units DALISOFT 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool Connect the TDS20620V2 If there is a TDS13620 connected to the DALI-bus, remove it first.

Nadere informatie

Four-card problem. Input

Four-card problem. Input Four-card problem The four-card problem (also known as the Wason selection task) is a logic puzzle devised by Peter Cathcart Wason in 1966. It is one of the most famous tasks in the study of deductive

Nadere informatie

Engels op Niveau A2 Workshops Woordkennis 1

Engels op Niveau A2 Workshops Woordkennis 1 A2 Workshops Woordkennis 1 A2 Workshops Woordkennis 1 A2 Woordkennis 1 Bestuderen Hoe leer je 2000 woorden? Als je een nieuwe taal wilt spreken en schrijven, heb je vooral veel nieuwe woorden nodig. Je

Nadere informatie

Meetkunde en Lineaire Algebra

Meetkunde en Lineaire Algebra Hoofdstuk 1 Meetkunde en Lineaire Algebra Vraag 1.1 Het trapoppervlak is een afwikkelbaar oppervlak met oneindig veel singuliere punten. Vraag 1.2 Het schroefoppervlak is een afwikkelbaar oppervlak met

Nadere informatie

ALGORITMIEK: answers exercise class 7

ALGORITMIEK: answers exercise class 7 Problem 1. See slides 2 4 of lecture 8. Problem 2. See slides 4 6 of lecture 8. ALGORITMIEK: answers exercise class 7 Problem 5. a. Als we twee negatieve (< 0) getallen bij elkaar optellen is het antwoord

Nadere informatie

I.S.T.C. Intelligent Saving Temperature Controler

I.S.T.C. Intelligent Saving Temperature Controler MATEN & INFORMATIE I.S.T.C. Intelligent Saving Temperature Controler Deze unieke modulerende zender, als enige ter wereld, verlaagt het energieverbruik aanzienlijk. Het werkt in combinatie met de energy

Nadere informatie

Stichting NIOC en de NIOC kennisbank

Stichting NIOC en de NIOC kennisbank Stichting NIOC Stichting NIOC en de NIOC kennisbank Stichting NIOC (www.nioc.nl) stelt zich conform zijn statuten tot doel: het realiseren van congressen over informatica onderwijs en voorts al hetgeen

Nadere informatie

Handleiding Installatie ADS

Handleiding Installatie ADS Handleiding Installatie ADS Versie: 1.0 Versiedatum: 19-03-2014 Inleiding Deze handleiding helpt u met de installatie van Advantage Database Server. Zorg ervoor dat u bij de aanvang van de installatie

Nadere informatie

Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen.

Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen. Examen ET1205-D1 Elektronische Circuits deel 1, 5 April 2011, 9-12 uur Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen. Indien, bij het multiple choice

Nadere informatie

Preschool Kindergarten

Preschool Kindergarten Preschool Kindergarten Objectives Students will recognize the values of numerals 1 to 10. Students will use objects to solve addition problems with sums from 1 to 10. Materials Needed Large number cards

Nadere informatie

Behandeleffecten. in Forensisch Psychiatrisch Center de Rooyse Wissel. Treatment effects in. Forensic Psychiatric Centre de Rooyse Wissel

Behandeleffecten. in Forensisch Psychiatrisch Center de Rooyse Wissel. Treatment effects in. Forensic Psychiatric Centre de Rooyse Wissel Behandeleffecten in Forensisch Psychiatrisch Center de Rooyse Wissel Treatment effects in Forensic Psychiatric Centre de Rooyse Wissel S. Daamen-Raes Eerste begeleider: Dr. W. Waterink Tweede begeleider:

Nadere informatie

MyDHL+ Tarief berekenen

MyDHL+ Tarief berekenen MyDHL+ Tarief berekenen Bereken tarief in MyDHL+ In MyDHL+ kunt u met Bereken tarief heel eenvoudig en snel opvragen welke producten er mogelijk zijn voor een bestemming. Ook ziet u hierbij het geschatte

Nadere informatie

L.Net s88sd16-n aansluitingen en programmering.

L.Net s88sd16-n aansluitingen en programmering. De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen

Nadere informatie

My Inspiration I got my inspiration from a lamp that I already had made 2 years ago. The lamp is the you can see on the right.

My Inspiration I got my inspiration from a lamp that I already had made 2 years ago. The lamp is the you can see on the right. Mijn Inspiratie Ik kreeg het idee om een variant te maken van een lamp die ik al eerder had gemaakt. Bij de lamp die in de onderstaande foto s is afgebeeld kun je het licht dimmen door de lamellen open

Nadere informatie

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of:

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of: Document properties Most word processors show some properties of the text in a document, such as the number of words or the number of letters in that document. Write a program that can determine some of

Nadere informatie

Esther Lee-Varisco Matt Zhang

Esther Lee-Varisco Matt Zhang Esther Lee-Varisco Matt Zhang Want to build a wine cellar Surface temperature varies daily, seasonally, and geologically Need reasonable depth to build the cellar for lessened temperature variations Building

Nadere informatie

2019 SUNEXCHANGE USER GUIDE LAST UPDATED

2019 SUNEXCHANGE USER GUIDE LAST UPDATED 2019 SUNEXCHANGE USER GUIDE LAST UPDATED 0 - -19 1 WELCOME TO SUNEX DISTRIBUTOR PORTAL This user manual will cover all the screens and functions of our site. MAIN SCREEN: Welcome message. 2 LOGIN SCREEN:

Nadere informatie

Aim of this presentation. Give inside information about our commercial comparison website and our role in the Dutch and Spanish energy market

Aim of this presentation. Give inside information about our commercial comparison website and our role in the Dutch and Spanish energy market Aim of this presentation Give inside information about our commercial comparison website and our role in the Dutch and Spanish energy market Energieleveranciers.nl (Energysuppliers.nl) Founded in 2004

Nadere informatie

De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten. een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te.

De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten. een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te. De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te Stoppen The Influence of the Innovation Characteristics on the Intention of

Nadere informatie

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind.

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind. Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind. Bullying among Students with Autism Spectrum Disorders in Secondary

Nadere informatie

Basisconcept VHDL. Digitaal Ontwerpen Tweede studiejaar. Wim Dolman. Engineering, leerroute Elektrotechniek Faculteit Techniek

Basisconcept VHDL. Digitaal Ontwerpen Tweede studiejaar. Wim Dolman. Engineering, leerroute Elektrotechniek Faculteit Techniek Basisconcept VHDL Tweede studiejaar Wim Dolman Engineering, leerroute Elektrotechniek Faculteit Techniek 1 Deze presentatie toont de stappen voor het ontwerpen van een digitale combinatorische schakeling

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 7 februari 2011

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 7 februari 2011 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 7 februari 2011 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Invloed van het aantal kinderen op de seksdrive en relatievoorkeur

Invloed van het aantal kinderen op de seksdrive en relatievoorkeur Invloed van het aantal kinderen op de seksdrive en relatievoorkeur M. Zander MSc. Eerste begeleider: Tweede begeleider: dr. W. Waterink drs. J. Eshuis Oktober 2014 Faculteit Psychologie en Onderwijswetenschappen

Nadere informatie

Meetkunde en Lineaire Algebra

Meetkunde en Lineaire Algebra Hoofdstuk 1 Meetkunde en Lineaire Algebra Vraag 1.1 Het trapoppervlak is een afwikkelbaar oppervlak met oneindig veel singuliere punten. vals Vraag 1.2 Het schroefoppervlak is een afwikkelbaar oppervlak

Nadere informatie

Adam Marciniec, Grzegorz Budzik Zaborniak

Adam Marciniec, Grzegorz Budzik Zaborniak Journal of KONES Powertrain and Transport, Vol. 21, No. 3 2014 THE DETERMINATION OF ACCURACY OF THE DEMONSTRATOR OF AERONAUTIC BEVEL GEARBOX, ACCOMPLISHED BY SELECTED RAPID PROTOTYPING TECHNIQUES USING

Nadere informatie

Bin packing and scheduling

Bin packing and scheduling Sanders/van Stee: Approximations- und Online-Algorithmen 1 Bin packing and scheduling Overview Bin packing: problem definition Simple 2-approximation (Next Fit) Better than 3/2 is not possible Asymptotic

Nadere informatie

Digitale Systemen (ET1 410)

Digitale Systemen (ET1 410) Digitale Systemen (ET1 410) Arjan van Genderen Stephan Wong Faculteit EWI Technische Universiteit Delft Cursus 2011 28-4-2011 EE1 410 (Stephan Wong) Pagina 1 Verschil simulatie en synthese Simulatie: functioneel

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours.

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours. TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examination 2DL04 Friday 16 november 2007, 14.00-17.00 hours. De uitwerkingen van de opgaven dienen duidelijk geformuleerd en overzichtelijk

Nadere informatie

liniled Cast Joint liniled Gietmof liniled Castjoint

liniled Cast Joint liniled Gietmof liniled Castjoint liniled Cast Joint liniled Gietmof liniled is een hoogwaardige, flexibele LED strip. Deze flexibiliteit zorgt voor een zeer brede toepasbaarheid. liniled kan zowel binnen als buiten in functionele en decoratieve

Nadere informatie

MyDHL+ ProView activeren in MyDHL+

MyDHL+ ProView activeren in MyDHL+ MyDHL+ ProView activeren in MyDHL+ ProView activeren in MyDHL+ In MyDHL+ is het mogelijk om van uw zendingen, die op uw accountnummer zijn aangemaakt, de status te zien. Daarnaast is het ook mogelijk om

Nadere informatie

Shipment Centre EU Quick Print Client handleiding [NL]

Shipment Centre EU Quick Print Client handleiding [NL] Shipment Centre EU Quick Print Client handleiding [NL] Please scroll down for English. Met de Quick Print Client kunt u printers in Shipment Centre EU configureren. De Quick Print Client kan alleen op

Nadere informatie

Group work to study a new subject.

Group work to study a new subject. CONTEXT SUBJECT AGE LEVEL AND COUNTRY FEATURE OF GROUP STUDENTS NUMBER MATERIALS AND TOOLS KIND OF GAME DURATION Order of operations 12 13 years 1 ste year of secundary school (technical class) Belgium

Nadere informatie

Opgave 2 Geef een korte uitleg van elk van de volgende concepten: De Yield-to-Maturity of a coupon bond.

Opgave 2 Geef een korte uitleg van elk van de volgende concepten: De Yield-to-Maturity of a coupon bond. Opgaven in Nederlands. Alle opgaven hebben gelijk gewicht. Opgave 1 Gegeven is een kasstroom x = (x 0, x 1,, x n ). Veronderstel dat de contante waarde van deze kasstroom gegeven wordt door P. De bijbehorende

Nadere informatie

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof (09.09.14)

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof (09.09.14) Quality requirements concerning the packaging of oak lumber of (09.09.14) Content: 1. Requirements on sticks 2. Requirements on placing sticks 3. Requirements on construction pallets 4. Stick length and

Nadere informatie

Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information

Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information Activant Prophet 21 Prophet 21 Version 12.0 Upgrade Information This class is designed for Customers interested in upgrading to version 12.0 IT staff responsible for the managing of the Prophet 21 system

Nadere informatie

Ontpopping. ORGACOM Thuis in het Museum

Ontpopping. ORGACOM Thuis in het Museum Ontpopping Veel deelnemende bezoekers zijn dit jaar nog maar één keer in het Van Abbemuseum geweest. De vragenlijst van deze mensen hangt Orgacom in een honingraatpatroon. Bezoekers die vaker komen worden

Nadere informatie

Travel Survey Questionnaires

Travel Survey Questionnaires Travel Survey Questionnaires Prot of Rotterdam and TU Delft, 16 June, 2009 Introduction To improve the accessibility to the Rotterdam Port and the efficiency of the public transport systems at the Rotterdam

Nadere informatie

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1 Quick start guide Powerbank MI 16.000 Mah Follow Fast 2016 - All rights reserved. Page 1 ENGLISH The Mi 16000 Power Bank is a very good backup option for those on the move. It can keep you going for days

Nadere informatie

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren (1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs (2) Ons gezelschap is er om kunsteducatie te verbeteren (3) Ons gezelschap helpt gemeenschappen te vormen en te binden (4) De producties

Nadere informatie

Karen J. Rosier - Brattinga. Eerste begeleider: dr. Arjan Bos Tweede begeleider: dr. Ellin Simon

Karen J. Rosier - Brattinga. Eerste begeleider: dr. Arjan Bos Tweede begeleider: dr. Ellin Simon Zelfwaardering en Angst bij Kinderen: Zijn Globale en Contingente Zelfwaardering Aanvullende Voorspellers van Angst bovenop Extraversie, Neuroticisme en Gedragsinhibitie? Self-Esteem and Fear or Anxiety

Nadere informatie

Daylight saving time. Assignment

Daylight saving time. Assignment Daylight saving time Daylight saving time (DST or summertime) is the arrangement by which clocks are advanced by one hour in spring and moved back in autumn to make the most of seasonal daylight Spring:

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 8 december 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als jeeen onderdeel

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Bewijzen en Technieken 1 7 januari 211, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe.

Nadere informatie

Stephanie van Dijck De integrale aanpak maakt complexiteit hanteerbaar

Stephanie van Dijck De integrale aanpak maakt complexiteit hanteerbaar Titel, samenvatting en biografie Stephanie van Dijck De integrale aanpak maakt complexiteit hanteerbaar Samenvatting: Nieuwe projecten nemen toe in complexiteit: afhankelijkheden tussen software componenten,

Nadere informatie

Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten.

Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten. Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten. The Effect of Difference in Peer and Parent Social Influences on Adolescent Alcohol Use. Nadine

Nadere informatie

De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een. Vaste Relatie

De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een. Vaste Relatie De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een Vaste Relatie The Association between Daily Stress, Emotional Intimacy and Affect with Partners in a Commited

Nadere informatie

COGNITIEVE DISSONANTIE EN ROKERS COGNITIVE DISSONANCE AND SMOKERS

COGNITIEVE DISSONANTIE EN ROKERS COGNITIVE DISSONANCE AND SMOKERS COGNITIEVE DISSONANTIE EN ROKERS Gezondheidsgedrag als compensatie voor de schadelijke gevolgen van roken COGNITIVE DISSONANCE AND SMOKERS Health behaviour as compensation for the harmful effects of smoking

Nadere informatie

Het Verband Tussen Persoonlijkheid, Stress en Coping. The Relation Between Personality, Stress and Coping

Het Verband Tussen Persoonlijkheid, Stress en Coping. The Relation Between Personality, Stress and Coping Het Verband Tussen Persoonlijkheid, Stress en Coping The Relation Between Personality, Stress and Coping J.R.M. de Vos Oktober 2009 1e begeleider: Mw. Dr. T. Houtmans 2e begeleider: Mw. Dr. K. Proost Faculteit

Nadere informatie

Luister alsjeblieft naar een opname als je de vragen beantwoordt of speel de stukken zelf!

Luister alsjeblieft naar een opname als je de vragen beantwoordt of speel de stukken zelf! Martijn Hooning COLLEGE ANALYSE OPDRACHT 1 9 september 2009 Hierbij een paar vragen over twee stukken die we deze week en vorige week hebben besproken: Mondnacht van Schumann, en het eerste deel van het

Nadere informatie

Risico s van Technologisch Succes in digitale transformatie S T R A T E G I C A D V I S O R

Risico s van Technologisch Succes in digitale transformatie S T R A T E G I C A D V I S O R Risico s van Technologisch Succes in digitale transformatie 2e Risk Event 2019 11 april 2019 The S T R A T E G I C A D V I S O R Ymanagement school of the autonomous University of Antwerp 2 Prof. dr. Hans

Nadere informatie

Ae Table 1: Aircraft data. In horizontal steady flight, the equations of motion are L = W and T = D.

Ae Table 1: Aircraft data. In horizontal steady flight, the equations of motion are L = W and T = D. English Question 1 Flight mechanics (3 points) A subsonic jet aircraft is flying at sea level in the International Standard Atmosphere ( = 1.5 kg/m 3 ). It is assumed that thrust is independent of the

Nadere informatie

HANDLEIDING - ACTIEVE MOTORKRAAN

HANDLEIDING - ACTIEVE MOTORKRAAN M A N U A L HANDLEIDING - ACTIEVE MOTORKRAAN MANUAL - ACTIVE MOTOR VALVE Model E710877 E710878 E710856 E710972 E710973 www.tasseron.nl Inhoud / Content NEDERLANDS Hoofdstuk Pagina NL 1 ALGEMEEN 2 NL 1.1

Nadere informatie

ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM Read Online and Download Ebook ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM DOWNLOAD EBOOK : ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK STAFLEU

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 22 februari 2013

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 22 februari 2013 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 22 februari 2013 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Calculator spelling. Assignment

Calculator spelling. Assignment Calculator spelling A 7-segmentdisplay is used to represent digits (and sometimes also letters). If a screen is held upside down by coincide, the digits may look like letters from the alphabet. This finding

Nadere informatie

Session Educa-on. 14-15 October 2013

Session Educa-on. 14-15 October 2013 Session Educa-on 14-15 October 2013 FIRE facilities in education: Networking courses (fixed and wireless) IP fixed networks ComNet Labs Build your own network [Lab router] Calculate IP ranges According

Nadere informatie

Chromosomal crossover

Chromosomal crossover Chromosomal crossover As one of the last steps of genetic recombination two homologous chromosomes can exchange genetic material during meiosis in a process that is referred to as synapsis. Because of

Nadere informatie

AE1103 Statics. 25 January h h. Answer sheets. Last name and initials:

AE1103 Statics. 25 January h h. Answer sheets. Last name and initials: Space above not to be filled in by the student AE1103 Statics 09.00h - 12.00h Answer sheets Last name and initials: Student no.: Only hand in the answer sheets! Other sheets will not be accepted Write

Nadere informatie

Screen Design. Deliverable 3 - Visual Design. Pepijn Gieles 0877217 19-12-2014. Docent: Jasper Schelling

Screen Design. Deliverable 3 - Visual Design. Pepijn Gieles 0877217 19-12-2014. Docent: Jasper Schelling Screen Design Deliverable 3 - Visual Design Pepijn Gieles 0877217 19-12-2014 Docent: Jasper Schelling Hulp bij het inloggen Inloggen Particulier Personal Banking Private Banking Zakelijk Zoeken in Particulier

Nadere informatie

OUTDOOR HD BULLET IP CAMERA PRODUCT MANUAL

OUTDOOR HD BULLET IP CAMERA PRODUCT MANUAL OUTDOOR HD BULLET IP CAMERA PRODUCT MANUAL GB - NL GB PARTS & FUNCTIONS 1. 7. ---- 3. ---- 4. ---------- 6. 5. 2. ---- 1. Outdoor IP camera unit 2. Antenna 3. Mounting bracket 4. Network connection 5.

Nadere informatie

WWW.EMINENT-ONLINE.COM

WWW.EMINENT-ONLINE.COM WWW.EMINENT-OINE.COM HNDLEIDING USERS MNUL EM1016 HNDLEIDING EM1016 USB NR SERIEEL CONVERTER INHOUDSOPGVE: PGIN 1.0 Introductie.... 2 1.1 Functies en kenmerken.... 2 1.2 Inhoud van de verpakking.... 2

Nadere informatie

Ius Commune Training Programme Amsterdam Masterclass 15 June 2018

Ius Commune Training Programme Amsterdam Masterclass 15 June 2018 www.iuscommune.eu Dear Ius Commune PhD researchers, You are kindly invited to participate in the Ius Commune Amsterdam Masterclass for PhD researchers, which will take place on Friday, 15 June 2018. This

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 6 januari 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Registratie- en activeringsproces voor de Factuurstatus Service NL 1 Registration and activation process for the Invoice Status Service EN 10

Registratie- en activeringsproces voor de Factuurstatus Service NL 1 Registration and activation process for the Invoice Status Service EN 10 QUICK GUIDE B Registratie- en activeringsproces voor de Factuurstatus Service NL 1 Registration and activation process for the Invoice Status Service EN 10 Version 0.19 (Oct 2016) Per May 2014 OB10 has

Nadere informatie

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 QUICK GUIDE C Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 Version 0.9 (June 2014) Per May 2014 OB10 has changed its name to Tungsten Network

Nadere informatie

Table 1: Aircraft data. Figure 1: Glider

Table 1: Aircraft data. Figure 1: Glider English Question 1 Flight mechanics (0 points) A glider is flying at,000 m altitude in the International Standard Atmosphere ( 0 = 1.0065 kg/m ). ata for this glider are given in Table 1. Aircraft weight

Nadere informatie

Verklaring van het beweeggedrag van ouderen door determinanten van. The explanation of the physical activity of elderly by determinants of

Verklaring van het beweeggedrag van ouderen door determinanten van. The explanation of the physical activity of elderly by determinants of Verklaring van het beweeggedrag van ouderen door determinanten van het I-change Model The explanation of the physical activity of elderly by determinants of the I-change Model Hilbrand Kuit Eerste begeleider:

Nadere informatie

Ius Commune Training Programme 2015-2016 Amsterdam Masterclass 16 June 2016

Ius Commune Training Programme 2015-2016 Amsterdam Masterclass 16 June 2016 www.iuscommune.eu Dear Ius Commune PhD researchers, You are kindly invited to attend the Ius Commune Amsterdam Masterclass for PhD researchers, which will take place on Thursday 16 June 2016. During this

Nadere informatie

Functioneren van een Kind met Autisme. M.I. Willems. Open Universiteit

Functioneren van een Kind met Autisme. M.I. Willems. Open Universiteit Onderzoek naar het Effect van de Aanwezigheid van een Hond op het Alledaags Functioneren van een Kind met Autisme M.I. Willems Open Universiteit Naam student: Marijke Willems Postcode en Woonplaats: 6691

Nadere informatie

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain.

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain. Domino tiles Dominoes is a game played with rectangular domino 'tiles'. Today the tiles are often made of plastic or wood, but in the past, they were made of real stone or ivory. They have a rectangle

Nadere informatie

Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education. Published

Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education. Published Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education DUTCH 055/02 Paper 2 Reading MARK SCHEME Maximum Mark: 45 Published This mark scheme is published

Nadere informatie

Agenda: Rotary Industry Group

Agenda: Rotary Industry Group KiC MPI 21juni 2018 Rotary Industry Group Agenda: a) Korte introductie: wie zijn wij wat doen wij? b) Nieuwe ontwikkelingen binnen Rotary Industry Group c) Contactloze magnetische koppeling d) Business

Nadere informatie

Lichamelijke factoren als voorspeller voor psychisch. en lichamelijk herstel bij anorexia nervosa. Physical factors as predictors of psychological and

Lichamelijke factoren als voorspeller voor psychisch. en lichamelijk herstel bij anorexia nervosa. Physical factors as predictors of psychological and Lichamelijke factoren als voorspeller voor psychisch en lichamelijk herstel bij anorexia nervosa Physical factors as predictors of psychological and physical recovery of anorexia nervosa Liesbeth Libbers

Nadere informatie

Issues in PET Drug Manufacturing Steve Zigler PETNET Solutions April 14, 2010

Issues in PET Drug Manufacturing Steve Zigler PETNET Solutions April 14, 2010 Issues in PET Drug Manufacturing Steve Zigler PETNET Solutions April 14, 2010 Topics ANDA process for FDG User fees Contract manufacturing PETNET's perspective Colleagues Michael Nazerias Ken Breslow Ed

Nadere informatie

i(i + 1) = xy + y = x + 1, y(1) = 2.

i(i + 1) = xy + y = x + 1, y(1) = 2. Kenmerk : Leibniz/toetsen/Re-Exam-Math A + B-45 Course : Mathematics A + B (Leibniz) Date : November 7, 204 Time : 45 645 hrs Motivate all your answers The use of electronic devices is not allowed [4 pt]

Nadere informatie

Geheugenstrategieën, Leerstrategieën en Geheugenprestaties. Grace Ghafoer. Memory strategies, learning styles and memory achievement

Geheugenstrategieën, Leerstrategieën en Geheugenprestaties. Grace Ghafoer. Memory strategies, learning styles and memory achievement Geheugenstrategieën, Leerstrategieën en Geheugenprestaties Grace Ghafoer Memory strategies, learning styles and memory achievement Eerste begeleider: dr. W. Waterink Tweede begeleider: dr. S. van Hooren

Nadere informatie

Sekseverschillen in Huilfrequentie en Psychosociale Problemen. bij Schoolgaande Kinderen van 6 tot 10 jaar

Sekseverschillen in Huilfrequentie en Psychosociale Problemen. bij Schoolgaande Kinderen van 6 tot 10 jaar Sekseverschillen in Huilfrequentie en Psychosociale Problemen bij Schoolgaande Kinderen van 6 tot 10 jaar Gender Differences in Crying Frequency and Psychosocial Problems in Schoolgoing Children aged 6

Nadere informatie

Geslacht, Emotionele Ontrouw en Seksdrive. Gender, Emotional Infidelity and Sex Drive

Geslacht, Emotionele Ontrouw en Seksdrive. Gender, Emotional Infidelity and Sex Drive 1 Geslacht, Emotionele Ontrouw en Seksdrive Gender, Emotional Infidelity and Sex Drive Femke Boom Open Universiteit Naam student: Femke Boom Studentnummer: 850762029 Cursusnaam: Empirisch afstudeeronderzoek:

Nadere informatie

Instructions assembly Decoderprintje 2

Instructions assembly Decoderprintje 2 Index Inhoud PARTLIST DECODERPRINTJE... 2 ASSEMBLY AND OPERATION... 2 INTRODUCTION... 2 EXPLANATION OF THE OPERATION OF A DECODER PCB... 2 DE MONTAGE (BOUWPAKKET)... 3 AANSLUITEN DATABUS EN CLOCKSIGNALEN...

Nadere informatie

Interface tussen Stuurbediening en Sony autoaudio

Interface tussen Stuurbediening en Sony autoaudio The information in this document is in Dutch, English version follows later in this document Interface tussen Stuurbediening en Sony autoaudio LET OP! HOEWEL DE UITERSTE ZORGVULDIGHEID IS BETRACHT BIJ

Nadere informatie

01/ M-Way. cables

01/ M-Way. cables 01/ 2015 M-Way cables M-WaY Cables There are many ways to connect devices and speakers together but only few will connect you to the music. My Way of connecting is just one of many but proved it self over

Nadere informatie

Eye Feature Detection Towards Automatic Strabismus Screening

Eye Feature Detection Towards Automatic Strabismus Screening Eye Feature Detection Towards Automatic Strabismus Screening Ken Allen, Khanh Nguyen Gettysburg College What is strabismus? Eye defect that causes eyes to look in two different directions If left untreated,

Nadere informatie