• No results found

Ethernet_Interface_Documentation_Package_Jun80.pdf

N/A
N/A
Protected

Academic year: 2020

Share "Ethernet_Interface_Documentation_Package_Jun80.pdf"

Copied!
25
0
0

Loading.... (view fulltext now)

Full text

(1)

;-ANFORD CS()

....

."

Ethernet Interface Documentation Pacl{age

John Seamons and Andreas Bechtolsheim Computer Science Department

Stanford University

June 30, 1980

This ~ t of documents describes a 3 Megabit Ethernet Interface developed by the Computer Science Department at Stanford University. The interface is designed to interconnect host computers to the Ethernet via a 16-bit parallel port.

The package contains:

* Function and Interface Description * Logic Schematics

* Prototype Layout

* Timing Diagrams

* State Machine Graphs

* State Machine Code

PrOject Heferance File Designer Rev

SUNet Ethernet Interface Clocks ei.acover.sil ,Iohn Seamons 3

..

Date Page

(2)

3 Jul 1980 18: 11 E.DOC[SUN,AVB] COMMENT e VALID 90897 PAGES

C REC PAGE DESCRIPTION

C00991 00001 C09002 99992

coaoos

00003 C00908 09094 COOOIB 99995 C00012 80006 COB91S 99097 C99018 ENDMK

Ce; .

Ethernet Interface Documentation Ethernet Receiver

Ethernet Transmitter Ethernet Controller DMA Controller: Controller Function:

(3)

3 Jul 1989 18:11 E.DOC[SUN,AVB] PAGE 2-1

Ethernet Interface Documentation

The Ethernet interface described in the following connects an Ethernet transceiver to one of three system interfaces:

1) A 8/16 bits parallel port.

2) The GPIB General Purpose Interface Bus.

3) A RS-422 high-speed serial line.

The interface is designed for full-duplex operation.

Thus loopback (sending to oneself) is possible for diagnostic purposes.

The Ethernet interface itself consists of three parts: a Receiver, a Transmitter, and a Controller.

The receiver converts serial data from the Ethernet into IS-bit parallel words.

A

Bit-vector address filter, which is loaded from the controller.

accepts only a selected set of destination addresses.

The receiver also straps the Ethernet leader bit and checks the CRee

The transmitter translates IS-bit parallel data into a serial data stream.

It prefixes the data stream with a leader bit and appends the CRC ,code

which it computes on the fly.

In addition, the transmitter jams the Ethernet if a collision is detected either by the transceiver or the receiver.

The controller performs the other functions necessary for a system level Ethernet interface: packet buffering, retransmission, and initialization.

The controller interfaces the Ethernet to either a 8/16 bit parallel port,

a GPIB port, or a high-speed serial line port.

These ports can be easily interfaced to almost any host computer.

The controller is implemented as a fast a-bit microcomputer system with

four DMA channels, Timer, and 4 kBytes of buffer memory.

If desired, the controller's·functionality can be replaced by a

"host" mini- or microcomputer system. However. the timing characteristics

of the Ethernet (one IS-bit word every 5.44 usee, retransmission within 37 usee)

(4)

3 Jul 1980 18: II

Ethernet Receiver

Receiver Interface:

R.Data <0:15) R.ReadO\ R.Readl\ R.Rcad\ R.Ready\ R.End\ R.Abort\ R.Ack\ R.Enable

R.FA <9:7)

R.FDin R.FWE\

Output Input Input Input Output Output Output Input Input

In/Out

Input" Input

Receiver Functions:

E.OOC[SUN,AVB] PAGE 3-1

Parallel Data.

Read Byte 0 (Bits <9:7». } Tie together for

Read Byte 1 (Bits <8:15». } 16 bit operatio~.

Clear flags. Tie to R.Read9/1. New data ready.

End of Message. Cleared by R.Ack.

Abort message in progress. Cleared by R.Ack. Clear R.End and R.Abort.

Initializes receiver state machine. Assert after initialization is complete. Fil ter Address.

Shift Register Output if R.Enable is asserted.

Fi lter Data In Filter Write Enable

If R.Enable non asserted, then receiver state machine is initialized. Address filter can be loaded via R.FA, R.FDin, and R.FWE\.

Address filter should be loaded before interface is enabled.

After R.Enable is asserted. receiver state machine wilJ enter flush state until carrier 1dle.

Receiver then listens continously to Ethernet. Phase Decoder acquires synchronization on Start Bit. Receiver state machine places data into shift register.

At the end of the first word it checks the address in the address vector. If Ethernet carrier drops, receive state machine checks

eRC and Bit-count. If both are correct. R.End flag is set. Otherwise and in the case of collision after the first R.Ready R.Abort is set.

