SlideShare a Scribd company logo
2
Most read
3
Most read
4
Most read
WWiisshhbboonnee TTuuttoorriiaallss 
GGooookkyyii DDeennnniiss AA.. NN.. 
SSooCC DDeessiiggnn LLaabb.. 
October.17.2014
CCoonntteenntt 
 Round-Robin Arbiter Module 
2
RRoouunndd--RRoobbiinn AArrbbiitteerr 
 In a shared bus, the arbiter determines which 
master can use the bus 
 The bus is granted on a rotary basis much like the 
four position rotary switch shown below: 
 When a master relinquishes the bus, the switch is 
turned to the next position and the bus is granted 
to the master on the level 
 In this way all masters are granted the bus on an 
equal basis 
3 
MASTER #0 
MASTER #3 
MASTER #2 
MASTER #1
RRoouunndd--RRoobbiinn AArrbbiitteerr 
 Arbiter general topology: 
4 
LASMAS 
STATE 
MACHINE 
REGISTER 
COMCYC 
LOGIC 
ENCODER 
LOGIC 
ARBITRATION 
LOGIC 
GNT3 GNT3 
GNT2 
GNT1 
GNT0 
GNT2 
GNT1 
GNT0 
GNT(1..0) 
CLK 
CLK 
CLK 
LMAS1 
LMAS0 
RST 
CYC3 
CYC2 
CYC1 
CYC0 
RST_I 
COMCYC 
LASMAS 
CE
RRoouunndd--RRoobbiinn AArrbbiitteerr 
 Bus requests arrive at inputs [ CYC0] to [CYC3] 
 If bus is free, one of the 4 grant lines ([GNT0] to 
[GNT1]) is asserted which corresponds to the 
request signals 
5
Round-RRoobbiinn AArrbbiitteerr:: CCOOMMCCYYCC 
 The [COMCYC] indicates whether the bus is free or 
busy 
 It is asserted whenever a master has both requested 
the bus and has been granted the bus by the arbiter 
6
Round-RRoobbiinn AArrbbiitteerr:: CCOOMMCCYYCC 
 Inputs and outputs: 
 COMCYC logic diagram: 
GNT_3 
COMCYC = (CYC3 & GNT3)||(CYC2 & GNT2)|| (CYC1 & GNT1)||(CYC0 & GNT0); 
7 
Inputs Output 
CYC_3, CYC_2, CYC_1, CYC_0 
GNT_3, GNT_2, GNT_1, GNT_0 
COMCYC 
CYC_3 
CYC_2 
GNT_2 
CYC_1 
GNT_1 
CYC_0 
GNT_0 
COMCYC
Round-Robin AArrbbiitteerr:: EEnnccooddeerr LLooggiicc 
 Grant line [GNT0] to [GNT3] are encoded as 
[GNT(1..0)] 
 This is used with the [COMCYC] signal to indicate 
which master has been granted the bus 
 When [COMCYC] is asserted, the master located on 
[GNT(1..0)] is granted the bus 
8
Round-Robin AArrbbiitteerr:: EEnnccooddeerr LLooggiicc 
 Inputs and outputs: 
 Encoder logic diagram: 
9 
Inputs Outputs 
GNT_3, GNT_2, GNT_1, GNT_0 GNT[1], GNT[0] 
GNT_3 
GNT_1 
GNT[1] = GNT_2 || GNT_3 
GNT[0] = GNT3 || GNT1 
GNT_2 
0 
0 
0 
0 
0 
GNT_3 GNT_2 GNT_1 GNT_0 GNT[1] GNT[0] 
0 0 0 1 0 0 
0 0 1 0 0 1 
0 1 0 0 1 0 
1 0 0 0 1 1
Round-RRoobbiinn AArrbbiitteerr:: LLAASSMMAASS 
 Round-robin arbiters keep track of the level of the 
previous master 
 The level is saved in a register that latches the 
state of grant signals [GNT(1..0)] 
 The register latches the grant signal when 
indicated by the LASMAS state machine 
10 
CE
Round-RRoobbiinn AArrbbiitteerr:: LLAASSMMAASS 
 LASMAS state machine: state diagram 
State = {EDG,LASMAS} 
 Input logic: 
Input = BEG 
BEG= (CYC0 || CYC1 || CYC2 || CYC3) & (~COMCYC); 
 From the state diagram: 
