29
PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School of Information Technology Engineering

PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Embed Size (px)

Citation preview

Page 1: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

PROKNET: An IP/ATM processor

University of Ottawa

Rami Abielmona

Samer Abielmona

Mohamed Abou-Gabal

Wael Hermas

Dr. Voicu Groza

Dr. Emil Petriu

School of Information Technology Engineering

Page 2: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Presentation Outline (1)

IntroductionObjectivesSelf-imposed Q&A’s IPATM IP over ATM

System breakdownSystem operation

Page 3: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Presentation Outline (2)

Module architecture/functionality TLL module ALU module Trailer module CRC module SAR module CU module

AchievementsLimitations / Future workSummary

Page 4: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Project introduction

Proknet = processor + network

Capable of receiving incoming variable-sized Internet Protocol (IP) packets, and outputting fixed-sized ATM cells

Design is outlined, architecture is overviewed and final results are presented

Page 5: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Project objectives

Main goal: “To provide an IP over ATM segmentation entity”Design goals:Forum compliance;Efficient implementation;Digital design adherence;Speed of execution andNetwork processor functionality

Page 6: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

What is IP?

A communication protocol that Utilizes connectionless-based datagrams that are

routed using hop-by-hop routing algorithms to transfer them;

Total length of packet is variable, ranging from 20 bytes to 64k bytes;

Each packet is treated independently; No error control or reliability mechanisms; Routing of every single packet is required which

consumes greater processing power

Page 7: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

What is ATM?

A communication protocol that Utilizes connection-based cells that are guided

using a pre-planned path between nodes; Total length of cell is fixed at 53 bytes; Each cell traverses the dedicated route for the

entire length of the data transmission; Error control and reliability mechanisms are

provided on a connection basis rather than on a cell basis, which reduces the required processing power

Page 8: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

What is IP/ATM?

Combination allows for networks around the world to present a service that is as reliable and dedicated as ATM, while utilizing IP’s greater transmission capability and reduced overheads

IP over ATM requires one to be able to segment the variable IP-packets into 48-byte cells at the transmitter (our focus)

Page 9: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

System Breakdown (1)

Proknet is made up of the followingTotal Length Logic (TLL) module;Arithmetic Logic Unit (ALU) module;Trailer module;Cyclic Redundancy Check (CRC) module;Segmentation and Reassembly (SAR)

module;Control Unit (CU) module

Page 10: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

System Breakdown (2)

Figure 1

Page 11: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

System Operation

Figure 2

Page 12: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

TLL TRAILER CRC

1st IP Packet

2nd IP Packet

SAR

48 byte cells

48 byte cellsUU CPI Total Length CRC

Memory

Adding Padding bits

8 bytes Trailer Appended 0000

A complete Padded IP Packet with valid CRC

A complete Padded IP Packet

with valid CRC

Sequence 1

Page 13: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

TLL(Total Length Logic)

Counter 1 1

TL (1/2

)

TL(2/2

)

ExtractorExtractor extracts the 8 byte Total Length from the packet and stores it into TLR register.

TLR

1 1 Pad Algorithm

TRAILERModule

Outputs the Number of Pad bits Needed to make the packet divisible by 48.

Incoming Packets

1st byte

2ndbyte

1

3rdbyte

1

4th byte

Sequence 2

Page 14: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

TLL Module Functionality

Extract the total length field from the IP packet

Perform preliminary setups for the downstream modules in the pipeline

Calculate the number of padding bits needed and store that value in a register

Page 15: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

ALU Module

16-bit adder-subtractor unit

Aids in the instruction execution, by residing on the datapath of the main processor and feeds the accumulator

Designed using combinatorial ALU design techniques

Page 16: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Trailer Module Architecture

Figure 3

Page 17: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Trailer Module Functionality

A byte is written and another is read simultaneously.

Incoming byte

8 byte FIFO

CU_EOP is low.

0

1

CU_EOP switches high which means it’s time to output the Trailer.

8 byte Trailer

Sequence 3

Page 18: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Trailer Module

1. When a byte of a packet is received from the TLL module, the control unit wries into the 8-byte FIFO memory

2. On the next clock cycle, the byte that was written in step 1, gets read and at the same time another byte is written into the FIFO

3. Steps 1 and 2 are repeated until the CU_EOP (End of Packet) signal is asserted by the CU, which indicates to start sending the trailer

4. When the counter is done, a Done_Trailer signal is sent to CU

Page 19: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

CRC Module Architecture

Figure 4

Page 20: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

CRC Module Functionality

2nd Packet

A byte is written and another is read simultaneously.

4 byte FIFO

CU_C_EOP is low.

1st Packet

0

1

CU_C_EOP switches high which means it’s time to output the 4 bytes of valid CRC.

4 bytes of valid CRC

CRC32 Algorithm

UUCPITL

4 bytes of valid CRC

Sequence 4

Page 21: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

CRC Module

1. The Trailer module sends the first byte of packet, thus the CU writes it to the 4-byte FIFO

2. On the next clock cycle, a second packet comes in, the CU will write it in to the FIFO, and at the same time it will read the first byte

3. Steps 1 and 2 are repeated until CU_Done_Trailer is asserted, which indicates to start sending the CRC

4. Once all 4 bytes are placed on the pipeline, Done_Crc is sent to the CU

Page 22: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Initial IP Packet Structure

Post-trailer Packet Structure

In-memory Packet Structure

Figure 5

Figure 6

Figure 7

Page 23: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

SAR Module Functionality

SEGMENTATION

Message

Trailer

PAD

Each is 48 bytes.

Sequence 5

Page 24: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Control Unit ModuleMicroprocessor chosen was an 8-bit oneAll instruction opcodes were limited to 8 bits, while memory was addressed with a 12-bit address busThe clock period was defined to be 40 ns, thus the clock frequency was 25 MHzThe memory is a ternary-port memory, needed to perform three distinct operations upon the memory, all in one cycle. The operations are: Fetching an instruction for execution Write-out to memory of a byte from CRC module Read-out from memory a byte to SAR module

Page 25: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Memory Interface

Figure 8

Page 26: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Achievements

Proknet was implemented using the Verilog hardware description languageThe project has successfully gone through: Functional simulation Synthesis Timing simulation

Space and time restrictions do not allow us to present simulation results, but can be provided upon request

Page 27: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Limitations / Future Work

Proknet cannot handle more than 2 packets on the pipelineThe CRC calculation was done on the packet and the trailer, excluding the padding bytesReassembly side will complete SAR functionalityProknet could benefit from a parallel architecture, where multiple pipelines could be executing on various packetsQueuing and scheduling will aid in the management of the multiple queues

Page 28: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Summary

Network processor design was completed successfullyWork can be smoothly extended to other technologies merging together in order to perform the same functionalities, such as ARM over frame relayContact information: [email protected] [email protected] [email protected]

Page 29: PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School

Questions / Comments ?