The aim of the project is to develop a 5-player soccersystem on multiple Xilinx FPGA boards using embedded processors.. Besides making us similar with FPGA technology, the project also m
Trang 1VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY
Trang 2
VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY
Bui Van De
BUILDING AN EMBEDDED SYSTEM FOR FOOTBALL MATCH APPLICATION WITH FPGA
TECHNOLOGY
Major: Electronics and Communications Engineering
Supervisor: Assoc Prof Xuan-Tu Tran
HA NOI - 2014
Trang 3“I hereby declare that the work contained in this thesis is of my own and has not been previously submitted for a degree or diploma at this or any other higher education institution To the best of my knowledge and belief, the thesis contains no materials previously published or written by another person except where due reference or acknowledgement is made.”
Signature:………
Trang 4SUPERVISOR’S APPROVAL
“I hereby approve that the thesis in its current form is ready for committee examination as a requirement for the Bachelor of Electronics and Communications Engineering degree at the VNU University of Engineering and Technology.”
Signature:………
Trang 5TABLE OF CONTENTS
Abstract vi
List of Figures ix
List of Tables x
List of Abbreviations xi
INTRODUCTION 1
OVERVIEW OF EMBEDDED SYSTEM AND FPGA TECHNOLOGY 3
1.1 Introduction to Real-Time Embedded Systems 3
1.1.1 Real-time systems 3
1.1.2 Embedded system 4
1.2 FPGA technology 5
1.2.1 What is an FPGA? 5
1.2.2 Main Benefits of FPGA Technology 6
1.3 Summary 7
SYSTEM OVERVIEW 8
2.1 Introduction to football match demonstration system 8
2.2 System Analysis 10
2.2.1 General Purpose Input Output 11
2.2.2 VGA controller 11
2.2.3 Universal Asynchronous Receiver Transmitter 12
2.2.4 Timer and Interrupt 14
2.3 Summary 14
SYSTEM DESIGN 15
3.1 Creating an Embedded Hardware System 15
3.1.2 Select a Target Board 16
3.1.3 Select The Processor To Be Used 17
3.1.4 Configure The Processor 18
3.1.5 Add or Remove External Peripherals 18
3.1.6 Add Peripherals 19
3.1.7 Making Bus Connection 20
Trang 63.1.8 Assigning Addresses 21
3.1.9 Parameterize IP instances 21
3.1.10 Connecting Ports 22
3.1.11 Make Pin Assignments 23
3.2 Develop the Software Platform 24
3.2.1 Strategy thread 28
3.2.2 Simulation thread 36
3.2.3 Display thread 37
Chapter 4 38
EXPERIMENTAL RESULTS AND DISCUSSIONS 38
CONCLUSION 42
References 43
Trang 7In recent years, embedded systems have emerged at a faster rate and becomepervasive in many field from household products such as microwaves, to automotiveproducts such as air bags sensing and control, to industrial robots The design ofembedded systems is now becoming increasingly difficult due to the tight constraints
on area usage, size, power consumption and performance In addition to theseconstraints, many embedded system developers are faced with tight time-to-marketdeadlines The product should be deployed when the demand for the product stillexists, if the demand ceases then the product would not yield any profit for thecompany
To develop these products, various tools and technologies have been used such asmicrocontroller, DSP processor, ASIC, and FPGA In terms of flexibility, the FPGA
is one of the most efficient methods Informally, an FPGA can be thought of as a
“blank slate” on which any digital circuit can be configured in the field – that is, afterthe device has been manufactured, installed in a product, or, in some cases, even afterthe product has been shipped to the consumer This makes the FPGA devicefundamentally different from other Integrated Circuit (IC) devices In short, an FPGAprovides programmable “hardware” to the embedded systems developer FPGAs offer
a great deal to the embedded systems designer They not only meet the complex anddemanding requirements of embedded systems that are becoming so universal todaybut also offer a low-risk, quick time-to-market solution that designers can easilymodify when they need to make changes, fix bugs or create product derivatives atsome point in the future
In this project we have tried to implement such powerful FPGAs in the design offootball match application The aim of the project is to develop a 5-player soccersystem on multiple Xilinx FPGA boards using embedded processors Besides making
us similar with FPGA technology, the project also makes us understand real-timeconcepts like scheduling, handling shared resources and priority management andsome another typical embedded system requirements The football match has been
i
Trang 8succefully implemented on two client FPGAs (each for each football team) and aserver FPGA.
ii
Trang 9This thesis was done at the Key Laboratory for Smart Integrated System (SISLab), VNU University of Engineering and Technology (VNU-UET) under thesupervision of Assoc Prof Xuan-Tu Tran
First of all, I want to give my sincerely thanks to the faculty members andstaffs of the Faculty of Electronics and Telecommunication, VNU-UET for theirenthusiasm to guide me to for the background of knowledge
I would like to express special thanks to Assoc.Prof Xuan-Tu Tran whoalways guides me, points out the mistakes, and gives me the instructions andcomments during the time to realize this work Without his supervising, I would havemany difficulties to finish this thesis
I also thank all members of the SIS Lab who always facilitate me to do thisthesis, answer my questions in a familiar way and share their experience for me aswell as make me feel comfortable and better in studying
Finally, I want to give the best thank to my parents, my relatives and myfriends who always encourage, take care me during the studying and researchingperiod
Sincerely,
Bui Van De
iii
Trang 10List of Figures
Figure 2-1 – System overview 11
Figure 2-2: Hardware architecture 13
Figure 2-3: Football ground 14
Figure 3-1: Base System Builder Wizard 19
Figure 3-2: Name of My Project 19
Figure 3-3: Select Target Board 20
Figure 3-4: Select Processor to Be Used 20
Figure 3-5: Configure the processor 21
Figure 3-6: Add or Remove External Peripheral 22
Figure 3-7: Summary Screen 22
Figure 3-8: Add Peripherals 23
Figure 3-9: Making Bus Connection 24
Figure 3-10: Assigning Addresses 24
Figure 3-11: Parameterize IP instances 25
Figure 3-12: Connecting Ports 25
Figure 3-13: Make Pin Assignments 26
Figure 3-14: Final Screen 26
Figure 3-15: Export & Launch SDK 27
Figure 3-16: EDK Start Screen 28
Figure 3-17: Xilinx Board Support Package Selection 29
Figure 3-18: Board Support Packet Settings 30
Figure 3-19: Move_to_target function 32
Figure 3-20: Dan Bong 33
Figure 3-21: Goal Function 36
Figure 3-22: Formation 37
Figure 4-1: Build Project 41
Figure 4-2: Program FPGA 42
Figure 4-3: Hardware System 43
Figure 4-4: Simulation results 44
iv
Trang 11List of Tables
Table 2-1: Initial pack 15
Table 2-2: Update packet 15
Table 2-3: Information packet from server to clients 16
Table 3-1: Distance and corresponding speed of player 1 34
Table 3-2: Relationship between delta and direction of player 1 35
v
Trang 12List of Abbreviations
ASIC Application Specific Integrated Circuit
BSB Base System Builder
DSP Digital Signal Processing
EDK Embedded Development Kit
FPGA Field Programmable Gate Array
GPIO General Purpose Input/ Output
HDL Hardware Description Language
IC Integrated Circuit
IP Intellectual Property
VGA Video Graphics Adapter
XPS Xilinx Platform Studio
vi
Trang 13The scope and role of embedded systems are continually expanding For example in
2003, there was an average of 8 billion embedded programmable componentsworldwide This number was doubled in 2010, or three embedded devices for everyperson on earth This rapid proliferation is predicted to rise to 24.6 billion multi-processors based embedded systems by the year 2020[3] Therefore, learning todesign such complex and diverse embedded computing system has become veryimportant
Nowadays, designing real-time embedded systems is a difficult task The firstproblem is that the life cycle of embedded products is becoming increasinglysmaller This will lead to new developments taking place more frequently to replacethe outdated products The second demand is that the complexity of the embeddedsystem is rapidly increasing With this increase in functionality and complexity ofsystems, the embedded system design cycle may be longer and require more time andmanpower The consumer’s demand for increasing functionality translates directlyinto the increased complexity of the embedded system on a chip FPGA technologymay alleviate the complexity gap problem and assist with the current trends in theembedded system market
Various tools and technologies have been used: microcontroller, DSP processor,ASIC, and now FPGA A key question is why FPGA should be used instead ofmicroprocessors, microcontrollers and ASICs in designing embedded system The use
of FPGAs (Field Programmable Gate Arrays) and configurable processors is aninteresting new phenomenon in embedded development The functionality of theFPGA can be customized in the field The ASIC cannot be changed after a certainpoint in the design process is passed The disadvantage of ASICs is that the designingand building of the device is very time-consuming and expensive The final designcreated for the ASIC cannot be modified without going through the long process ofdevelopment again FPGAs are of great interest when it comes to prototyping a
vii
Trang 14system due to the efficient The development of a prototype should be efficient inorder for the final product to be marketed quickly.
In this report, we describe our process in handing a real-time embedded system usingFPGA technology The project develop a 5-player soccer system on multiple XilinxFPGA boards using embedded processors The system comprises of two clientscontrol players and one server to referee and display the game in real-time we have todesign the hardware architecture of the embedded system and the software for thestrategy to control how to move the players in response to the position of all playersand the ball They also develop a server to communicate with the two teams anddisplay the progress of the game on an attached VGA monitor Besides making ussimilar with real-time concepts like scheduling, handling shared resources, prioritymanagement and the constraints in a typical embedded system, the project also makes
us understand the process in design embedded system in FPGA technology usingXilinx tool (Embedded Development Kit 12.1)
This report is organized as follows Chapter 1 gives a brief overview about embeddedsystems and its basic concepts, FPGA technology are also discussed in this chapter.Architecture of the system and introduction of the task of each component will beintroduced in chapter 2 More specifically, this section will answer for the questionThe system consist of which peripherals and how they are works with each other.Chapter 3 we are going to talks about hardware design process using Xilinx PlatformStudio tool This part also discuss about the software design We are going to talksabout some functions server for displaying and simulating the football match Chapter
4 concludes the report with a discussion on the achievements from this project andgive the near future works which far related to the main topic
viii
Trang 15Chapter 1
OVERVIEW OF EMBEDDED SYSTEM
AND FPGA TECHNOLOGY
1.1 Introduction to Real-Time Embedded Systems
1.1.1 Real-time systems
REAL-TIME SYSTEMS: - Timeliness is the single most important aspect of a real-time
system These systems respond to a series of external inputs, which arrive in an unpredictablefashion The real-time systems process these inputs, take appropriate decisions and alsogenerate output necessary to control the peripherals connected to them “A real-time system
is one in which the correctness of the computations not only depends upon the logicalcorrectness of the computation but also upon the time in which the result is produced If thetiming constraints are not met, system failure is said to have occurred” [6]
It is essential that the timing constraints of the system are guaranteed to be met Guaranteeingtiming behavior requires that the system be predictable The design of a real-time systemmust specify the timing requirements of the system and ensure that the system performance isboth correct and timely There are three types of time constraints:
Trang 16HARD: A late response is incorrect and implies a system failure An example of such
a system is of medical equipment monitoring vital functions of a human body, where a lateresponse would be considered as a failure
SOFT: Timeliness requirements are defined by using an average response time If a
single computation is late, it is not usually significant, although repeated late computation canresult in system failures An example of such a system includes airlines reservation systems
FIRM: This is a combination of both hard and soft timeliness requirements The
computation has a shorter soft requirement and a longer hard requirement For example, apatient ventilator must mechanically ventilate the patient a certain amount in a given timeperiod A few seconds’ delay in the initiation of breath is allowed, but not more than that One needs to distinguish between on-line systems such as an airline reservation system,which operates in real-time but with much less severe timeliness constraints than, say, amissile control system or a telephone switch An interactive system with better response time
is not a real-time system These types of systems are often referred to as soft real timesystems In a soft real-time system (such as the airline reservation system) late data is stillgood data However, for hard real-time systems, late data is bad data
Most real-time systems interface with and control hardware directly The software for suchsystems is mostly custom-developed Real-time Applications can be either embeddedapplications or non-embedded (desktop) applications Real-time systems often do not havestandard peripherals associated with a desktop computer, namely the keyboard, mouse orconventional display monitors
1.1.2 Embedded system
An embedded system is a combination of computer hardware, software and mechanical parts tailored for a dedicated single or combinations of functions The end usercannot program it A user can make choices concerning functionality but cannot change thefunctionality of the system by adding / replacing software Embedded systems do not providestandard computing services and normally exist as part of a bigger system A computerizedwashing machine is an example of an embedded system where the main system provides anon-computing feature (washing clothes) with the help of an embedded computer Embeddedsystems are usually constructed with the least powerful computers that can meet the
Trang 17electro-functional and performance requirements This is essential to lower the manufacturing cost ofthe equipment
With an embedded system, the hardware can be identified but the software that reallysupplies the system’s functionality can be hidden and more difficult to analysis The software
is already burnt into the on-chip memory and is effectively impossible to access Othercomponents of the embedded system are similarly chosen, so as to lower the manufacturingcost
Some systems are mission critical systems which are hard real-time systems whose failurecan cause catastrophic results The best way to deal with this situation is the use of Real-timeEmbedded systems In most of the real-life applications, real-time systems often work in anembedded scenario and most of the embedded systems have real-time processing needs Suchsoftware is called Real-time Embedded Software systems
In our project we went for the design of such kind of embedded systems by using an FPGA asour main processing block and implementing the characteristic features of an FPGA in thedevelopment of single purpose specifically designed embedded platforms
1.2 FPGA technology
Field Programmable Gate Array (FPGA) technology continues to gain momentum, and theworldwide FPGA market is expected to grow to $3.5 billion USD by 20131 Since theirinvention by Xilinx in 1984, FPGAs have gone from being simple glue logic chips to actuallyreplacing custom application-specific integrated circuits (ASICs) and processors for signalprocessing and control applications Why has this technology been so successful? This partprovides an introduction to FPGAs and highlights some of the benefits that make FPGAsunique
1.2.1 What is an FPGA?
At the highest level, FPGAs are reprogrammable silicon chips Using prebuilt logic blocksand programmable routing resources, we can configure these chips to implement customhardware functionality without ever having to pick up a breadboard or soldering iron Wedevelop digital computing tasks in software and compile them down to a configuration file orbitstream that contains information on how the components should be wired together In
Trang 18addition, FPGAs are completely reconfigurable and instantly take on a brand new
“personality” when we recompile a different configuration of circuitry In the past, FPGAtechnology could be used only by engineers with a deep understanding of digital hardwaredesign The rise of high-level design tools, however, is changing the rules of FPGAprogramming, with new technologies that convert graphical block diagrams or even C codeinto digital hardware circuitry
FPGA chip adoption across all industries is driven by the fact that FPGAs combine the bestparts of ASICs and processor-based systems FPGAs provide hardware-timed speed andreliability, but they do not require high volumes to justify the large upfront expense of customASIC design Reprogrammable silicon also has the same flexibility of software running on aprocessor-based system, but it is not limited by the number of processing cores available.Unlike processors, FPGAs are truly parallel in nature, so different processing operations donot have to compete for the same resources Each independent processing task is assigned to
a dedicated section of the chip, and can function autonomously without any influence fromother logic blocks As a result, the performance of one part of the application is not affectedwhen we add more processing
1.2.2 Main Benefits of FPGA Technology
Performance: Taking advantage of hardware parallelism, FPGAs exceed the
computing power of digital signal processors (DSPs) by breaking the paradigm of sequentialexecution and accomplishing more per clock cycle BDTI, a noted analyst and benchmarkingfirm, released benchmarks showing how FPGAs can deliver many times the processingpower per dollar of a DSP solution in some applications Controlling inputs and outputs (I/O)
at the hardware level provides faster response times and specialized functionality to closelymatch application requirements
Time to market: FPGA technology offers flexibility and rapid prototyping capabilities
in the face of increased time-to-market concerns We can test an idea or concept and verify it
in hardware without going through the long fabrication process of custom ASIC design Wecan then implement incremental changes and iterate on an FPGA design within hours instead
of weeks Commercial off-the-shelf (COTS) hardware is also available with different types ofI/O already connected to a user-programmable FPGA chip The growing availability of high-
Trang 19level software tools decreases the learning curve with layers of abstraction and often offersvaluable IP cores (prebuilt functions) for advanced control and signal processing.
Cost: The nonrecurring engineering (NRE) expense of custom ASIC design far
exceeds that of FPGA-based hardware solutions The large initial investment in ASICs iseasy to justify for OEMs shipping thousands of chips per year, but many end users needcustom hardware functionality for the tens to hundreds of systems in development The verynature of programmable silicon means We have no fabrication costs or long lead times forassembly Because system requirements often change over time, the cost of makingincremental changes to FPGA designs is negligible when compared to the large expense ofrepining an ASIC
Reliability: While software tools provide the programming environment, FPGA
circuitry is truly a “hard” implementation of program execution Processor-based systemsoften involve several layers of abstraction to help schedule tasks and share resources amongmultiple processes The driver layer controls hardware resources and the OS managesmemory and processor bandwidth For any given processor core, only one instruction canexecute at a time, and processor-based systems are continually at risk of time-critical taskspreempting one another FPGAs, which do not use OSs, minimize reliability concerns withtrue parallel execution and deterministic hardware dedicated to every task
Long-term maintenance: As mentioned earlier, FPGA chips are field-upgradable and
do not require the time and expense involved with ASIC redesign Digital communicationprotocols, for example, have specifications that can change over time, and ASIC-basedinterfaces may cause maintenance and forward-compatibility challenges Beingreconfigurable, FPGA chips can keep up with future modifications that might be necessary
As a product or system matures, we can make functional enhancements without spendingtime redesigning hardware or modifying the board layout.
1.3 Summary
This chapter briefly represents about real time embedded system concepts and it also gives anintroduction to FPGA technology The advantages of using FPGA in real time embeddedsystem design are introduced in this chapter However, more detail about design process will
be talk in next chapter
Trang 20Chapter 2
SYSTEM OVERVIEW
2.1 Introduction to football match demonstration system
The project is inspired by the real soccer game The objective of the project is to develop a player soccer system using multiple FPGA boards We have to design the hardwarearchitecture of the embedded system and software for the strategy to control how to move theplayer in response to the position of all players and the ball We also need to develop a server
5-to communicate with the two teams and display the progress of the game on VGA moni5-tor.The project is carried out on a Xilinx Spartan- 3E FPGA board from Digilent The boardfeatures a Xilinx Sparten-3E Start Kit with about 500k gates that can be reprogrammed Wealso offer a number of Input/ Output options to interface with other peripherals Some of therelevant I/O ports are two serial terminals (UART) and a VGA port The serial port (UART)
is used in the project to connect with other FPGA boards, update information will betransmitter and receiver from clients to server and invert The VGA port is used to display theprogress of the game on an external screen with frequency of 25Hz
The project is set up as shown in Figure 2-1 As can be seen, the entire setup requires threeFPGA boards - One for the server which displays the game in frequency of 25Hz and alsoreferees the game Two clients for develops strategy to control the movement of players The
Trang 21teams send updates of player movements to the server periodically More details on the tasksare explained following
Figure 2-1: System overview.
- Receive player movement updates from team - no positions, only speed and direction
- Receive 'kick' information from the teams When a player is close enough to the ball, it maywant to kick the ball in a particular direction This information has to be received andprocessed by the server
- Send ball's position, direction and speed of movement
Player movement of team A
Trang 22- Send teams players' positions Please note that the speed and direction of players is not sent
by the server since that may reveal the strategy of the other team The server only sends theinformation that is generally available to the other team in a real game
- Referee the game Server decides is the goal valid or not and server also makes somepunishment if player breaks the rule
- Display the field and the flayers moving at 25Hz The physical laws have to be respected bythe server as well Some physic theories are going to process when a collision occurs
- Receive position of ball and players of both teams
- Develop strategy for player movement by considering position of ball and all players
2.2 System Analysis
The entire project setup requires three FPGA boards However, there are not much differentbetween hardware in client and server so both client and server will use the same hardwarearchitectures We propose the hardware consist of seven components: microblaze, bramcontroller, vga controller, uart, gpios, timer, interrupt controller We used Xilinx PlatformStudio (XPS) tool of Xilinx to build this system Besides that, we also used VGA-2.1 IP core(was build and developed by Smart Integrated Systems Laboratory - University ofEngineering And Technology) Hardware architecture was summarized in figure 2
System consists of:
* MicroBlaze * UART(Lite)
* VGA Controller * Timer/Counter
* Interrupt controller
Trang 23Figure 2-2: Hardware architecture.
2.2.1 General Purpose Input Output
Button North (U4) in FPGA kit is used in both client and server Press north (U4 button) inclient to notices that client is ready to start and send initialize information to server Pressnorth (U4 button) in server to start the game Therefore, some led in board also is used toillustrate score or fault
2.2.2 VGA controller
Figure 3 shows the layout of the ground to be displayed by the server The VGA controllerwas developed by Key Laboratory Smart Integrated Systems - University of Engineering andTechnology supports a maximum resolution of 640x480 pixels with 3-bit color depth Thiswas taken into consideration when designing the field and also the size of players and theball We attempted to make the relative sizes as realistic as possible So the result is showingbelow:
- Field: 105m by 68m - 600x400 pixels, 20x20 triangles cut off on all corners Please notethat the co-ordinate value of player and ball will be from (20, 0) to (620, 400) as in the realscreen
- Ball: 5- pixels radius circle
- Players: 7- pixel radius circle -Two different colors for player1 and player2 And 80 pixelscore area at the bottom of the screen was reserved for displaying score and foul information
Trang 24Figure 2-3: Football ground.
2.2.3 Universal Asynchronous Receiver Transmitter
Server needs both RS232 DTE and DCE to transmitter and receiver information to clients.Clients only need ether RS232 DTE or RS233 DCE We need to configure UART to ensure
no packets are lost We fix the baud rate of all serial ports to be 115,200 bps When sending(or receiving) the 32-bit packet into bytes, the most significant byte is sent (received) first.For example 32-bit data to be send is 0x12345678, then 0x12 should be sent first, followed
by 0x34, 0x 56, 0x78 in that order
A, Player to server communication
Two kinds of data packets are sent from the player board to server board At the start of agame, player boards send packets that specify the team-id, player-ids, and the initialcoordinates of all players to the server We allocated four bits for the player-id so that moreplayers can be easily accommodates in the future versions of the project The server does notstart the game until it has received the details of players from both teams Once the game hasstarted, the player boards send update packets to the server board that indicate the speed anddirection of individual players of their team Players can either move or kick the ball in any ofthe 8 predefined directions The speed of a player can have 11values representing a range ofspeed from 0 to 50 pixels per second, while the speed range of the ball is larger with 16
Trang 25values ranging from 0 to 100 pixels per second Two tables below summarize player to serverpacket.
Table 2-1: Initial pack
Table 2-2: Update packet
B, Server to Player Communication
The server board sends two kinds of packets to the player board: the update packet and thecontrol packet The update packets to each board contain information about the currentposition of players as well as of the ball In case of a foul or a goal, the server transmits acontrol packet that indicates the type of event and the team responsible for the event Table 1-
3 summarize server to player packets
Packet Type 1 initialize packet
Packet Type 0 update packetKick/ movement 1 kick
Trang 26Table 2-3: Information packet from server to clients Information Number of bits Information Number of bits
Info/ Control 0 info
1 control
Direction 4 bits
Player/ Ball 1 bit Y_position(ball) 10 bits
X_position(player) 10 bits
Y_position(player) 10 bits Team ID 0 team A
1 team BFoul/ Goal Bit 1 Foul
We use 32-bit timer and the frequency of the system is 50MHz so the initial value of time is0xFFFFFFFF-50000000*0.04 = 422967295(0x7FFFFFFF)
B, Interrupting
When transmitting or receiving process finish the UART interrupt will be occurred We mustmake sure that Timer interrupt and Uart interrupt is enabled and global interrupt has been sethigh
2.3 Summary
This chapter has represented the system overview Next chapter will present the process indesign hardware platform using Embedded Development Kit 12.1 Tool
Trang 27Chapter 3
SYSTEM DESIGN
3.1 Creating an Embedded Hardware System
In order to design an embedded processor system, a hardware platform has to be first created
A hardware platform consists of processors, buses and peripherals connected to theprocessors Now, we provide a step-by-step procedure to generate a simple hardware systemusing Xilinx EDK 10.1 This involves assembling a system that contains a processor alongwith buses and peripherals, generating an HDL netlist, and implementing the design usingISE implementation tools to generate a bitstream
3.1.1 Create a new XPS project
To begin, start the XPS application form Start-> Programs->Xilinx Embedded DevelopmentKit 10.1 -> Xilinx Platform Studio
When XPS opens, select File ->New Project ->Base System Builder In the dialog box,specify the location at which we want to create our XPS project An XPS project filehas xmp extension, and our XPS project resides in the directory where the XMP file resides.Once we have specified an XMP file location, click OK, Refer to Figure 3.1 and 3.2 belowfor reference
Trang 28Figure 3-4: Base System Builder Wizard.
3.1.2 Select a target board
Once we click OK in the previous step, the XPS brings up its Base System Builder (BSB)Wizard We will now see the following screen asking for the board details The board we areusing is Xilinx Spartan 3E Start Kit (http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,790&Prod=S3EBOARD) manufactured by Digilent Inc It contains XilinxSpartan XC3S500E FPGA To understand more, we can download the details from the abovewebsite It is important to understand more about the feature of the FPGA and the board interms of the available DDR memory, number of Logic Gates, Block Ram modules etcbecause this information is critical while creating a hardware design on the board XilinxEmbedded Development Kit 12.1 no longer support for Spartan-3E Starter so we select “I
Figure 3-5: Name of My Project.