EDG= ( BEG & ~EDG & LASMAS) || ( BEG & EDG & ~LASMAS ); 
LASMAS = ( BEG & ~EDG & ~LASMAS ); 11 
CYC0 
CYC1 
CYC2 
CYC3 
COMCYC 
BEG
Round-Robin AArrbbiitteerr:: BBuuss TTooppoollooggyy 
 The arbitration logic is as below: 
12 
MASTER #0 
MASTER #3 
MASTER #2 
MASTER #1
Round-Robin AArrbbiitteerr:: BBuuss TTooppoollooggyy 
 The arbitration logic is as below: 
GNT0 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & ~CYC3 & ~CYC2 & ~CYC1 & CYC0 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC0 ) 
|| ( ~RST & COMCYC & GNT0 ); 
GNT1 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC1 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC1 & ~CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC1 & ~CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC1 ~CYC0 ) 
|| ( ~RST & COMCYC & GNT1 ); 
GNT2 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 CYC2 & ~CYC1 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 CYC2 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC2 & ~CYC1 & ~CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 CYC2 & ~CYC1 & ~CYC0 ) 
|| ( ~RST & COMCYC & GNT2 ); 
GNT3 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC3 & ~CYC2 & ~CYC1 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & CYC3 & ~CYC2 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & CYC3 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC3 & ~CYC2 & ~CYC1 & ~CYC0 ) 
13 
MASTER #0 
MASTER #3 
MASTER #2 
MASTER #1
Round-Robin AArrbbiitteerr:: BBuuss TTooppoollooggyy 
 The arbitration logic is as below: 
GNT0 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & ~CYC3 & ~CYC2 & ~CYC1 & CYC0 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC0 ) 
|| ( ~RST & COMCYC & GNT0 ); 
GNT1 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC1 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC1 & ~CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC1 & ~CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC1 ~CYC0 ) 
|| ( ~RST & COMCYC & GNT1 ); 
GNT2 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 CYC2 & ~CYC1 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 CYC2 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC2 & ~CYC1 & ~CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 CYC2 & ~CYC1 & ~CYC0 ) 
|| ( ~RST & COMCYC & GNT2 ); 
GNT3 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC3 & ~CYC2 & ~CYC1 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & CYC3 & ~CYC2 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & CYC3 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC3 & ~CYC2 & ~CYC1 & ~CYC0 ) 
14 
MASTER #0 
MASTER #3 
MASTER #2 
MASTER #1
Round-Robin AArrbbiitteerr:: BBuuss TTooppoollooggyy 
 The arbitration logic is as below: 
GNT0 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & ~CYC3 & ~CYC2 & ~CYC1 & CYC0 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC0 ) 
|| ( ~RST & COMCYC & GNT0 ); 
GNT1 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC1 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC1 & ~CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC1 & ~CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC1 ~CYC0 ) 
|| ( ~RST & COMCYC & GNT1 ); 
GNT2 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 CYC2 & ~CYC1 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 CYC2 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC2 & ~CYC1 & ~CYC0 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 CYC2 & ~CYC1 & ~CYC0 ) 
|| ( ~RST & COMCYC & GNT2 ); 
GNT3 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC3 & ~CYC2 & ~CYC1 ) 
|| ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & CYC3 & ~CYC2 ) 
|| ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & CYC3 ) 
|| ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC3 & ~CYC2 & ~CYC1 & ~CYC0 ) 
15 
MASTER #0 
MASTER #3 
MASTER #2 
MASTER #1
RRoouunndd--RRoobbiinn AArrbbiitteerr 
 Code 
16
RRoouunndd--RRoobbiinn AArrbbiitteerr 
 Code: 
17
RRoouunndd--RRoobbiinn AArrbbiitteerr 
 RTL schematic 
18
RRoouunndd--RRoobbiinn AArrbbiitteerr 
 Testbench 
19
Round-RRoobbiinn AArrbbiitteerr:: wwaavveeffoorrmm 
 Cyc0 request and is granted the bus 
20 
cyc0 is granted the 
bus
Round-RRoobbiinn AArrbbiitteerr:: wwaavveeffoorrmm 
 Cyc1 and cyc2 both request the bus at the same time 
21 
comcyc is negated to 
indicate that the bus 
is free
Round-RRoobbiinn AArrbbiitteerr:: wwaavveeffoorrmm 
 Bus granted to cyc1 
22 
Bus granted to cyc1 
because it is next in line
Round-RRoobbiinn AArrbbiitteerr:: wwaavveeffoorrmm 
 Cyc3 request for bus and is granted 
23 
Bus granted to cyc3

More Related Content