Microcomputer system should throwaway aborted messages. (Number of aborted messages is expected to be very small.)

Response time requirements:

R.Ready to R.Read:

(5)

3 Jul 1989 18: 11

Ethernet Transmitter

Transmitter Interface:

T.Data (0:15)

T. Wr iteO\

T.Writel\ T.Write\ T.Ready\ T.Sent\ T.Abort\ T.Ack\ T.Enable

Input Input Input Input Output Output Output Input Input

Transmitter Functions:

LDOC[SUN,AVB] PAGE 4-1

Parallel Data.

Write Byte 9 (Bits <9:7». } Tie together for

Write Byte 1 (Bits (8:15». } 16 bit operation.

Clear flags. Tie to WriteS/l.

Ready to accept data. Cleared by T.Write. Message transmitted. Cleared by T.Ack. Message collided. Cleared by T.Ack. Clear T.Sent and T.Abort.

Enable transmit data driver to transceiver.

Can be used to terminate transmissions immediately. Should be held inactive after power-up to allow transmitter state machine to autoinitialize.

Transmitter is activated by writing first data word. Transmitter then attempts to aquire Ethernet.

Timeout function for aQuisition must be provided externally.

Transmission is terminated with CRe code if no more data is available.

Transmission is aborted upon collision reported by Transceiver or Phase Decoder. Retransmission function and algorithm must be provided externally.

Response time requirements:

T.Write to T.Ready: 5440 nsec (16 bit times).

(6)

3 Jul 1980 18:11 E.DOC[SUN,AVB] PAGE 5-1 Ethernet Controller

Controller Interface:

The controller supports one of three bidirectional data ports:

a parallel port, a

GPrs

port, and a

sro

port.

For a particular system, only one of these ports can be used. The particular port in use will be called ·local port·.

The interface is implemented via messages consisting of one 16-blt

command word that is optionally followed by a fixed number of data words. The length of the data field is limited to 512 words (1924 bytes).

Message Summar~:

Host to EthernetjController: Initialize

Load Address Filter with <n> address What is your fixed address?

Send following packet with <n> words, <words>*n

Ethernet Controller to Host:

My fixed address is <n>

Timeout on network aQuisition

I failed to send a packet despite 8 retries

(7)

3 Jul 1989 18:11 E.OOC[SUN,AVB] PAGE 6-1 OMA Controller:

All data transfers are handled by the 9517 OMA Controller. This DMA chip has four channels allocated as follows: Channel 9 Receiver

Channel 1 Receiver EOP Pointer -Channel 2 Transmitter

Channel 3 local Port

Chan 9: Autoinitialization implements cyclical buffer.

Save all receiver data in buffer (including bad messages) Chan 1: Autoinitjalization implements cyclical buffer.

Save current address and R.Abort on R.End.

Chan 2: Transfer fixed number of data words from buffer to transmitter. Chan 3: Transfer fixed number of data words between local port and buffer. The first two channels allow to receive back-to-back packets while

the buffer memory can be simultaneously unloaded to the local port. Both the channel for Receiver Data and EOP Address perform their task without intervention of the microprocessor and deposit their data items

into cyclical Queues in buffer memory.

In contrast, the local port Read/Write and Transmitter Data channel

are explicitel~ started under microcomputer control with a

definite wordcount, which is the length of the packet to be transferred. The Microcomputer is interrupted on EOP of a local port transfer

and on SENT from the transmitter. Note that SENT is set whenever the transmitter terminated its transmission, which might be on

(8)

3 Jul 1989 18: 11 E.OOC[SUN,AVB] PAGE 7-1

Controller Function:

Upon initialization (either hardware or command), the 8685 controller:

1) reads the fixed address and loads it into the address filter.

2) initializes the Ports

3) initializes the OMA device

4) cnables the receiver and the transmitter

5) enables interrupts

6) halts.

All further functions are interrupt driven (described below).

Interrupt routines:

Trap (edge and level. non-maskable)

not used because of difficulty to synchronize DHA device manipulation.

RST 7.5 (edge level)

TO (Timer: Count=O)

Timer is started on network aQuisition for timeout and on collision for retransmission.

At other times timer is running continously for random number generation. RST 7.5 Interrupt is disabled then.

RST 6.5 (1 eve 1)

.RX: Message arrived (Pointer and Status was queued by Channell) Reset Interrupt request

Check DMA Channel 1 current address to see how many pointers are pending.

Note that if last interrupt was asynchronous. no new message arrived. , Future Interrupts wi 11 aga in be handl ed synchronous 1y.

If Abort then throw packet away else put on received Queue. Send message to host that packet arrived •

. RST 5.5 (l eve 1 )

INTR:

TX: Message sent.

Check Collision Status.

