View
218
Download
0
Category
Preview:
Citation preview
SiTCP for SK1st version
Jul 13, 2006
Tomohisa Uchida, KEK
Overview
• Prepared – The Net-list file– An reference design– An reference program to control bus via UDP
• All files in 060713SK.zip
The reference design.
• Implemented on Spartan 3E Starter Kit– Produced by XILINX.
• Functions– TCP
• A test data generator and checker• Echo back server• Can be selected by a slide-SW on the board (SW3)
– UDP• Simple register file access
• I have verified it on my board !
Spartan 3E Starter Kit
Reset SW Test data generation
TCP Echo back
Structure of “060713SK” folder
• SiTCP_S3E_StarterKit– The reference design files.
• SiTCP_FOR_SK– The net-list files and related files.
• BCP– The reference program to control bus of SiTC
P via UDP.
“SiTCP_S3E_StarterKit” directory
• Includes the reference design files.• ” Coregen” directory
– Library files that are used in the design.– Generated by CORE-GENERATOR
• “ISE” directory– Working directory of ISE.– I compiled with the version 8.1.03i of ISE.
• “Src” directory– Source code files of the design.
“SiTCP_FOR_SK” directory
• Includes net-list files used to implement SiTCP.• SiTCP_FOR_SK.ngc
– Net-list file of SiTCP
• Asyncfifo8bx2kw*– Asynchronous FIFO– Used in the SiTCP
• Copy the above files to working directory of ISE.– See the reference design.
• “SiTCP_S3E_StarterKit” directory.
“Src” directory
• Consists of– S3E_SK_SITCP_FOR_SK.V
• The top module
– SiTCP_FOR_SK.V• Top module of SiTCP
– TCP_TEST.V• An simple application of TCP.• Test data generator and checker.
– LOC_REG.v• An simple application of UDP.• Register files.
“BCP” directory
• Consists of– bcp_dbg.c
• The reference program.
– bcp.h• Header file of ” bcp_dbg.c”.
TCP: Normal sequence
Establish Received FIN
Closing phase
Received SYN, ACK
Closed
Transfer phase
The signals of TCP_TEST.V
From a SYN packet is received to a FIN packet received.
Transfer phase
• TCP_ESTABLISH keeps in high level.
• Should write data to send in this phase.
• If TCP_ESTABLISH goes to low level,– The connection is disconnected (Normal).– A network error occurred (Error).
• I recommends TCP_ESTABLISH is used to initialize front-end circuits.
TCP Transmit Timing
The signals of TCP_TEST.V
Transmit Stop Timing
The signals of TCP_TEST.V
Max. 8 clocks
TCP Receive Timing
The signals of TCP_TEST.V
Max. 8 clocks
Closing Timing
Closing phase
• Started by TCP_CLS_REQ– Asserted by receiving a FIN packet.
• When TCP_CLS_REQ is asserted,– Stop to transmit data as soon as possible.– After that, response with TCP_CLS_ACK in
high level.
• When the connection is closed,– TCP_ESTABLISH goes low.
UDP
• Use an original protocol (BCP) to access bus of SiTCP.
• BCP is encapsulated in UDP packet.
• I prepare a reference program.– I wrote this for debugging.– Pease, customize it.
BCP headerPosition
in byte
Name Description
0 Ver.[3:0] /
Type [3:0]
Should be 0xFF
, means the test version.
1 Command[3:0] /
Flag [3:0]
Command
0xC = Read operation
0x8 = Write operation
Flag, valid only ACK packet
[3] = ACK packet
[2:1] = always zero
[0] = Bus error
2 ID Number to identify, any number can be used.
3 Length Length of read / write access
BCP header
Position
in byte
Name Description
4 Address [31:24] Read / Write Address
5 Address [23:16] Read / Write Address
6 Address [15: 8] Read / Write Address
7 Address [7: 0] Read / Write Address
8 Write data [7:0] 1st write data
:
7+N Write data [7:0] The last (N-th) write data
Reference programIP address of SiTCP = 192.168.0.16
UDP port of SiTCP = 4660 (0x1234)
In this example,- Read 4 bytes data from SiTCP,- Addresses are from 0x00 to 0x03.
Write timing
Read timing
SiTCP is under developing.
If you find bugs or problems, please report it to me.
Thank you.
Tomohisa Uchida, KEK (uchida@post.kek.jp)
If you have questions,Please ask me or Hayato-san.
Recommended