PPT
Wishbone classic bus cycle
PPT
Verilog hdl design examples
PPT
Wishbone interface and bus cycles
PDF
Wishbone
PDF
Unit II Arm 7 Introduction
PDF
Difference Between CISC RISC, Harward & Von-neuman
PDF
Ixiaexplorer
PPTX
PIC16F877A interfacing with LCD
Wishbone classic bus cycle
Verilog hdl design examples
Wishbone interface and bus cycles
Wishbone
Unit II Arm 7 Introduction
Difference Between CISC RISC, Harward & Von-neuman
Ixiaexplorer
PIC16F877A interfacing with LCD

What's hot (20)

PDF
JTAG Interface (Intro)
DOCX
Arm7 Interfacing examples
PPTX
Pin diagram 8085 and explanation of 8085 microprocessor.
PPTX
Design for testability and automatic test pattern generation
PDF
Session 2,3 FPGAs
PDF
MIPI DevCon 2016: A Developer's Guide to MIPI I3C Implementation
PPTX
3.programmable interrupt controller 8259
PPTX
AMBA AHB 5
PPT
Uart
PDF
8085 Architecture
PPT
PDF
Jtag presentation
PPTX
ARM stacks, subroutines, Cortex M3, LPC 214X
PPTX
8254 Programmable Interval Timer
PDF
Verification Strategy for PCI-Express
PPTX
4.programmable dma controller 8257
PDF
ARM Architecture
PPT
Interrupt programming with 8051 microcontroller
DOCX
Real Time Clock Interfacing with FPGA
JTAG Interface (Intro)
Arm7 Interfacing examples
Pin diagram 8085 and explanation of 8085 microprocessor.
Design for testability and automatic test pattern generation
Session 2,3 FPGAs
MIPI DevCon 2016: A Developer's Guide to MIPI I3C Implementation
3.programmable interrupt controller 8259
AMBA AHB 5
Uart
8085 Architecture
Jtag presentation
ARM stacks, subroutines, Cortex M3, LPC 214X
8254 Programmable Interval Timer
Verification Strategy for PCI-Express
4.programmable dma controller 8257
ARM Architecture
Interrupt programming with 8051 microcontroller
Real Time Clock Interfacing with FPGA
Ad

Viewers also liked (16)

PDF
An Implementation of I2C Slave Interface using Verilog HDL
PDF
Report star topology using noc router
PDF
User guide wishbone serializer
PDF
Notes: Verilog Part 4- Behavioural Modelling
PPTX
Designing of fifo and serial peripheral interface protocol using Verilog HDL
PPTX
Verilog
PPT
(Latest) topic 5 field_effect_transistors
PDF
Verilog HDL Training Course
PPTX
faults in digital systems
PPT
Behavioral modeling
PPTX
Ethertnet data transfer.ppt
DOCX
verilog code
PDF
Ejercicios de-programacic3b3n-resueltos-con-step-7
PPTX
basic concepts of reliability
PDF
Verilog hdl-synthesis-a-practical-primer-j-bhasker
PPTX
Verilog HDL
An Implementation of I2C Slave Interface using Verilog HDL
Report star topology using noc router
User guide wishbone serializer
Notes: Verilog Part 4- Behavioural Modelling
Designing of fifo and serial peripheral interface protocol using Verilog HDL
Verilog
(Latest) topic 5 field_effect_transistors
Verilog HDL Training Course
faults in digital systems
Behavioral modeling
Ethertnet data transfer.ppt
verilog code
Ejercicios de-programacic3b3n-resueltos-con-step-7
basic concepts of reliability
Verilog hdl-synthesis-a-practical-primer-j-bhasker
Verilog HDL
Ad

More from dennis gookyi (13)

PPT
Verilog HDL Verification
PPT
Synthesis
PPT
System design methodology
PPTX
Design options for digital systems
PPT
Encoder decoder
PPT
Advanced modeling techniques
PPT
4 bit add sub
PPT
Hierachical structural modeling
PPT
Biosensors
PPT
structural modeling, hazards
PPT
Verilog hdl
PPTX
Finite state machines
PPTX
test generation
Verilog HDL Verification
Synthesis
System design methodology
Design options for digital systems
Encoder decoder
Advanced modeling techniques
4 bit add sub
Hierachical structural modeling
Biosensors
structural modeling, hazards
Verilog hdl
Finite state machines
test generation

Recently uploaded (20)

