I dagens samhälle finns inbyggda system i allt från vattenkokare till rymdraketer. För att möta användarnas ständigt ökande krav på prestanda och funktionalitet måste hårdvaran i dessa system utnyttjas optimalt. Detta kan göras genom att konstruera hårdvara specifikt för den aktuella uppgiften eller att använda en mer generell hårdvara, där istället mjukvaran är anpassningsbar. I många fall kan det vara lämpligt, och i vissa fall även nödvändigt, att blanda dessa metoder för att lösa en given uppgift. En kraftfull processor kan exempelvis kompletteras med en accelerator uppbyggd av specifik hårdvara. Delar av lösningen kan genomföras snabbare i dessa acceleratorer vilket leder till ett bättre system. Problemet med denna lösningsmodell är dock att förbindelsen mellan processorn och acceleratorn ofta bildar en flaskhals för data som ska bearbetas. En metod för att minimera denna falskhals är att utveckla både programmerbar logik (FPGA, Field-Programmable Gate Array) och en processor på samma chip. Denna täta integration gör det möjligt att både förenkla och snabba upp kommunikationen mellan FPGA och processor. Xilinx har utvecklat ett sådant system, Zynq-7000, uppbyggd av en dubbelkärning ARM-processor och en kraftfull FPGA. Denna rapport beskriver det arbete som har utförts under detta examensarbete. Syftet med examensarbetet var att undersöka hur en specifik produktprototyp kan implementeras i Zynq-7000. Fokus för arbetet var att undersöka hur den interna kommunikationen bör genomföras och därigenom även hur lösningen bör partitioneras mellan mjukvara och hårdvara. Den tänkta produkten var ett system för bildigenkänning av frukter eller grönsaker för användning i en livsmedelsbutik. Under arbetet har utvecklingskortet ZedBoard, baserat på Zynq-7000, använts som målplattform. / In today's society there are embedded systems in almost everything from toasters to space rockets. In order to meet users’ ever-increasing demands for performance and functionality, the hardware of these systems must be utilized optimally. This can be done by designing hardware specifically for the task, or to use a more general hardware running customizable software. In many cases it may be suitable, and in some cases even necessary, to mix these methods to solve a given task. For example, a powerful processor could be complemented with special designed hardware, called an accelerator, to solve parts of the problem faster. The overall system performance can thus be increased by the use of the accelerators. One problem with this solution is that the connection between the processor and the accelerator may form a bottleneck. One way to reduce the effects of this bottleneck is to tightly integrate programmable logic (FPGA, Field Programmable Gate Array) and a processor on the same chip. This tight integration makes it possible to simplify and speed up the communication between the two units. For example, image processing could be accelerated in the FPGA and the result could then be used in some software application in the processor. This report describes how the work was carried out during this thesis. The main goal of the thesis was to study how a specific product prototype could be implemented using a Zynq-7000 based development board. The focus of this work was to study how the internal communication should be implemented, and there by how the solution should be partitioned between the software and hardware in Zynq-7000. The intended product was a system for image recognition of fruits or vegetables for use in a grocery store. During the work we used a Zynq-7000 based development board called ZedBoard to try our implementations.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-128189 |
Date | January 2013 |
Creators | Almgren, Mikael, Ekström, Erik |
Publisher | KTH, Skolan för informations- och kommunikationsteknik (ICT) |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | Trita-ICT-EX ; 2013:104 |
Page generated in 0.0023 seconds