Check whether DMA controller terminated transmission. Clear request.

If Collision then if collision count

<

8 then retry

else send host message about failure.

If port idle then write message header to port else put on queue.

(level)

I f port idle, then Intr .. Write Interrupt request else

Intr .. EOP channel 3.

(9)

0

..

..

-~~ ... ·~' .. I ... ,~'"" '"'.J

.

III Ill~ ,.. .. ' • ..-,~1

III

.... t.:.TA-l ? Ol Q)6 "II',t.:.T"l PC. co.'''' ., 03 Q) PC.CA1Q

~.~T~

B""

'.$"'.

04· It •. ClOT.;) pt',.~T"l a"" "S3'><o

""

PO.t»T.;)

""."V

~:

IlC0I os Il "".rt.)JT IJ os tEOI os '2 St".'CPS 06 ., "'''.~ •• 0. 06 .; R">(.~

"O? O? •• ~.p..:e..r ., O?

0' 16 p.,.rl~

lellll~ ecce " "I('.(~~ .s C6~ ec oe 1~"".£N'B..Ee

C42.2'-.

"J

"J

-·--·---·---1

11 " 1

...

1

'"

>I: C£

It". "'I AI

R-.I,,,-!

·

Q

p".4,J ;

A3

...

...

O)42';Q

Mol

~.t#; •

...

Rot.~ I~

A6

... 4' II A?

~ '2 "8

ill

...

01 ... DOJT

PO.Il«'''' ' " , OCI

~o.

O. PO. """'1[11 pt..o;:.nn l A.

01 • III Co2 PC.OQT~

"1).""'''2 3

Q

III e , 1:>3 OJ pt'I.~11:"T

"1) . ..,.'<.:1 "A3 ?"S4~1 OJ ~I"" '.S]?

""

,:.0.(0-...1..,

.

....

"'"

11 130; '1£11' Il PD. ~'QT[e

0- os

~

...

os '2 ." r.. 06 .~ PC. S"QTEI

,--!! ... "" Il ,,. 0' 0' I., pt,.$u·"'I"'El

f"i·

F

I.

"~":,

1

~

"1

PO.S'~T!:-.3

1II.F"C1N

r'

r

....rooJT

'tV."."

e

t.

, 0''''<» SOl 3 01 O. D.De

. , Orl. • III ell A,O'

.. 0" ' 03 OJ6 ".Ill

1. Of3 7"'~ e 04 7"". g.. D.Dl

IS 01. AOI 13 0Ii "f:ll os '2 ".C-.s Ol'i •• 06 06 .$ D.OS

.. Dr6 t? O? O? 16 Q.06

16 0"" ... Q"SeSI QICR GI GIl IS DeX « 0 9 •• R.O?

J:Jrr

-r-

I"

I'

•• q[~,

F'O.CQIOCiIlf'Ct ' " , ClIO ~o. o. Ih(.~l'rt ~.[):.TQ l AI

O. ~Ill Col R.:.p.()

~.~ln

:Q

III ~Ol OJ A'-:.~, ttx.~JI7'.J0

<.:I '40SA'7t OJ ~,Oot 'ASPA 0- 1O'I(.Ct.E~,

~.~QS ~

...

A;ll AU'

'2 r;;,r.CPC{.L.1l

0- os os

rb\.[t~0

~:

:

Il " 06

"" 'S ~·.J"CE, .3

" 0" 0'1 '6 «01:, ~Tt..T£e .~

..

'9 06

'1\

O£ oe I. ~.STQ1'£'1

Q?

is

i-~

"J

I

"1 Dre""'. P.'J<.A8 3 D' O. D.De

I'

on If.:.'" 402 'oi D.OO .. Dra RY..Q "1 OJ OJ6 R.Ole

1· Dr,J ''''~ ~"."-l e 0-- ?4L.'$37. ()oc A,OII

, Or. " ,

..

.".eo. .3 OS "f:4. '1 R.Oll

00;

Q.DIl

IS O~ I:h(.u;. •• D6

"" .$

.. Or6 ~"' .• c:.o 17 0" o~ " ~.Ol"

16 Of""~ 07$01 51 CPCIi Gl G2: P":.A? 'S

C6X

0£09

,-

D.D'S PO.$loIIM

.e,],J),

.J

