View
217
Download
0
Category
Tags:
Preview:
Citation preview
Data Stream Data Stream Managing UnitManaging Unit
Final PresentationFinal Presentation
AdvisorAdvisor : Vitaly Spector : Vitaly SpectorStudentsStudents : Neomi Makleff : Neomi Makleff
Hadas Azulay Hadas AzulayLabLab : High Speed Digital Systems : High Speed Digital Systems
IntroductionIntroduction In Part A of our project we established a In Part A of our project we established a
line of communication between a PC and line of communication between a PC and our Nios II system, at a speed of 100 Mbps, our Nios II system, at a speed of 100 Mbps, Full duplex.Full duplex.
Now we have established a “smart” line of Now we have established a “smart” line of communication, between multiple Nios II communication, between multiple Nios II systems and multiple PCs.systems and multiple PCs.
Project AimProject Aim We have implemented the “smart” We have implemented the “smart”
communication between N generators of communication between N generators of Nios II systems and M processing units Nios II systems and M processing units of PCs.of PCs.
We have implemented the concept We have implemented the concept mentioned above when N=1, M=2. We mentioned above when N=1, M=2. We have created a network which consists have created a network which consists of 2 PCs and a Nios II system, which is of 2 PCs and a Nios II system, which is able to process packages in T time and able to process packages in T time and are managed by a management unit.are managed by a management unit.
Switch
Ethernet
System
Our implementation is built for a system with M PCs and N Nios II systems
Development Environment - Development Environment - HardwareHardware
PCPC
Altera PCI EXPRESS DEV KIT – Altera PCI EXPRESS DEV KIT –
STRATIX II GX STRATIX II GX
(Rafael requirements)(Rafael requirements)
SwitchSwitch
Interface : EthernetInterface : Ethernet
Development Environment -Development Environment -SoftwareSoftware
Altera PCI EXPRESS DEV KIT –Altera PCI EXPRESS DEV KIT – STRATIX II GX:STRATIX II GX:
Nios II IDENios II IDE
Quartus IIQuartus II
SOPC BuilderSOPC Builder
PCPC : :Windows XP ProfessionalWindows XP Professional
EclipseEclipse
Concept - Concept - Centralized Centralized management unitmanagement unit
Our project includes a management unit which will manage the flow of packages from the systems to the processing units so that the bottleneck phenomena will be lessened.
Our Implementation…
Our project requires us to create a management unit which communicates using LAN.
We have created a generic managing unit that can be used on any platform
We have used the PC as a platform. The advantages to our choice are that it’s low cost, easy to manage and maintain.
We have implemented a system in which the Management Unit sends the packages to the Processing Units contrarily to the Nios II Systems sending the packages directly to the Processing Units.
Implementation of ConceptImplementation of Concept
ProcessingUnit 2
ManagementUnit
ProcessingUnit 1
Nios II System 1
The Processing Units send a connection request to the Managing Unit using port 10000. The request will include an ID (“PC”) and
status (“free”). The managing unit identifies the IP of the PC which has opened a socket and adds it to a vector of free PCs. All
communication to the managing unit is done through port 10000
PC2 PC1PC, Free
PC, Free
Vector of PCs: 10.0.0.1|10.0.0.2
Implementation of ConceptImplementation of Concept
The Nios II system connects to the Managing Unit using port 10,000 with the following message: “NS,hello,1”. “NS” is to identify that a Nios is trying to connect, “hello” is the package to process, “1” is
the ID of the package. The Managing Unit receives the request and enters the package in to a PackagesToExecute queue. All queues
and vectors are FIFO.
ProcessingUnit 2
ManagingUnit
ProcessingUnit 1
Nios II System 1
PC2 PC1
PackagesToExecute: NiosPackage1
NS,hello,1
ManagingUnit
ProcessingUnit 1
PC1
Implementation of ConceptImplementation of Concept
The Managing unit will now check whether there is a free PC and if so send it the package to process. The PC will be removed from the
vector of FreePCs and upon receiving the package, the PC sends the managing unit “PC,Busy”. A NiosPackage has a PackInfo and ID
ProcessingUnit 2
PC2
Nios II System 1
NiosPackage1
“PC,Busy”
Vector of PCs: 10.0.0.1|10.0.0.2
ManagingUnit
ProcessingUnit 1
PC1
Implementation of ConceptImplementation of Concept
The Management Unit receives the “PC, Busy” message from the PC who is processing and sends the Nios II System that a PC is
processing package #ID. The Nios II system will then send a new package .
ProcessingUnit 2
PC2
Nios II System 1
Processing Package #ID NS,hello,2
ManagingUnit
ProcessingUnit 1
PC1
Implementation of ConceptImplementation of Concept
Upon receiving another package, the Managing Unit once again checks the Free PC Vector and “sees” that there is another PC available and sends it the package. When a PC is free again, it
sends “PC, free” and the Managing Unit adds the IP of the PC back to the FreePC vector. The process continues until the Nios II System
finishes sending packages.
ProcessingUnit 2
PC2
Nios II System 1
NiosPackage2
PackagesToExecute: NiosPackage2
NS,hello,2
Vector of PCs: 10.0.0.2
ProgramManagement Unit
•Initializes the server socket and waits to accept requests•If receives “PC, free” then adds the IP of PC to vector of FreePC’s and checks if there is a package to process for PC• If receives Nios package then adds package to package queue and sees if there is a free PC to process package•If receives “PC, busy”, sends message to Nios that package is being processed
Processing Unit
•Initializes connection with Management Unit•While (true): Sends message “free”•Waits to receive package•Processes package and sends message “busy”•Finishes processing and sends “free”
Generator
• Initializes the hardware and IP •Initializes connection with Management Unit•While (true), sends packages and receives message that the package # ID is being processed
Conclusions We have succeeded in creating a network of
communication between the Nios II based system and PC using Ethernet and LAN.
We have succeeded in creating a management unit which can manage packages that arrive from the Nios II System and send them to be processed accordingly.
We have succeeded in writing programs that are generic and will be able to support N Nios II Systems and M PCs (as well as N Nios II Systems sending j packages at once).
Recommended