VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru
com/ethernet-mac-feb22-notes/
+91-9986194191 [email protected] Course Calendar Course Registration Training Overview video Internship
Contact us
SESSION#1
notes:
1. OSI model
o ISO
1 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o Using SV
3. Schedule
4. Ethernet protocol
o Analogies
o Laptop ecosystem
2 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o ISO
o Networking
o customer
o WIFI
o Bluetooth
o software layer
3 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o we open the application where we see what all IP are connected in systme
o at bigger level(application and presentation layer level): Requesting for some packet transfers.
o This session layers, sets up a transfer session(file data is being transferred to your system)
o the DLL(~MAC) of the destination laptop, create ethernet frames using above session request.
o based on above session created(it knows where the movie file is present inside my(dest) laptop)
o it programs Ethernet MAC registers (handover is happening from software to hardware layer)
o these descriptors indicate to the Ethernet MAC where the data is present in harddisk.
o MAC performs read to this harddisk location, get the data. Cour
se Re
gistr
ation
o MAC DLL develops an ethernet frame
4 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o once these registers are configured, the overall work is now with hardware.
o frame teh ethernet frame using the movie data. o Laptop itself can be divided in to two parts
o this software layer gets requests from other node software layer
o Logical layer
o Physical layer
5 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o does the receiving device has enough space to accomodate whatever frames I am sending.
▪ analogy:
o we placed a order
o I am sending the frame, whether receiving side has space to accommodate what I am sending
o should I resend?
Cour
se Re
SESSION#2 gistr
ation
6 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
revision
1. Ethernet protocol
2. OSI model
o 7 layers: 2 categories
o software layers
o hardware layers
802.1 to 802.15
o 2 kind of startups
o ecommerce
o Arista
Agenda:
Cour
se Re
gistr
1. Ethernet protocol ation
7 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
2. MAC design
Notes:
1. terminologies
o MAC address
o 48 bits
o IP address
o 32 bit : IPv4
o IPv4
o IPv6
o they route the packet in the right direction based on the destination IP address.
o repeaters
o when the signal stregnth is lost, it makes sure to bring it to required level.
o LAN
o server
o where data is hosted, we can make request to get the data. Cour
se Re
gistr
ation
o topology
8 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o Wireless =>
o gateways
o firewall
o is it a MAC address?
o It is part of LAN
o is it a IP address?
9 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o when I access, 10.0.0.1 => it is part of LAN, response comes from inside LAN only.
o My laptop generates a frame => which it turn gets wrapper as IPv6 packet(or IPv4 packet)
o IPv6 uses 128 bit source address and 128 bit destination address
o ACT switch would have mapping of what www.vlsiguru.com destination IP address value.
o there might a connection between my laptop and ACT switch => which gives destination IP address.
o IPv6
o IPv6 packet gets routed through some algorithm, where it establishes that path for connecting to the final
10 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o That payload tells the destination(server), what part of website we want to access.
o which gets routed exactly in the same reverse path, how we sent request packet
o It decodes the payload, HTML browser understands the data, displays as wbesite content.
o IPv4
11 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
4. what is LAN?
▪ Network
6. Optical cables
o it requires advanced hardware which can transmit or receive the data at this speed.
12 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o this needs to be captured by a circuit o Small form factor converts electrical signal to optical signal
o 10G/100G
o 400G
o we need a mechansim where each node is able to sense whether bus is idle or bus has some packet/frame
being transmitted. => Carrier sense o Node needs to a mechansim to check if transmtited packet has got in
to collision with packet from some other node. => Collision detection o multiple access
9. Ethernet
o unicast
o multicast
o broadcast
Cour
se Re
o sending to all connected nodes gistr
ation
13 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
10. CRC?
o 32 bit polynomial
x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
0x82608EDB
32’b1000_0010_0110_0000_1000_1110_1101_1011 101)1101010110(
011 (how many upper most bits are 0, bring those many bits down from the dividend)
111
101 (XOR)
101
—-
101
—-
0111
101 Cour
se Re
gistr
ation
—
14 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
0101
101
o the receiveing node will send a pause frame(indicating how much time to pause)
o for that duration, transmitting node, will not send any frame.
Cour
se Re
gistr
ation
15 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o Host interface
o This is the interface through which Ethernet MAC is getting connected wtih the rest of the system.
o common concept in all most 80% of the complex designs you work on.
o CRC calcuation
o how to implement scoreboarding logic for design based on serial communication protocol
o we are going to work on complete flow from specification to regression setup and coverage analysis
16 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
16. Transfer of 100MB of data from my node to destination node, involves two steps
o Processor to MAC
o Harddisk to Processor
o Processor to MAC
17. What is the problem with Processor directly giving 100MB data to MAC?
o Processor gets occupied, it can’t do anything during that transfer time. => it is not a good idea to keep the
o Solution?
o MAC will create a ethernet frame using this data and send it to destination node.
18. How Processor will tell DMA engine, from where to read, how much data to read?
17 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o 16 bits : how much(how many bytes) of data to read from the hard disk?
o 32 bits : when I(Ethernet MAC) receives ethernet frame(it is getting payload), where that payload should be
stored to, which part of the harddisk this data should be stored to.
o 16 bits : how much(how many bytes) of data to write to the hard disk?
Cour
se Re
gistr
ation
18 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
– transmit descriptor is set of registers which are present inside Ethernet MAC(not exactly inside DMA engine)
o 16 bits length: 2*16 = 64KBytes o once DMA engine processor this descriptor, it starts reading from
32’h1000_0000 location o how many times does it read? o depends on size of data bus. lets say 32 bits, 4
bytes o 64KBytes => how many beats should happen totally = 16K = 161024 beats = 16396 beats
o by processing one transmit descriptor, DMA engine figures out that, it needs to get 64KB of data starting
– to get this much data, DMA engine does 1024 transactions of 16 burst lenght
19 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o to send whole data in minimal number of packets => hence take biggest possible size
SES#2
revision
1. Ethernet protocol
2. OSI model
o 7 layers: 2 categories
o software layers
o hardware layers
20 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o 2 kind of startups
o ecommerce
o Arista
Agenda:
1. Ethernet protocol
2. MAC design
Notes:
1. terminologies
o MAC address
o 48 bits
o IP address
o 32 bit : IPv4
o IPv4
Cour
se Re
o IPv6 gistr
ation
o switches & routers
21 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o they route the packet in the right direction based on the destination IP address.
o repeaters
o when the signal stregnth is lost, it makes sure to bring it to required level.
o LAN
o server
o topology
o Wireless =>
o gateways
o firewall
22 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o It is part of LAN
o is it a IP address?
o when I access, 10.0.0.1 => it is part of LAN, response comes from inside LAN only.
o My laptop generates a frame => which it turn gets wrapper as IPv6 packet(or IPv4 packet)
o IPv6 uses 128 bit source address and 128 bit destination address
23 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o IPv6
o IPv6 packet gets routed through some algorithm, where it establishes that path for connecting to the final
o it may be using some lookup tables, which tells in which direction packet should be forwarded.
o That payload tells the destination(server), what part of website we want to access.
o which gets routed exactly in the same reverse path, how we sent request packet
o It decodes the payload, HTML browser understands the data, displays as wbesite content.
24 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o IPv6
4. what is LAN?
▪ Network
25 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
6. Optical cables
o it requires advanced hardware which can transmit or receive the data at this speed.
o this needs to be captured by a circuit o Small form factor converts electrical signal to optical signal
o 10G/100G
o 400G
o we need a mechansim where each node is able to sense whether bus is idle or bus has some packet/frame
being transmitted. => Carrier sense o Node needs to a mechansim to check if transmtited packet has got in
to collision with packet from some other node. => Collision detection o multiple access
26 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
9. Ethernet
o unicast
o multicast
o broadcast
10. CRC?
o 32 bit polynomial
x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
0x82608EDB
32’b1000_0010_0110_0000_1000_1110_1101_1011 101)1101010110(
011 (how many upper most bits are 0, bring those many bits down from the dividend)
111
27 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
101
—-
101
—-
0111
101
0101
101
Cour
se Re
gistr
ation
28 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o the receiveing node will send a pause frame(indicating how much time to pause)
o for that duration, transmitting node, will not send any frame.
o Host interface
o This is the interface through which Ethernet MAC is getting connected wtih the rest of the system.
o common concept in all most 80% of the complex designs you work on.
Cour
se Re
o How high speed serial communication protocol is working gistr
ation
o packet transmission, receive
29 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o CRC calcuation
o how to implement scoreboarding logic for design based on serial communication protocol
o we are going to work on complete flow from specification to regression setup and coverage analysis
PCIe controller
16. Transfer of 100MB of data from my node to destination node, involves two steps
o Processor to MAC
o Harddisk to Processor
o Processor to MAC
17. What is the problem with Processor directly giving 100MB data to MAC?
o Processor gets occupied, it can’t do anything during that transfer time. => it is not a good idea to keep the
o Solution?
30 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o MAC will create a ethernet frame using this data and send it to destination node.
18. How Processor will tell DMA engine, from where to read, how much data to read?
o 32 bits : what is the harddisk address from where DMA engine should perform the data read.
o 16 bits : how much(how many bytes) of data to read from the hard disk?
o 32 bits : when I(Ethernet MAC) receives ethernet frame(it is getting payload), where that payload should be
stored to, which part of the harddisk this data should be stored to.
o 16 bits : how much(how many bytes) of data to write to the hard disk?
Cour
se Re
o 16 bits : control bits gistr
ation
o once I am done with this transfer, what to do?
31 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
– transmit descriptor is set of registers which are present inside Ethernet MAC(not exactly inside DMA engine)
o 16 bits length: 2*16 = 64KBytes o once DMA engine processor this descriptor, it starts reading from
32’h1000_0000 location o how many times does it read? o depends on size of data bus. lets say 32 bits, 4
bytes o 64KBytes => how many beats should happen totally = 16K = 161024 beats = 16396 beats
o by processing one transmit descriptor, DMA engine figures out that, it needs to get 64KB of data starting
32 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o to send whole data in minimal number of packets => hence take biggest possible size
SES#3
revision:
o transmit descriptor
o receive descriptor
33 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o MAC internally has a DMA which goes and read the harddisk memory.
o number of interfaces
o features
o develop testplan
o features, scenarios, test cases, description, status, if failing what is the reason
34 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
Notes:
o design interfaces:
o Transmit interface
o ex: 100MB movie file -> ethernet frames => preamble, sfd, da, sa, etc are tranmsitted on this infc
35 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o Receive interface
o MAC will use this interface to configure the MDI block behavior
o Block
o Host interface
o Register
o DMA implementation
o Tx MAC
o Rx MAC
36 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
2Q. what are following terms: deferral and back off algorithm, dribble nibbles
– deferal:
– back off
– dribble nibble
4Q. once repeat the whole clock circuitary, and how its proceeding?
▪ We are trying to minimize the number of external clocks provided to the MAC design
Cour
▪ we are only getting one clock (wb_clk) at host interface as an input se Re
gistr
ation
▪ same clock is given MII management module
37 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o summary:
2. registers
o control registers
38 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o these are Read only registers, processor can’t write to these registers
o processor can only get the design status by reading these registers.
o time to time, we get status from washing machine => those are like status registers
o how to measure complexity of a design? => number of control registers is directly proporational to the
design complexity
o why would I want increase number of control registers => I want to implement more features
o 100 < design => very complex => 24 weeks o in general, registers are 32 bit
39 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
SES#4
notes:
1. MODER
o MODE Register
o 32 bits
2. MODER
o RECSMALL
o PAD
o FULLD
o EXDFREN
o LOOPBACK
40 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
3. MINFL, MAXFL
o step#1
o load external memory with data(ex: movie file to sent to other laptop)
o step#2
o configure all the MAC control registers for required design(MAC) behavior
o step#3
o MAC understands that user(processor) wants me to start processing the incoming frames.
o MAC stores the data from incoming frames to the memory o MAC supports in total 128 descriptors
o ex: TD_BD_NUM=0x80 (128 descriptors), Transmit itself is utilizing all the buffer descriptors.
o ex: TD_BD_NUM=0x0 (0 descriptors), Transmit will not have any buffer descriptors. Recive will have all 128
Cour
se Re
buffer descriptors. gistr
ation
41 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
5Q. is there any specific reason to have reset value like this 0000a000h?
7. when MAC receive control frame(pause frame), it wants to tell processor that, “I have receive a pause frame”
o it generates an interrupt
o MAC will not transmit any data for pause amount of time.
o once processor has done required things, it will clear by writing ‘1’ to the INT_SOURCE
42 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
10Q. these error are notified by crc or any other process is also there?
12. IPG
96 bit times
24 nibble times
48 bit times
12 nibble times
o 12-3 = 9
SES#5
revision: Cour
se Re
gistr
ation
1. register description
43 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
▪ fields
▪ reset value
▪ type of access
agenda:
1. remaining registers
2. MAC features
questions:
Notes:
Cour
1. MII can do 3 things to the PHY se Re
gistr
ation
o write the control data to configure the PHY Media dependant interface(MDI)
44 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o Scan status
o MIIAddress
o MIITX_DATA
o MIIRX_DATA (processor will use this for reading the status data)
o MIICommand[2] = 1
o it requires 2 registers
32 + 16 bits(2nd registers)
45 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o processor configures TXCTRL registers with Pause time value, when to generate pause frame
o as soon as TXCTRL reigster[16] bit=1 is configured, Node1 generates Pause frame with pause time(15:0)
o 3 MODE registers
MODER
CTRLMODER
MIIMODER
o 2 interrupt registers
INTR_SOURCE
INTR_MASK
o IPGT
Cour
se Re
o IPGT, IPGR1, IPGR2 gistr
ation
o COLLCOFG
46 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o TX_BD_NUM
o MII
o MAC_ADDR0, MAC_ADDR1
o TX_CTRL
o HASH0, HASH1
testcase#1:
– RECSMALL=0
testcase#2:
– RECSMALL=1
if we start doing all thise, we will require how many testcases? 1000+ testcases
47 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o bridge components
o full duplex
o half duplex
o CSMA/CD
9. Reset
o MAC
o RST_I
o MIIM
o MIIMODER.MIIMRST=1
o PHY
o they are keeping 0x51 to 0x3ff as reserved space for future revision of Ethernet MAC
Cour
se Re
o in future revision, we may add anotehr 200 registers => 200 * 4 = 800 address range gistr
ation
48 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o bytes : 8
o total space for 128 BD’s = 128*8 = 1024 bytes => 0x400 space is required
o Base : 0x400
Cour
se Re
gistr
ation
49 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
12. within 0x400 – 0x7FF, we can allot required number of TX BD, remaining will be RX BD.
for this configuration, what will be TX_BD range, what will RX_BD range?
o TX_BD rnage =
o 0x400 to 0x47F
o RX_BD rnage =
o 0x480 to 0x7FF
o 112 BD * 8 addresses/BD =
13. LEN
o WHen Ethernet MAC is processing this TX descriptor, LEN indeidates, how many bytes MAC-DMA should read
DMA should perform WB read txs to read 512 bytes from the external memory.
50 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o end address= 32’h1000_0000 + 16’200 – 1 = 32’h1000_01FF o lets say, there are totally 40 TX_B_DESCR
starting = 32’h1000_0200
ending = 32’h1000_03FF
starting = 32’h1000_0400
SES#5
revision:
51 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
▪ reset value
▪ type of access
agenda:
1. remaining registers
2. MAC features
questions:
Notes:
52 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o Scan status
o MIIAddress
o MIITX_DATA
o MIIRX_DATA (processor will use this for reading the status data)
o MIICommand[2] = 1
o it requires 2 registers
32 + 16 bits(2nd registers)
Flow:
Cour
se Re
o Node2 is sending data to me. gistr
ation
o this data is stored in to system memory
53 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o processor configures TXCTRL registers with Pause time value, when to generate pause frame
o as soon as TXCTRL reigster[16] bit=1 is configured, Node1 generates Pause frame with pause time(15:0)
o 3 MODE registers
MODER
CTRLMODER
MIIMODER
o 2 interrupt registers
INTR_SOURCE
INTR_MASK
o IPGT
54 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o MII
o MAC_ADDR0, MAC_ADDR1
o TX_CTRL
o HASH0, HASH1
testcase#1:
– RECSMALL=0
testcase#2:
– RECSMALL=1
if we start doing all thise, we will require how many testcases? 1000+ testcases
Cour
7. Only design in VLSI chips, which don’t have registers are ? se Re
gistr
ation
o bridge components
55 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o full duplex
o half duplex
o CSMA/CD
9. Reset
o MAC
o RST_I
o MIIM
o MIIMODER.MIIMRST=1
o PHY
o they are keeping 0x51 to 0x3ff as reserved space for future revision of Ethernet MAC
o in future revision, we may add anotehr 200 registers => 200 * 4 = 800 address range
Cour
se Re
gistr
ation
11. why is this space ending with 0x7FF?
56 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o bytes : 8
o total space for 128 BD’s = 128*8 = 1024 bytes => 0x400 space is required
o Base : 0x400
12. within 0x400 – 0x7FF, we can allot required number of TX BD, remaining will be RX BD.
for this configuration, what will be TX_BD range, what will RX_BD range?
o TX_BD rnage =
o 0x400 to 0x47F
o RX_BD rnage =
o 0x480 to 0x7FF
o 112 BD * 8 addresses/BD =
Cour
se Re
o if TX_BD0 is at 0x10, next TX_BD1 address=0x18, next = 0x20 gistr
ation
57 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
13. LEN
o WHen Ethernet MAC is processing this TX descriptor, LEN indeidates, how many bytes MAC-DMA should read
DMA should perform WB read txs to read 512 bytes from the external memory.
o TXPNT=32’h1000_0000
o end address= 32’h1000_0000 + 16’200 – 1 = 32’h1000_01FF o lets say, there are totally 40 TX_B_DESCR
starting = 32’h1000_0200
ending = 32’h1000_03FF
58 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
SES#6
1. BD
o transmit
o receive
o data packets
3. verification flow
o testplan
o scenario
o testbench architecture
Cour
se Re
o testbench development gistr
ation
o testcase coding
59 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o verification closure
o register testing
o reset
o modes
o full duplex
o control frame
o flow control
o RX Flow control
o TX Flow control
o PASS All
o half duplex
60 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o unicast
o multicast
o HASH0, HASH1
o broadcast
o interrupt
o small packets
o padding enabled
o normal packets
o larger packets
o crc enabled
o packet length
o loopback
o promiscuous mode
o MII
o CLock division
o MIINOPRE
61 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o read
o scan
o Error conditions
o Dribble nibble
o overrun
o underrun
o too long
o short
o Buffer descriptors
o Tx
o Tx BD ready
o IRQ
o Wrap
o Underrun
o RTRY
o Retrasmission Limit
62 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o CS lost
o Rx
o LEN
o Empty
o IRQ
o Wrap
o Control frame
o Miss
o Overrun
o Invalid Symbol
o Dribble Nibble
o Too long
o Short frame
o Rx CRC error
o Late collision
▪ optimal number of testcases, we can use to check all above featurs and scenarios.
o 1000 testcases => it becomes too many, takes a lot of time to run. It delays overall project.
Cour
se Re
o 5 testcases => it becomes very few testcases, many features getting tested in same testcase, when gisthat
trati
on
testcase fails, it takes time to figure out, what actually caused the failure.
63 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
▪ Ethernet MAC
SES#7
No project started
end
else begin
64 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
end
else begin
end
end
o P1
o basic tests: register wr-rd, register reset, basic MAC transmit and receive tests
o 2-3 weeks
o P2
o 8-10 weeks
o P3
o 6 weeks
o advanced testcases
o error
Cour
se Re
o concurrent transfer tests gistr
ation
65 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o what is guarantee that our testplan is checking everything in the design? what is some feature or some
o We will have another verification engineer(not the person who developed testplan) to list down the
Cour
se Re
gistr
ation
66 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
5. functional coverage point listing down ==> these will be implemented in to .sv file
o MAC DA coverage
o MAC SA coverage
o primary motive: Make sure that design is bug(error) free for all design features.
7. TB architecture
67 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o MAC tx interface
o MAC rx interface
o MII interface
o VPN connection, login to server, copy RTL code to your home directory => S0
68 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o implement register access tests o Implement the PHY Interface VIP => S5
o any design verification we do, whether register access is working fine or not.
69 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
SES#8
o Install VPN
o VPN username and password is different from server login username and password
o https://www.youtube.com/watch?v=R7tv7Mw8M5s
2. login to server
o putty
o vnc viewer
password: vlsiguru
70 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o enter 10.0.0.19:
o enter 10.0.0.19:9
o open a terminal
o tcsh
o move to t-shell
o source /home/tools/mentor/cshrc_mentor
o if institute admin restarts the server, then your VNC won’t be valid.
o mkdir ETH_MAC
o cd ETH_MAC
o cp -rf /home/vlsiguru/FUNCTIONAL_VERIFICATION/ETHERNET_MAC/rtl .
71 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
1. institute building
/institute/grnd_flr/room_no1:/institute/grnd_flr/room_no2:/institute/1st_floor/room_no1
2.
1. Apply reset
o wb master generator
o reference model
SES#10
72 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
SES#11
▪ 80/4 + 1 = 21
checks:
o 1st check
o 2nd check?
o 3rd check?
is read data matching the data from the spec? => we will check manually from waveform(later we will
Cour
implement in checker) se Re
gistr
ation
o register reset testcase is passing.
73 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
cadence: wave.rc
temp_wb_dat_o:
– 524
74 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
rdata = 0000_b68a
o we should write 0’s to all reserved and Read only fields o bitwise and operator
SES#11 WEEKEND
o VPN connection, login to server, copy RTL code to your home directory => S0
75 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
2. Revision
o Ethernet protocol
o testplan development
o TB environment development
3. SV
SES#12
revision:
76 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o dataflow tracing helps us reach that point from where this data is originating.
o Debugging
o ability to figure out the cause(point from where things are going wrong) of failure
o 50% of your time only goes in debugging the failures => 8 hours => 4 hours will spent on some kind of
debugging
notes:
Cour
se Re
gistr
ation
77 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o functional test
o some functionality inside design will result in above register value getting updated.
3. register testcases
o register write-read
o 4 combinations : FD Wr – FD RD
78 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
o Write to RO register, read back those registers, data should not match(data should match with default
data)
SES#13
1. test_fd_tx
SES#14
▪ develop memory
▪ testcase development
79 of 80 10-12-2022, 02:32
VLSI Guru Ethernet-Mac-feb22-notes - VLSI Guru https://www.vlsiguru.com/ethernet-mac-feb22-notes/
© 2022 - VLSI Guru. All rights reserved | Design & Developed by Renavo Go To Top
Cour
se Re
gistr
ation
80 of 80 10-12-2022, 02:32