Designing a TCP/IP Core for Power Consumption Analysis

Download Report

Transcript Designing a TCP/IP Core for Power Consumption Analysis

Designing a TCP/IP Core
for Power Consumption Analysis
Kenichi Tanamachi, Koji Inoue, and Vasily G. Moshnyaga
Fukuoka University
2004/8/5
1
Background

TCP/IP protocol designed by software


Network bandwidth increasingly grows


Low-speed TCP/IP packet processing
of termination nodes
Require low-power for mobile networkconnected computing devices

2004/8/5
Grow 1Gbps in near future
Bottleneck in high-speed network


Major protocol for network data transactions
PDA, Cellular phone,・・・
2
TCP/IP protocol stack
Transmit
Receive
Data
(HTTP,SMTP,POP3)
Data
TCPheader Data
Transport layer
(TCP,UDP)
Data
TCPheader
IPheader TCPheader Data
Network layer
(IP,ICMP)
Data
TCPheader IPheader
Data
TCPheader IPheader
Ethernet
IPheader TCPheader
header
2004/8/5
Application layer
Data
Data link layer
(Ethernet,PPP)
Internet
Ethernet
header
3
Purpose
Implement TCP/IP packet processing by custom hardware
and analyze its power consumption

In order to analyze power consumption



2004/8/5
Step1 Decide TCP/IP Core organization
Step2 Design TCP/IP Core
Step3 Analyze the power consumption
4
Design Flow
1.
Functional partition
-decide functional partition of TCP and IP
2.
HDL
-RTL design by using Verilog-HDL
3.
HDL
Logic synthesis
-use synopsys Design Compiler with 0.35μm
CMOS library
-output report file for area and power
consumption
4.
Layout
-use an auto P&R tool
-extract wire load capacitance
5.
Simulation
Library
Logic Synthesis
Report file
Analysis
Layout
2004/8/5
5
TCP Core
2004/8/5
6
Functional Partition
Application layer
TCP

port_ctr
data_ctr
window_ctr
checksum
IP layer
Data link layer
2004/8/5



port_ctr (BLOCK1)
 Transfer data to or from
application layer
data_ctr (BLOCK2)
 Divide and reconstruct data
by using sequence
numbers
 Error check by timer
window_ctr (BLOCK3)
 Congestion control by
inform transmit-side
receive-side’s empty buffer
size
checksum (BLOCK4)
 Check error of data and
header, and if have some
error, create the request of
retransmission
7
Design Results
Area
Power
transmit receive transmit
Wire capacitance
receive
transmit
receive
BLOCK1
4%
6%
6%
4%
4%
3%
BLOCK2
27%
23%
23%
30%
22%
26%
BLOCK3
7%
10%
10%
7%
9%
6%
BLOCK4
62%
61%
61%
59%
65%
65%
Checksum in BLOCK4 requires a large number of transistors
2004/8/5
11
IP Core
2004/8/5
12
Functional Partition
Application layer

TCP layer
IP

service_info
frag_ctr

add_ctr
checksum

Data link layer
2004/8/5
sevice_info (block1)
 Inform header
information( IPversion,
header length, packet
length, type of service)
frag_ctr (block2)
 Determine whether to
fragment or not data. If
yes, identify each data
add_ctr (block3)
 Determine source and
determination address
Checksum (block4)
 Check error in IP header
and compute time to live
for packet
13
Design Results
block1
block2
Area
16%
29%
Power
14%
26%
block3
43%
47%
block4
12%
13%
Checksum in block3 requires a large number of transistors
2004/8/5
15
Discussion

Which block gives a great impact on power?


TCP Core
 Checksum(BLOCK4) More than 60% of all
IP Core
 Checksum(BLOCK3) More than 47% of all
Focus on these two blocks
to lower the power consumption of TCP/IP Core
2004/8/5
16
Comparison of TCP with IP
Area(μ㎡)
Power(mW)
TCP
transmit receive
3.774
3.332
18.8503 19.669
IP
2.1196
10.7182
×2
2004/8/5
The TCP Core includes more complex functions
than the IP Core
17