PDF
Digital Logic Computer Design lecture notes
PDF
PPT on Performance Review to get promotions
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
additive manufacturing of ss316l using mig welding
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
Lecture Notes Electrical Wiring System Components
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
web development for engineering and engineering
PPTX
Geodesy 1.pptx...............................................
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Sustainable Sites - Green Building Construction
Digital Logic Computer Design lecture notes
PPT on Performance Review to get promotions
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
R24 SURVEYING LAB MANUAL for civil enggi
additive manufacturing of ss316l using mig welding
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
CH1 Production IntroductoryConcepts.pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
Lecture Notes Electrical Wiring System Components
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
web development for engineering and engineering
Geodesy 1.pptx...............................................
Automation-in-Manufacturing-Chapter-Introduction.pdf
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
OOP with Java - Java Introduction (Basics)
Sustainable Sites - Green Building Construction

Wishbone tutorials

  • 1. WWiisshhbboonnee TTuuttoorriiaallss GGooookkyyii DDeennnniiss AA.. NN.. SSooCC DDeessiiggnn LLaabb.. October.17.2014
  • 3. RRoouunndd--RRoobbiinn AArrbbiitteerr  In a shared bus, the arbiter determines which master can use the bus  The bus is granted on a rotary basis much like the four position rotary switch shown below:  When a master relinquishes the bus, the switch is turned to the next position and the bus is granted to the master on the level  In this way all masters are granted the bus on an equal basis 3 MASTER #0 MASTER #3 MASTER #2 MASTER #1
  • 4. RRoouunndd--RRoobbiinn AArrbbiitteerr  Arbiter general topology: 4 LASMAS STATE MACHINE REGISTER COMCYC LOGIC ENCODER LOGIC ARBITRATION LOGIC GNT3 GNT3 GNT2 GNT1 GNT0 GNT2 GNT1 GNT0 GNT(1..0) CLK CLK CLK LMAS1 LMAS0 RST CYC3 CYC2 CYC1 CYC0 RST_I COMCYC LASMAS CE
  • 5. RRoouunndd--RRoobbiinn AArrbbiitteerr  Bus requests arrive at inputs [ CYC0] to [CYC3]  If bus is free, one of the 4 grant lines ([GNT0] to [GNT1]) is asserted which corresponds to the request signals 5
  • 6. Round-RRoobbiinn AArrbbiitteerr:: CCOOMMCCYYCC  The [COMCYC] indicates whether the bus is free or busy  It is asserted whenever a master has both requested the bus and has been granted the bus by the arbiter 6
  • 7. Round-RRoobbiinn AArrbbiitteerr:: CCOOMMCCYYCC  Inputs and outputs:  COMCYC logic diagram: GNT_3 COMCYC = (CYC3 & GNT3)||(CYC2 & GNT2)|| (CYC1 & GNT1)||(CYC0 & GNT0); 7 Inputs Output CYC_3, CYC_2, CYC_1, CYC_0 GNT_3, GNT_2, GNT_1, GNT_0 COMCYC CYC_3 CYC_2 GNT_2 CYC_1 GNT_1 CYC_0 GNT_0 COMCYC
  • 8. Round-Robin AArrbbiitteerr:: EEnnccooddeerr LLooggiicc  Grant line [GNT0] to [GNT3] are encoded as [GNT(1..0)]  This is used with the [COMCYC] signal to indicate which master has been granted the bus  When [COMCYC] is asserted, the master located on [GNT(1..0)] is granted the bus 8
  • 9. Round-Robin AArrbbiitteerr:: EEnnccooddeerr LLooggiicc  Inputs and outputs:  Encoder logic diagram: 9 Inputs Outputs GNT_3, GNT_2, GNT_1, GNT_0 GNT[1], GNT[0] GNT_3 GNT_1 GNT[1] = GNT_2 || GNT_3 GNT[0] = GNT3 || GNT1 GNT_2 0 0 0 0 0 GNT_3 GNT_2 GNT_1 GNT_0 GNT[1] GNT[0] 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1
  • 10. Round-RRoobbiinn AArrbbiitteerr:: LLAASSMMAASS  Round-robin arbiters keep track of the level of the previous master  The level is saved in a register that latches the state of grant signals [GNT(1..0)]  The register latches the grant signal when indicated by the LASMAS state machine 10 CE
  • 11. Round-RRoobbiinn AArrbbiitteerr:: LLAASSMMAASS  LASMAS state machine: state diagram State = {EDG,LASMAS}  Input logic: Input = BEG BEG= (CYC0 || CYC1 || CYC2 || CYC3) & (~COMCYC);  From the state diagram: EDG= ( BEG & ~EDG & LASMAS) || ( BEG & EDG & ~LASMAS ); LASMAS = ( BEG & ~EDG & ~LASMAS ); 11 CYC0 CYC1 CYC2 CYC3 COMCYC BEG
  • 12. Round-Robin AArrbbiitteerr:: BBuuss TTooppoollooggyy  The arbitration logic is as below: 12 MASTER #0 MASTER #3 MASTER #2 MASTER #1
  • 13. Round-Robin AArrbbiitteerr:: BBuuss TTooppoollooggyy  The arbitration logic is as below: GNT0 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & ~CYC3 & ~CYC2 & ~CYC1 & CYC0 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC0 ) || ( ~RST & COMCYC & GNT0 ); GNT1 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC1 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC1 & ~CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC1 & ~CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC1 ~CYC0 ) || ( ~RST & COMCYC & GNT1 ); GNT2 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 CYC2 & ~CYC1 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 CYC2 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC2 & ~CYC1 & ~CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 CYC2 & ~CYC1 & ~CYC0 ) || ( ~RST & COMCYC & GNT2 ); GNT3 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC3 & ~CYC2 & ~CYC1 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & CYC3 & ~CYC2 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & CYC3 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC3 & ~CYC2 & ~CYC1 & ~CYC0 ) 13 MASTER #0 MASTER #3 MASTER #2 MASTER #1
  • 14. Round-Robin AArrbbiitteerr:: BBuuss TTooppoollooggyy  The arbitration logic is as below: GNT0 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & ~CYC3 & ~CYC2 & ~CYC1 & CYC0 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC0 ) || ( ~RST & COMCYC & GNT0 ); GNT1 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC1 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC1 & ~CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC1 & ~CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC1 ~CYC0 ) || ( ~RST & COMCYC & GNT1 ); GNT2 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 CYC2 & ~CYC1 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 CYC2 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC2 & ~CYC1 & ~CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 CYC2 & ~CYC1 & ~CYC0 ) || ( ~RST & COMCYC & GNT2 ); GNT3 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC3 & ~CYC2 & ~CYC1 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & CYC3 & ~CYC2 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & CYC3 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC3 & ~CYC2 & ~CYC1 & ~CYC0 ) 14 MASTER #0 MASTER #3 MASTER #2 MASTER #1
  • 15. Round-Robin AArrbbiitteerr:: BBuuss TTooppoollooggyy  The arbitration logic is as below: GNT0 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & ~CYC3 & ~CYC2 & ~CYC1 & CYC0 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC0 ) || ( ~RST & COMCYC & GNT0 ); GNT1 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC1 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & ~CYC3 & ~CYC2 & CYC1 & ~CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC1 & ~CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC1 ~CYC0 ) || ( ~RST & COMCYC & GNT1 ); GNT2 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 CYC2 & ~CYC1 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 CYC2 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & ~CYC3 & CYC2 & ~CYC1 & ~CYC0 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 CYC2 & ~CYC1 & ~CYC0 ) || ( ~RST & COMCYC & GNT2 ); GNT3 = ( ~RST & ~COMCYC & ~LMAS1 & ~LMAS0 & CYC3 & ~CYC2 & ~CYC1 ) || ( ~RST & ~COMCYC & ~LMAS1 & LMAS0 & CYC3 & ~CYC2 ) || ( ~RST & ~COMCYC & LMAS1 & ~LMAS0 & CYC3 ) || ( ~RST & ~COMCYC & LMAS1 & LMAS0 & CYC3 & ~CYC2 & ~CYC1 & ~CYC0 ) 15 MASTER #0 MASTER #3 MASTER #2 MASTER #1
  • 20. Round-RRoobbiinn AArrbbiitteerr:: wwaavveeffoorrmm  Cyc0 request and is granted the bus 20 cyc0 is granted the bus
  • 21. Round-RRoobbiinn AArrbbiitteerr:: wwaavveeffoorrmm  Cyc1 and cyc2 both request the bus at the same time 21 comcyc is negated to indicate that the bus is free
  • 22. Round-RRoobbiinn AArrbbiitteerr:: wwaavveeffoorrmm  Bus granted to cyc1 22 Bus granted to cyc1 because it is next in line
  • 23. Round-RRoobbiinn AArrbbiitteerr:: wwaavveeffoorrmm  Cyc3 request for bus and is granted 23 Bus granted to cyc3