~ Ilb( ... I'I1:

I"

l'

R.~t()" ~

C£F..41-e D'){.Pu "". E><AEU:~,

(AII;, ... q; IIN.PIIJ

Ilb(."V 2~~

.J(.~tT[ 3 ."S7"

II:;Q 0 • R.~'Oh

-+-

R.r£'(),

""."V

RI(.E'lO

R.['toC),

•. '0<",

I'~.~, .e

R)(.(~

~.&e:m,

c

R.A:J(,

13

(10)

vee I

klll~ vee 2

e02.0·21

1l.~lIIl ~ "!DIP

'""Ii vee

vee OII>$W ~

T)(.1iIV l .'11 HI '8 )(.P(l(;:.T:. •

'A2 H2

••

h.C"-'''-, IiI<.C':'U,·,

..

l&U, .. ~"" II'J ••

Ih.o.:.TQ )(.(tLL 1~1~ e

IW I f . '2 TI(.CCl...L,.,

'''2'.0·c1 II <GOI (4'?21·.

l'ol Ifl

~ 6

vee lJO C><1

T~.I'V

'

..

o=t ,. (.8';.02·. vee e

" 8 os ., (."".£0;·0

(£0;,'2·. ' )

-"'"

, (1)C .• ·41

( , . "

..

"".~ .5 2A)

""

~ O".~·I"O

~o(.r .. ~o I?

-IGIG ,,10 J

~..:.rf~£~,

~ C '" '2 C~.l~~·e

~o co II ~

•• T CUI'Ir .s

~

'

..

""""

G><J

1

1

1 ••

Q ~()«)

(·Z.0·2' C ~OO<

••

,.,. OU

e III

T.De O. O. Z

DtcC" '"

T.Ot

.

Eli! Ci! 13 01"

T.r..? , 03 OJ6 ~ Of!

T.~' S 0-."s;p. c.- , .. 01'3 " s ; ! W

'.~ • os

...,.

os 'e ~ Df. A.T;II ,. .D'i

." 06 ""

.; • 5 D~

'.~ ,., 07 Q? '0 • Dr.

T.O"

'6

OiA

0£06 •• •• 01'>s.. O?SOSI CI'CII /0. Q

T • .,ptT£e,

I"

l'

CJ rTl"lr

1'1( CRCOJT

.

09

..

0 IC~ . I 1')(,,,""4

TJ(.~TA

,

O. f

h

Cl?f1.9r;·e 11 ?S".

TJI(.PU Z ' "

~ :.,,'151 T)(.CRCtt.l - 08

~ 0- "fez •

f--!: OS 13

~ 06 PO.COL..L., •

~ 0' •

• t t T)(.PU ,,~ T)(.,,,,

rf

"~ Tx. CCl..L. , 3 ?4$?4 • TX.STAT£'6

--0 • Tx.',",

Til(. lCU'

C3A0.I""-0 ~.GO ~

T.09 3 01

O. " ., orcC"tII T.OO "Eli! Q2 ' ; '3 on

".01121 ., 03 OJ" e 0101"

T .011 e 001 7',S:P" 04 ~ 14 0 1'3 " S l ! "

., .t,,~ 1:3 or; QGoo •

OS ." S pr .. A.T ••

,. .t'l:! I"'~

"" .5 15 p~ T.D'4 I?IO'"

0' I. .. or.

T.eIS .e 09]\

<£06 ," Ie Dl""Q., O~SI cPCIt 61 Q

T.~lTE\,

I"

l

T~ .• F\J

1'6

'T rTf" I" I'

TJo":.L.CI'IO"

I

Oo'~. 0· ,?CO

""."""'1£1'! 00 O. i Tl(.GO

Tl(.'~ O. Co< T..:.GO,

T..:.~

oc9 c:.J0 Tx.t..C..:o

Tl(.P£;.t;Y0 "'.SA", OJ ~ ?!.3? c.-" T":.Lc.:G, Tx.PV HCN!' 04' 11 ~121

" TJ(.ll:r..£

OS

OS " Go ,~ T){.101-£ ...

c..

.,

I- T ... ~T~jE0

•• T>.:.tT':'T[1

TI(.~Tc.

"".OU .e

s Co T .JI;£Q[)T TJ(.R£l:Ore

T ... 1'1'£ ~ •• .",-e

a&<Z 09 T .E&()l, ~

TX.LC"lth

TJ(.PU T)(.Pu TJ(.CACt ..

"0 ""<1.

~.:- C~.0.170 • (J> Q

'"

T ••

'e Alii

'b':.GO,

QD 11 Tx. ST .. TEIP .e~ £1'! 'J T.'$t"Nf, c-r '5 ~."""" '1(. TtL[

.

to>

.... I~ TIO'.PU

P

T.t.C.lh T)I(. Uk.£',

T)f.P\J \e C~.1?0·0 S0S'~ J

T){..,""

!l6<l Q e T.c:e::JIn,

T.A:J(,

IJ

(11)

3 Jul 1988 12144 E.PRHSUN,AVBJ PACE 2-1

E.PRHSUN,AYBJ e3-JUL-at 1231

PART NUMBER DIPTVPE COUNT DESCRIPTION LOCATIONS

HIA 745163 2 AA82, AA22

KI114A I FREQ123.538 AA12

9491 2 AA32, AJ12

93425A 1 AA42

745374 5 AC81, AEal, AEU; AE21, AJ21

745471 3 ACII, AClI, AC21

74LS299 4 RC31, AC41, RJ31, AJ41

74L5374 4 RE31, AE41, RG31, AG41

745249 I AG81

74L5163 I RGll

74L5151 1 RJ92

74S74 1 BB82

74LS74 4 BB12, 8B22, BB32, BB42

DIPS" 1 BD82

(12)

SF -->:

BE-->: 'OIPSU '[1002

SD-->I ! 111

\---• \---• \---• \---• I • •

'74338

, 'BOI2

! 1 '114

*

\---I • • I • • I • I

• I

• I •

Be-->: '74574 '74LS74 1 !74lS74 I '74LS74 I !74LS74

'BB02 '1\812 'BB22 'BB32 !BB42

BB-->: , 212 , 212 ! 212 ! ' 212 ! , 212 !

• I

\---

\---

--\---BA-->: 174LSISl '9401 '745374 '74L5299 !74lS299

'AJ02 !AJI2 'AJ21 !AJ31 IAJ4I

AJ-->: , 111 ! ' III I ! III ! 111 I III

.

--\---

\---

\---AIl-->'745240 ! !74lS163 ! '745471 !74LS374 !74LS374

'RGOI , 'AGI2 , 'nG21 'AG31 IAG41

RG-->' 112 * ! ! III ! ! III , III ! III

\---

--\---

\---AF --> '745374 ! 745374 ! 745374 ! 74LS374 '74LS374

'REOI 'REll 'AE21 'nDl IRE41

RE-->' III , 111 ! 111 ! 111 , 111

\---

\--- \--- .\---

\---AD-->'745374 '745471 !745471 !74LS299 !74lS299

'nCOl 1I1e11 !ne21 ~nC31 !RC41

AC-->' 111 , 111 , 111 ! 111 , 111 '!

\---

\--- \--- \---

\---RB-->I '74S1G3 I : Irl114A I 1745163 ! I !9401 !93425A I I

'An1}2 ,!fH112 !nn22

,"m32

!Rn42 ,

AR-->: ! 111 , 111 I ! 111. I I ! 111 ! 111 I I

(13)

\---C42.0·21 C42.21·0 C85.42-0

C85.0·42

C170.85-0

C'140.170-0

____

----Ir

I

C340.0·170 L. ___ --'

---._

..

_---_.--

...

---.---

---

...

---~

30-jun-80

Page

ANFOROi' Project

CSD SUNet Ethernet Interface Clocks

Designer Rev

ei .clocks.sil John Seamons 3

Date

1

(14)

42.5 nsec Clock

85 nsec Clock

t

Level 0

Rising

Edge

Falling

Edge

Level 1

0 0 - 0 0

0 0 - 01

0 0 - 1 0

0 0 - 11

0 1 - 00

0 1 - 01

0 1 - 10

0 1 - 11

1 0 - 00

1 0 - 01

1 0 - 1 0

1 0 - 11

1 1 - 00

1 1 - 01

1"\- 10

11 - 11

The Shift Register samples RX.Data every 42.5 nsec.

No Transition (0)

Gooel Transition (0-1), Start at 1

Bad Transition

Good Transition (0-1), Start at 2

Bad Transition

Bad Transition

Good Transition (1-0), Start at 1

No Transition (1)

No Transition (0)

Good Transition (0-1), Start at 1

Bad Transition

Bad Transition

Good Transition (1-0), Start at 2

Bad Transition

Good Transition ("I-a), Start at 1.

No Transition (1)

Since the Phase Decoder State Machine is clocl\ed at 85 nsec, each 85 nsec window has 4 possilJle cases (Level 0, Rising Edge, Failino Edge, Level 1). Thus there are 16 possible transitions between consecutive state machine states, which are shown above.

Data Transitions

~

[!)meout

I

Transitions

Windows Setup Data Window Too Few

Duration

[DJ1]2

13 T

4]~ ~

1

7

:ril

~ E9.FE2113114Ii~

State Case 1

[:<

1:3 ..

[5

J

7

9 (11 ..

:1

13:J~

State Case 2

I

2 4 [ 6 8],10

I

12

r

14

State 0 meuns no carrier.

State measures time between data transitions in 42.5 nsec units.

State starts at 1 if data tmnsition falls in between 85 nS8C clocll, starts on 2 if dala transition on 85 nsec boundary. Duration of pulse is computed from current state, adjusted by + 1 if transition falls into middle of 85 nsec cycle.

ANFORO!

?,ojo," - [ "'/0'""'0 . - Filo Dosiglk"

ei.pdsr.sil John Seamons

GSD SUi'let Phase Decoder SR

_ - rq"o;_ ".. CICii....-,: .,,,.,

Rev 3

Date

30-jun-80

Page

(15)

I Transition No Transitions

State

>=

13?

Y;Y

No

DataO

/~

CARRIER

=

1

STATE

=

15

COLLlSlON

Jam

CARRIER=O

STATE

=

0

NOTHING

Em:J-Of-Packet

(0-0)

CARRIER = 0

STATE

=

0

NOH-liNG

Idle

CARRIER

=

1

STATE

=

+2

NOTHING

Active

(0-1 ) all others

CARRIER

=

1 CARRIER

=

0

STATE

=

1,2 STATE

=

0

DATA ONE COLLISION

Start Bit Lost .~ync

Duration = If 85-Transition then State else State -I-1

Bad Transitions

~ARRIER

=

1

3TATE

=

+ 2

';OLLISION

roo Many Transitions

ANFOHO Project Heference

2 .. 5 / .. 10

7000ci

Transitions

CARRIER

=

1 CARRIER

=

1

STATE

=

+ 2

NOTHING

Setup

STATE = 1,2

I

DataO

7~

DATA ONE DATA ZERO

Data Transition

File

CARRIER

=

1

STATE

=

1,2

COLLISION

Too Few Transitions

CSD SUNet Phase Decoder FSM ei.pclfsm.sil

Designer

I

Rev

John Seamons 3

~~CiU~~ T~~

(16)

C85.0·42 Pd.Carrier Pd.Oata Pd. Shift Rx.Ctear Counter

State idte

C85.0-42 Pd.Data

Pd.Shift

-,

SR Data 14

Rx.Fce\ Rx.Fdoul RX.Adrs Rx.WordO RX.Write Counter State

14 first word

15

Start Bit

L

_ _ _ _ _ _

- - - I

15

x=:x

x=:X

15

SR Full

o first word

o

o

other words

---.---.---

....

--

....

---~

C85.0-42 Pd. Carrier

Pd.Data

-,

Pd.Sllift

-,

SR Data 14 15

Hx.WordO

______________________ Jr

Rx.End

---~

Rx.Abort\

Rx.Clear Rx.Write Rx.CrcClr

---~---~

Counter

State first word

Reference

Gsa SUNet Receiver Timing

"~ '-,ANFORD

I

Project

.---~---15

flush

End of Packet

File Designer Rev

ei.rxtiming_sil John Seamons 3

o

Dale Page

(17)

1E~;bl;?-1 y~~

=-c

woo

{Enable}

-I

Fce\

I

no

Lost Sync

... I yes '-~ yes

'1

-I yes

/~Carrier? J --9 Word? ~. Coli? I

\it

no no

y

Clear

I

End Idle

Idle

L '"

r:=

d,~

'10

I

no yes '-~ yes

I

I-71

Carrier?

~

>:

Event? ]

>j

Fce\ I

>1

Word? I /d Ad rs?

1----71

Write

no no

Invisible

First Word

- *

-

-

lI_1IIoI

L

Ino

'71

ca~>l

Event? : do'" "0

~:

Word? : '"

~rW;i1e

]

collision

I

End

l

W

no Visible

I

Word?:

>;

Abort\ I

I

yes

Other Words

1 P

[l]rCClr

I~

no. ,Carner? .1-.... . 1....-

I

yes

Flush

ANFOHD Project Reference File

0."9""

~"

Pdge

GSD SUNet Receiver FSM ei.rxfsm.sil John Seamons 3 . 30-jun-80 1

(18)

""---...--C340.170·0 C170.85·0 Tx.Ready Pd.Carrier Tx.Go Tx.Load Tx.ldle Tx.SrDala TX.Crcin Tx.Data Setup Tr's Counter State

C340.170·0 Tx.Ready Tx.Word Tx.Load Tx.ldle Tx.SrData TX.Crcin TX.Data Setup Tr's Counter Slate

C340.170·0 TX.Word Tx.Go Tx.ldle TX.SrData TX.Crcin TX.Data Setup Tr's Counter State

CJ\NFORD

csa

..J

idle

Project

SUNet

-+

start bit (1)

J..

o o

15 o 2 3 4 5

send

Idle

I send·sendCRC only

send·send only

Send / Send CRC

'--_ ... 1

I

I forced zero by Ix.end! (no glitches)

14 15 o

send CRC idle

Shut Down

Reference File Designer Rev Dale Page

(19)

.... 1 ayes ... i . I no

r---...;/~'~i Ready? I 71 Car,ner?

J I - - - ,

Id!e i /

~L-_ _

-.Jf'-I

no,

Idle

yes

[

~--!~_,~"r-.

- - " ' " ' I I

J'

no yes yes

,~

I-Jam? I--;?'~ G~ 1I---3>~~d? i~i Ready? 1'--7>; Load

I

yes

I - - - l no

Send

no

[--rO

r

.'--7 '~ Go

-~-Send CRC

Oille

~..

I

OeS;!;lIer r

-_c_'s_'o ____

~_S_u_N_e_t

__

~

____

T_r_a_ns_i_n_it_te_r_r-_-S_M ____

~~_~_,m

__ .s_il __

~I~J_~_h_n_S_:_a_m

__

o_ns_.~~3

__ _L_3_0_-j_u_n_-8_0 __

~

___ 1 __

~

(20)

3 Jul 1989 18:Z4 PO.SAI[SUN,AVB]

begin "prmgen"

require "prom.sal" source!file; S256;

define

data9 datal dataZ data3 stateS statel stateZ state3

=[ a9],

=[al],.

=[aZ],

=[ a3],

=[ a4],

=[a5], =[a6],

=[ a 7],

$carrier=[d9],

Sdata =[dl],

Sshift =[d2], Scoll_i =[d3], Sstate8 =[d4], Sstatel =[d5], Sstate2 =[d6], $state3 =[d7],

(21)

3 Jul 1989

state active

onetransition zerotransition idl etransit ion goodtransition notransition

badtransition

85 transition

duration idle startbit lostsync -toomany setup datatrans toofew timeout jam eop

data zero data::::one collision start reset nextstate prombegin bit($carrier, bit($data, bit($shift, bit($coll_i, b1t($stateO, bi t( $statel, bit($state2, bit($state3,

18:24 PD.SAI[SUN,AVB] PAGE Z-1

=[«stateO + statel + stateZ + state3) div d4)], =[ (statetl!O)],

=[(~data2 A data9»), comment X9 ~ Xl;

=[(data2 A ~dataO)]. comment Xl ~ XO;

=[(~data3 A ~data2 A ~datal A ~dataO)], comment 99 ~ 00:

=[(onetransition v zerotransition»).

=[«~data2 A ~datal A ~dataO) comment XO ~ 00;

v (data2 A datal A dataO»]. comment Xl ~ 11;

=[(~goodtrans;tion A ~notransition»), comment all others;

=[(dataO A datal v ~dataO A ~datal)]. comment in sync with 85:

=[(if _85_transition then state else (state+1»),

=[(~active A idletransition)].

_ =[ (~act ive A onetransition

»).

=[(~active A ~(idletransition v onetransition»),

=[(attive A badtransition)],

=[(active A goodtransition A (2~duration~5»),

=[(active A goodtransition A (6~duration~19»],

=[(active A (goodtransition v badtransition) A (11~duration~15»],

=[(active A notransition A (13~state~15»),

=[(timeout A data9)].

=[(timeout A ~data9»),

=[(zerotransition A datatrans»).

=[«onetransition A datatrans) v startbit)],

=[(lostsync v jam v toomany v toofew)].

=[(startbit v lostsync v jam v datatrans v toofew)],

=[( idle V eop»),

=[(if reset then 9

else if (start A ~_85_transition) then 1

else if (start A _85_transition) then Z

else (state+2»];

(nextstate~O» ;

(collision v data_one»; (data_zero v data_one»;

( ~co 11 is i on» ;

(nextstate land dO»; (nextstate land dl»: (nextstate land d2»: (nextstate land d3»;

if (idle A (collision v data_zero v data_one»

then error ("illegal idle state!"):

if (collision A (idle v data_zero v data_one»

then error ("illegal collision state!");

if (data_zero A (idle v collision v data_one»

then error (";11ega1 data zero state!"):

if (data_one A (idle v collision

v

data_zero»

then error (" i 11 ega 1 data_one state!");

promend:

(22)

3 Jul 1980 18:05 RX.SAI[SUN,AVB]

begin "prmgen"

require "prom.sai" source!file; $256;

define

carrier data shift word adrs enablo state9 statel

$write Send

$abort i

$clear-i $crcclr $fce i $state9 $statel

=[aO], =[al], =[ a2],

=[ a3],

=[ 04

J,

=[05], =[a6],

=[ a7],

=[ dO

J,

=[dl].

=[ d2

J,

=[ d3

J,

=[ d4

J,

=[d5J,

=[ d6

J,

=[ d7],

(23)

3 Jul 1989

init state idle first word other-words flush -event nil collision d_zero done datatr visible invisible

end idle lostsync nextstate prombegin b1t($write, bit($end, bit($abort_i, bit($clear_i, bit(Scrcclr, . b1t($fce i, bit($state9, bit(Sstatel,

18:05 RX.SAI[SUN,AVB]

=[(.,enable)],

=[«statel + stateO) d1v d6»),

=[(state=O)], =[(state=l) ], =[(state=Z)], =[(state=3)],

=[«shift + data) div dl»),

=[(event=O)], =[ (event=l)], =[(event=Z)], =[( event=3)],

PAGE 2-1

=[(carrier A (d_zero v d_one v nil»],

=[(other_words A «.,carrier A .,word) v (carrier A collision»)],

=[(first_word A «<arrier) v (carrier A collision) v

(datatr A word A .,adrs»)],

=[(idle A carrier A .,word)],

=[(i~le A carrier A collision)],

=[(

if ( ! idle:

(idle A .,carrier) v

(idle A carrier A .,(collision vend_idle» v

(flush A .,carrier)

) then 9 else

if ( ! first_word:

(first_word A datatr A .,word) v

(end_idle)

) then 1 else

if ( ! other_words;

(first_word A datatr A word A adrs) v

(other_words A datatr)

) then Z else

i f ( ! flush:

(flush A carrier) v

(lostsync) v

(visible) v

(invisible) v

(other_words A .,carrier A word)

) then 3 else

error(cvs($$adrs)&": didn't assign any statel")

») :

(.,init A «first_word A datatr A word A adrs) v

(other_words A datatr A word»»;

(.,init A «visible) v (other_words A .,carrier A word»»;

.,(init v (visible»);

.,(init v (idle A .,carrier»);

(init v (flush A .,carrier»):

.,(init v (first_word A carrier A (d_zero v d_one»»;

(init v (nextstate land dO»): (init v (nextstate land dill);

promend:

(24)

3 Ju 1 1989

spare state idle send sendere start r.eload nextstate

18:25 TX.SAI[SUN,AVB]

=[(sparcO A sparel)],

=[«statel + stateS) div d6)],

=[ (state=9)], =[(state=l)], =[ (state=2)],

=[(idle A ready A ~carrier)],

=[(send A ~jam A word A ready)],

=[(if (~spare v (state=3)) then 8

else if ( ! idle;

(idle A (~ready v carrier)} v

«send v sendere) A jam} v

(sendere A ~jam A word)

) then 8 else

if ( ! send;

(start) v (reload) v

(send A .,jam A .,word) ) then 1 else

if ( I senderc;

(send A ~jam A word A .. ready) v

(sendere A .,jam A .,word)

PAGE 2-1

} th.en 2 else

error(cvs($$adrs)&w: didn't assign any state!W)

prombegin

bit($go, bit($go_i, bit($load, bit($load_i, bit($idle, bit($idle_i, bit($stateO, bit($statel,

)]:

(spareA «send v sendere) A ~jam})};

(spareA ~«send v sendcrc) A ~jam»);

(spareA reload»:

(spareA ~reload»;

(sp~reA (idle A ~start»):

(spqreA ~(idle A ~start.»):

(SpareA (nextstate land dO»); (spareA (nextstate land dl»):

promend;

(25)

3 Jul 1989 18:25

TX.SAI[SUN,AVB]

begin "prmgen"

require "prom.sai" source!file;

$256;

define

carrier jam word ready spare9 sparel state9 statel

$go $go:,..1

$load $load i

$idle-Sidle i $state9 $statel

=[ a9],

=[ a 1],

=[ a2], =[ a3], =[a4], =[a5], =[a6], =[a7],

=[d9], =[d11, =[d2],

=[ d3],

=[ d4],

=[d5], =[d6], =[d7],

References

Related documents

Use the ping command to test connectivity to the Fast Ethernet interface of each router from its associated host computer. From H1, ping the R1 router Fast

Existing mass storage interfaces (SATA, SAS) connect to the host computer through host adapters that in turn connect to the PCIe interface.. The SATA interface was designed as a

100optical Ethernet 100Base-FX (Optical) Interface Disabled GigE_Optical Ethernet 1000Base-X (Optical) Interface Enabled GigE_Electrical Ethernet 1000Base-T (Electrical)

a) All equipment and piping shall be provided with high point vents and low point drains within isolation valves isolating equipment or process sections. All such vents and

Second, the viewer can set their interest level by moving a contact deeper into the tunnel e.g., if one moves a contact closer to the focal point, it will shrink, become blurred,

For the initial installation of the wireless cable modem, there must be an 802.11b/g Ethernet network interface card in your computer.. You will use the Ethernet network

Johns Hopkins Department of Computer Science Course 600.226: Data Structures, Professor: Jonathan Cohen. Queue Interface in Java Queue Interface

VASS Guidelines to Data Entry of School Assessments booklet (download in VASS) specific study information available on the individual study pages of the VCAA website..