SlideShare a Scribd company logo
1 of 19
Hanbat
Hanbat
National
National
University
University
Wishbone InterfaceWishbone Interface
SpecificationSpecification
andand
Classic Bus CycleClassic Bus Cycle
NameName
SoC Design Lab.SoC Design Lab.
June.19.2014
ContentsContents
 Interface Specification
 Classic Bus Cycle
2
Wishbone DatasheetWishbone Datasheet
 Wishbone specification requires that interfaces
must be documented through a wishbone datasheet
 The standard does not specify the form of the
datasheet
 The datasheet could be part of a comment field in
an HDL source file or part of the reference manual
for the IP core
 The datasheet helps end users understand the
operation of the core and how to connect it to
other cores
3
Wishbone DatasheetWishbone Datasheet
 8-bit wishbone slave output port
4
Description Specification
General description: 8-bit slave output port
Supported cycles: SLAVE, READ/WRITE
SLAVE, BLOCK READ/WRITE
SLAVE, RMW
Data port, size:
Data port, granularity:
Data port: max operand size:
Data transfer ordering:
Data transfer sequencing:
8-bit
8-bit
8-bit
Big endian and/or little endian
Undefined
Supported signal list and
cross reference to equivalent
WISHBONE signals
Signal name wishbone
equiv.
ACK_O ACK_O
CLK_I CLK_I
DAT_I(7..0) DAT_I()
DAT_O(7..0) DAT_O()
RST_I RST_I
STB_I STB_I
WE_I WE_I
RESET
CE
D Q
DAT_O(7..0)
DAT_I(7..0)
CLK_I
RST_I
ACK_O
STB_I
WE_I
Signal NamingSignal Naming
 Signal names must adhere to the rules of the tool
in which the IP core was designed
 Any signal name may be used to describe wishbone
signals but it is recommended to use the standard
names
5
Logic LevelsLogic Levels
 All wishbone interface signals must use active high
logic
 Generally, active low signals does not present a
problem
 However, some tools do not have a standard way of
indicating an active low signal
 Using [#RST_I], [/RST_I] or [N_RST_I] to represent
active low reset may cause confusion among users
and incompatibility between modules
6
Wishbone Signal DescriptionWishbone Signal Description
 SYSCON module signals
7
Signal name description
CLK_O It coordinates all activities for
the internal logic within the
WISHBONE interconnect.
The INTERCON module
connects the [CLK_O] output
to the [CLK_I] input on
MASTER and SLAVE
interfaces.
RST_O It forces all WISHBONE
interfaces to restart. All
internal self-starting state
machines are forced into an
initial state. The INTERCON
connects the [RST_O] output
to the [RST_I] input on
MASTER and SLAVE
interfaces
RST_I
CLK_I CLK_I
DAT_IO DAT_IO
WE_O WE_I
STB_O STB_O
ACK_I ACK_O
CYC_O CYC_I
TG_IO TG_IO
SYSCON
WISHBONEMASTER
WISHBONESLAVE
CLK_ORST_O
Wishbone Signal DescriptionWishbone Signal Description
 Signals common to MASTER and SLAVE interfaces
8
Signal
name
Description
CLK_I All WISHBONE output signals are registered at the rising edge
of [CLK_I]. All WISHBONE input signals are stable before the rising
edge of [CLK_I].
DAT_I() The data input array [DAT_I()] is used to pass binary data. The array
boundaries are determined by the port size, with a maximum port
size of 64-bits (e.g. [DAT_I(63..0)]).
DAT_O() The data output array [DAT_O()] is used to pass binary data. The
array boundaries are determined by the port size, with a maximum
port size of 64-bits (e.g. [DAT_I(63..0)]).
RST_I() The reset input [RST_I] forces the WISHBONE interface to restart
TGD_I() Data tag type [TGD_I()] is used on MASTER and SLAVE interfaces.
It contains information that is associated with the data input array
[DAT_I()], and is qualified by
signal [STB_I].
TGD_O(
)
Data tag type [TGD_O()] is used on MASTER and SLAVE
interfaces. It contains information that is associated with the data
output array [DAT_O()], and is qualified by signal [STB_O]
88
RST_I
CLK_I CLK_I
DAT_IO DAT_IO
WE_O WE_I
STB_O STB_O
ACK_I ACK_O
CYC_O CYC_I
TG_IO TG_IO
SYSCON
WISHBONEMASTER
WISHBONESLAVE
Wishbone Signal DescriptionWishbone Signal Description
 MASTER signals
9
Signal
name
Description
ACK_I The acknowledge input [ACK_I], when
asserted, indicates the normal termination
of a bus cycle
CYC_O The cycle output [CYC_O], when asserted,
indicates that a valid bus cycle is in
progress
STALL_I The pipeline stall input [STALL_I] indicates
that current slave is not able to accept the
transfer in the transaction queue
ERR_I The error input [ERR_I] indicates an
abnormal cycle termination
RTY_I The retry input [RTY_I] indicates that the
interface is not ready to accept or send
data, and that the cycle should be retried
STB_O The strobe output [STB_O] indicates a
valid data transfer cycle
WE_O The write enable output [WE_O] indicates
whether the current local bus cycle is a
READ or WRITE cycle
RST_I
CLK_I CLK_I
DAT_IO DAT_IO
WE_O WE_I
STB_O STB_O
ACK_I ACK_O
CYC_O CYC_I
TG_IO TG_IO
SYSCON
WISHBONEMASTER
WISHBONESLAVE
Wishbone Signal DescriptionWishbone Signal Description
 SLAVE signals
10
Signal name Description
ACK_O The acknowledge output [ACK_O], when
asserted, indicates the termination of a normal
bus cycle
CYC_I The cycle input [CYC_I], when asserted,
indicates that a valid bus cycle is in progress
STALL_O The pipeline stall signal [STALL_O] indicates
that the slave can not accept additional
transactions in its queue
ERR_O The error output [ERR_O] indicates an abnormal
cycle termination
RTY_O The retry output [RTY_O] indicates that the
indicates that the interface is not ready to
accept or send data, and that the cycle should
be retried
STB_I The strobe input [STB_I], when asserted,
indicates that the SLAVE is selected. A SLAVE
shall respond to other WISHBONE signals only
when this [STB_I] is asserted
WE_I The write enable input [WE_I] indicates whether
the current local bus cycle is a READ or
WRITE cycle
RST_I
CLK_I CLK_I
DAT_IO DAT_IO
WE_O WE_I
STB_O STB_O
ACK_I ACK_O
CYC_O CYC_I
TG_IO TG_IO
SYSCON
WISHBONEMASTER
WISHBONESLAVE
Wishbone Classic Bus CyclesWishbone Classic Bus Cycles
 Wishbone classic bus cycles are described in term
of:
 Reset operation
 Handshaking protocol
 Data organization during transfers
11
Reset operationReset operation
 [RST_O] is used to initialize all hardware
interfaces to a pre-defined state
 It can be asserted anytime and it is used for test
simulation purposes
12
Transfer Cycle InitializationTransfer Cycle Initialization
 MASTER interfaces initiate a transfer cycle by
asserting [CYC_O]
 SLAVE interfaces respond to other slave signals
only when [CYC_I] is asserted
13
Handshaking protocolHandshaking protocol
 All bus cycles use handshaking protocol between the
master and slave interfaces
 There exist two different traffic modes:
 Standard
 Pipelined
14
Standard wishbone protocolStandard wishbone protocol
 MASTER asserts [STB_O] when it is ready to transfer
data
 [STB_O] remains asserted until the SLAVE asserts
one of the cycle terminating signals: [ACK_I],
[ERR_I] or [RTY_I]
 Standard bus handshaking protocol with asynchronous
slave:
15
CLK_I
CYC_O
STB_O
ACK_I
Standard wishbone protocolStandard wishbone protocol
 Master waits for ACK from slave before sending next
instruction
16
MASTER SLAVE
Send DAT_O()
Receive DAT_I()
Assert ACK_O
Send DAT_O()
Receive DAT_I()
Assert ACK_O
Pipelined wishbone protocolPipelined wishbone protocol
 The MASTER does not wait for [ACK_I] before putting
the next address/data word on the bus
 [STALL_I] asserted indicates slave can no longer
accept another request
 MASTER outputs requests as long as [STALL_I] is low
17
CLK_I
CYC_O
STB_O
ACK_I
STALL_I
Pipelined wishbone protocolPipelined wishbone protocol
 Master does not wait for an ACK from the slave
before sending next data
18
MASTER SLAVE
Send multiple DAT_O()
Without waiting for ACK_I
Receive DAT_I()
Begin sending ACKs
Use of TAG TYPESUse of TAG TYPES
 The wishbone interface can be modified with user
defined signals
 Tags allow user defined information to be
associated with an address, a data word or a bus
cycle
 The table below lists all user defined tag types
19
MASTER SLAVE
Description TAG TYPE Associated
with
TAG TYPE Associated
with
Address tag TGA_O() ADR_O() TGA_I() ADR_I()
Data tag, input TGD_I() DAT_I() TGD_I() DAT_I()
Data tag, output TGD_O() DAT_O() TGD_O() DAT_O()
Cycle tag TGC_O() Bus Cycle TGC_I() Bus Cycle

More Related Content

What's hot (20)

Axi protocol
Axi protocolAxi protocol
Axi protocol
 
AMBA 2.0 PPT
AMBA 2.0 PPTAMBA 2.0 PPT
AMBA 2.0 PPT
 
UART
UARTUART
UART
 
I2C-Bus Design and Verification Specs
I2C-Bus Design and Verification SpecsI2C-Bus Design and Verification Specs
I2C-Bus Design and Verification Specs
 
APB protocol v1.0
APB protocol v1.0APB protocol v1.0
APB protocol v1.0
 
UVM Driver sequencer handshaking
UVM Driver sequencer handshakingUVM Driver sequencer handshaking
UVM Driver sequencer handshaking
 
AMBA Ahb 2.0
AMBA Ahb 2.0AMBA Ahb 2.0
AMBA Ahb 2.0
 
Axi protocol
Axi protocolAxi protocol
Axi protocol
 
Pc ie tl_layer (3)
Pc ie tl_layer (3)Pc ie tl_layer (3)
Pc ie tl_layer (3)
 
System verilog control flow
System verilog control flowSystem verilog control flow
System verilog control flow
 
Ral by pushpa
Ral by pushpa Ral by pushpa
Ral by pushpa
 
dual-port RAM (DPRAM)
dual-port RAM (DPRAM)dual-port RAM (DPRAM)
dual-port RAM (DPRAM)
 
AMBA 2.0 REPORT
AMBA 2.0 REPORTAMBA 2.0 REPORT
AMBA 2.0 REPORT
 
PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)
 
Introduction about APB Protocol
Introduction about APB ProtocolIntroduction about APB Protocol
Introduction about APB Protocol
 
Amba presentation2
Amba presentation2Amba presentation2
Amba presentation2
 
Ovm vs-uvm
Ovm vs-uvmOvm vs-uvm
Ovm vs-uvm
 
AMBA_APB_pst
AMBA_APB_pstAMBA_APB_pst
AMBA_APB_pst
 
I2 c bus
I2 c busI2 c bus
I2 c bus
 
I2C Protocol
I2C ProtocolI2C Protocol
I2C Protocol
 

Viewers also liked

An Implementation of I2C Slave Interface using Verilog HDL
An Implementation of I2C Slave Interface using Verilog HDLAn Implementation of I2C Slave Interface using Verilog HDL
An Implementation of I2C Slave Interface using Verilog HDLIJMER
 
User guide wishbone serializer
User guide wishbone serializerUser guide wishbone serializer
User guide wishbone serializerdragonvnu
 
Ostinato FOSS.IN 2010
Ostinato FOSS.IN 2010Ostinato FOSS.IN 2010
Ostinato FOSS.IN 2010pstavirs
 
Verilog hdl design examples
Verilog hdl design examplesVerilog hdl design examples
Verilog hdl design examplesdennis gookyi
 
System on chip buses
System on chip busesSystem on chip buses
System on chip busesA B Shinde
 
System on Chip (SoC) for mobile phones
System on Chip (SoC) for mobile phonesSystem on Chip (SoC) for mobile phones
System on Chip (SoC) for mobile phonesJeffrey Funk
 
Chapter 4 Microprocessor CPU
Chapter 4 Microprocessor CPUChapter 4 Microprocessor CPU
Chapter 4 Microprocessor CPUaskme
 
Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training CoursePaul Laskowski
 
System On Chip
System On ChipSystem On Chip
System On ChipA B Shinde
 
Verilog hdl-synthesis-a-practical-primer-j-bhasker
Verilog hdl-synthesis-a-practical-primer-j-bhaskerVerilog hdl-synthesis-a-practical-primer-j-bhasker
Verilog hdl-synthesis-a-practical-primer-j-bhaskergsivakumar50
 
Synchronous and-asynchronous-data-transfer
Synchronous and-asynchronous-data-transferSynchronous and-asynchronous-data-transfer
Synchronous and-asynchronous-data-transferAnuj Modi
 
Dpdk accelerated Ostinato
Dpdk accelerated OstinatoDpdk accelerated Ostinato
Dpdk accelerated Ostinatopstavirs
 

Viewers also liked (16)

Wishbone tutorials
Wishbone tutorialsWishbone tutorials
Wishbone tutorials
 
An Implementation of I2C Slave Interface using Verilog HDL
An Implementation of I2C Slave Interface using Verilog HDLAn Implementation of I2C Slave Interface using Verilog HDL
An Implementation of I2C Slave Interface using Verilog HDL
 
Wishbone
WishboneWishbone
Wishbone
 
User guide wishbone serializer
User guide wishbone serializerUser guide wishbone serializer
User guide wishbone serializer
 
Ostinato FOSS.IN 2010
Ostinato FOSS.IN 2010Ostinato FOSS.IN 2010
Ostinato FOSS.IN 2010
 
Chapter 2: Microprocessors
Chapter 2: MicroprocessorsChapter 2: Microprocessors
Chapter 2: Microprocessors
 
Verilog hdl design examples
Verilog hdl design examplesVerilog hdl design examples
Verilog hdl design examples
 
SOC design
SOC design SOC design
SOC design
 
System on chip buses
System on chip busesSystem on chip buses
System on chip buses
 
System on Chip (SoC) for mobile phones
System on Chip (SoC) for mobile phonesSystem on Chip (SoC) for mobile phones
System on Chip (SoC) for mobile phones
 
Chapter 4 Microprocessor CPU
Chapter 4 Microprocessor CPUChapter 4 Microprocessor CPU
Chapter 4 Microprocessor CPU
 
Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training Course
 
System On Chip
System On ChipSystem On Chip
System On Chip
 
Verilog hdl-synthesis-a-practical-primer-j-bhasker
Verilog hdl-synthesis-a-practical-primer-j-bhaskerVerilog hdl-synthesis-a-practical-primer-j-bhasker
Verilog hdl-synthesis-a-practical-primer-j-bhasker
 
Synchronous and-asynchronous-data-transfer
Synchronous and-asynchronous-data-transferSynchronous and-asynchronous-data-transfer
Synchronous and-asynchronous-data-transfer
 
Dpdk accelerated Ostinato
Dpdk accelerated OstinatoDpdk accelerated Ostinato
Dpdk accelerated Ostinato
 

Similar to Wishbone interface and bus cycles

Io (2)
Io (2)Io (2)
Io (2)Aisu
 
Unit iii microcontrollers final1
Unit iii microcontrollers final1Unit iii microcontrollers final1
Unit iii microcontrollers final1Saritha Reddy
 
selfridge_alec_chipspec
selfridge_alec_chipspecselfridge_alec_chipspec
selfridge_alec_chipspecAlec Selfridge
 
Design and Implementation of SOC Bus Based on AMBA 4.0
Design and Implementation of SOC Bus Based on AMBA 4.0Design and Implementation of SOC Bus Based on AMBA 4.0
Design and Implementation of SOC Bus Based on AMBA 4.0ijsrd.com
 
74LS47 / DM74LS47 Datasheet PDF
74LS47 / DM74LS47 Datasheet PDF74LS47 / DM74LS47 Datasheet PDF
74LS47 / DM74LS47 Datasheet PDFDatasheet
 
Day 20.1 configuringframerelay
Day 20.1 configuringframerelayDay 20.1 configuringframerelay
Day 20.1 configuringframerelayCYBERINTELLIGENTS
 
Unit 3-1 (1)
Unit 3-1 (1)Unit 3-1 (1)
Unit 3-1 (1)Vasu Ch
 
Programmable peripheral interface 8255
Programmable peripheral interface 8255Programmable peripheral interface 8255
Programmable peripheral interface 8255Marajulislam3
 
06 module catalyst 1900 switch operations
06  module  catalyst 1900 switch operations06  module  catalyst 1900 switch operations
06 module catalyst 1900 switch operationsAsif
 
363118864 8255-nptel
363118864 8255-nptel363118864 8255-nptel
363118864 8255-nptelZerihunDemere
 
I2C protocol and DS1307 RTC interfacing
I2C protocol and DS1307 RTC interfacingI2C protocol and DS1307 RTC interfacing
I2C protocol and DS1307 RTC interfacingBhargav Kakadiya
 
Embedded system (Chapter 2) part 2
Embedded system (Chapter 2) part 2Embedded system (Chapter 2) part 2
Embedded system (Chapter 2) part 2Ikhwan_Fakrudin
 
Ch2 microcontroller architecture
Ch2 microcontroller architectureCh2 microcontroller architecture
Ch2 microcontroller architectureAhmad Sidik
 
Microprocessor Interfacing and 8155 Features
Microprocessor Interfacing and 8155 FeaturesMicroprocessor Interfacing and 8155 Features
Microprocessor Interfacing and 8155 FeaturesSrikrishna Thota
 
Mod-2 M&M.pptx
Mod-2 M&M.pptxMod-2 M&M.pptx
Mod-2 M&M.pptxTechCook1
 
Wan Technologies
Wan TechnologiesWan Technologies
Wan TechnologiesAKLI
 

Similar to Wishbone interface and bus cycles (20)

Io (2)
Io (2)Io (2)
Io (2)
 
8255 PPI
8255 PPI8255 PPI
8255 PPI
 
Unit iii microcontrollers final1
Unit iii microcontrollers final1Unit iii microcontrollers final1
Unit iii microcontrollers final1
 
selfridge_alec_chipspec
selfridge_alec_chipspecselfridge_alec_chipspec
selfridge_alec_chipspec
 
Design and Implementation of SOC Bus Based on AMBA 4.0
Design and Implementation of SOC Bus Based on AMBA 4.0Design and Implementation of SOC Bus Based on AMBA 4.0
Design and Implementation of SOC Bus Based on AMBA 4.0
 
74LS47 / DM74LS47 Datasheet PDF
74LS47 / DM74LS47 Datasheet PDF74LS47 / DM74LS47 Datasheet PDF
74LS47 / DM74LS47 Datasheet PDF
 
Day 20.3 frame relay
Day 20.3 frame relay Day 20.3 frame relay
Day 20.3 frame relay
 
Day 20.1 configuringframerelay
Day 20.1 configuringframerelayDay 20.1 configuringframerelay
Day 20.1 configuringframerelay
 
8255
82558255
8255
 
Unit 3-1 (1)
Unit 3-1 (1)Unit 3-1 (1)
Unit 3-1 (1)
 
1.ppi 8255
1.ppi 8255 1.ppi 8255
1.ppi 8255
 
Programmable peripheral interface 8255
Programmable peripheral interface 8255Programmable peripheral interface 8255
Programmable peripheral interface 8255
 
06 module catalyst 1900 switch operations
06  module  catalyst 1900 switch operations06  module  catalyst 1900 switch operations
06 module catalyst 1900 switch operations
 
363118864 8255-nptel
363118864 8255-nptel363118864 8255-nptel
363118864 8255-nptel
 
I2C protocol and DS1307 RTC interfacing
I2C protocol and DS1307 RTC interfacingI2C protocol and DS1307 RTC interfacing
I2C protocol and DS1307 RTC interfacing
 
Embedded system (Chapter 2) part 2
Embedded system (Chapter 2) part 2Embedded system (Chapter 2) part 2
Embedded system (Chapter 2) part 2
 
Ch2 microcontroller architecture
Ch2 microcontroller architectureCh2 microcontroller architecture
Ch2 microcontroller architecture
 
Microprocessor Interfacing and 8155 Features
Microprocessor Interfacing and 8155 FeaturesMicroprocessor Interfacing and 8155 Features
Microprocessor Interfacing and 8155 Features
 
Mod-2 M&M.pptx
Mod-2 M&M.pptxMod-2 M&M.pptx
Mod-2 M&M.pptx
 
Wan Technologies
Wan TechnologiesWan Technologies
Wan Technologies
 

More from dennis gookyi

Verilog HDL Verification
Verilog HDL VerificationVerilog HDL Verification
Verilog HDL Verificationdennis gookyi
 
System design methodology
System design methodologySystem design methodology
System design methodologydennis gookyi
 
Design options for digital systems
Design options for digital systemsDesign options for digital systems
Design options for digital systemsdennis gookyi
 
Advanced modeling techniques
Advanced modeling techniquesAdvanced modeling techniques
Advanced modeling techniquesdennis gookyi
 
Hierachical structural modeling
Hierachical structural modelingHierachical structural modeling
Hierachical structural modelingdennis gookyi
 
structural modeling, hazards
structural modeling, hazardsstructural modeling, hazards
structural modeling, hazardsdennis gookyi
 
Finite state machines
Finite state machinesFinite state machines
Finite state machinesdennis gookyi
 
faults in digital systems
faults in digital systemsfaults in digital systems
faults in digital systemsdennis gookyi
 
basic concepts of reliability
basic concepts of reliabilitybasic concepts of reliability
basic concepts of reliabilitydennis gookyi
 

More from dennis gookyi (16)

Verilog HDL Verification
Verilog HDL VerificationVerilog HDL Verification
Verilog HDL Verification
 
Synthesis
SynthesisSynthesis
Synthesis
 
System design methodology
System design methodologySystem design methodology
System design methodology
 
Design options for digital systems
Design options for digital systemsDesign options for digital systems
Design options for digital systems
 
Encoder decoder
Encoder decoderEncoder decoder
Encoder decoder
 
Advanced modeling techniques
Advanced modeling techniquesAdvanced modeling techniques
Advanced modeling techniques
 
4 bit add sub
4 bit add sub4 bit add sub
4 bit add sub
 
Hierachical structural modeling
Hierachical structural modelingHierachical structural modeling
Hierachical structural modeling
 
Behavioral modeling
Behavioral modelingBehavioral modeling
Behavioral modeling
 
Biosensors
BiosensorsBiosensors
Biosensors
 
structural modeling, hazards
structural modeling, hazardsstructural modeling, hazards
structural modeling, hazards
 
Verilog hdl
Verilog hdlVerilog hdl
Verilog hdl
 
Finite state machines
Finite state machinesFinite state machines
Finite state machines
 
test generation
test generationtest generation
test generation
 
faults in digital systems
faults in digital systemsfaults in digital systems
faults in digital systems
 
basic concepts of reliability
basic concepts of reliabilitybasic concepts of reliability
basic concepts of reliability
 

Recently uploaded

Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectssuserb6619e
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
Cooling Tower SERD pH drop issue (11 April 2024) .pptx
Cooling Tower SERD pH drop issue (11 April 2024) .pptxCooling Tower SERD pH drop issue (11 April 2024) .pptx
Cooling Tower SERD pH drop issue (11 April 2024) .pptxmamansuratman0253
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfChristianCDAM
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 

Recently uploaded (20)

Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
Cooling Tower SERD pH drop issue (11 April 2024) .pptx
Cooling Tower SERD pH drop issue (11 April 2024) .pptxCooling Tower SERD pH drop issue (11 April 2024) .pptx
Cooling Tower SERD pH drop issue (11 April 2024) .pptx
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdf
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 

Wishbone interface and bus cycles

  • 3. Wishbone DatasheetWishbone Datasheet  Wishbone specification requires that interfaces must be documented through a wishbone datasheet  The standard does not specify the form of the datasheet  The datasheet could be part of a comment field in an HDL source file or part of the reference manual for the IP core  The datasheet helps end users understand the operation of the core and how to connect it to other cores 3
  • 4. Wishbone DatasheetWishbone Datasheet  8-bit wishbone slave output port 4 Description Specification General description: 8-bit slave output port Supported cycles: SLAVE, READ/WRITE SLAVE, BLOCK READ/WRITE SLAVE, RMW Data port, size: Data port, granularity: Data port: max operand size: Data transfer ordering: Data transfer sequencing: 8-bit 8-bit 8-bit Big endian and/or little endian Undefined Supported signal list and cross reference to equivalent WISHBONE signals Signal name wishbone equiv. ACK_O ACK_O CLK_I CLK_I DAT_I(7..0) DAT_I() DAT_O(7..0) DAT_O() RST_I RST_I STB_I STB_I WE_I WE_I RESET CE D Q DAT_O(7..0) DAT_I(7..0) CLK_I RST_I ACK_O STB_I WE_I
  • 5. Signal NamingSignal Naming  Signal names must adhere to the rules of the tool in which the IP core was designed  Any signal name may be used to describe wishbone signals but it is recommended to use the standard names 5
  • 6. Logic LevelsLogic Levels  All wishbone interface signals must use active high logic  Generally, active low signals does not present a problem  However, some tools do not have a standard way of indicating an active low signal  Using [#RST_I], [/RST_I] or [N_RST_I] to represent active low reset may cause confusion among users and incompatibility between modules 6
  • 7. Wishbone Signal DescriptionWishbone Signal Description  SYSCON module signals 7 Signal name description CLK_O It coordinates all activities for the internal logic within the WISHBONE interconnect. The INTERCON module connects the [CLK_O] output to the [CLK_I] input on MASTER and SLAVE interfaces. RST_O It forces all WISHBONE interfaces to restart. All internal self-starting state machines are forced into an initial state. The INTERCON connects the [RST_O] output to the [RST_I] input on MASTER and SLAVE interfaces RST_I CLK_I CLK_I DAT_IO DAT_IO WE_O WE_I STB_O STB_O ACK_I ACK_O CYC_O CYC_I TG_IO TG_IO SYSCON WISHBONEMASTER WISHBONESLAVE CLK_ORST_O
  • 8. Wishbone Signal DescriptionWishbone Signal Description  Signals common to MASTER and SLAVE interfaces 8 Signal name Description CLK_I All WISHBONE output signals are registered at the rising edge of [CLK_I]. All WISHBONE input signals are stable before the rising edge of [CLK_I]. DAT_I() The data input array [DAT_I()] is used to pass binary data. The array boundaries are determined by the port size, with a maximum port size of 64-bits (e.g. [DAT_I(63..0)]). DAT_O() The data output array [DAT_O()] is used to pass binary data. The array boundaries are determined by the port size, with a maximum port size of 64-bits (e.g. [DAT_I(63..0)]). RST_I() The reset input [RST_I] forces the WISHBONE interface to restart TGD_I() Data tag type [TGD_I()] is used on MASTER and SLAVE interfaces. It contains information that is associated with the data input array [DAT_I()], and is qualified by signal [STB_I]. TGD_O( ) Data tag type [TGD_O()] is used on MASTER and SLAVE interfaces. It contains information that is associated with the data output array [DAT_O()], and is qualified by signal [STB_O] 88 RST_I CLK_I CLK_I DAT_IO DAT_IO WE_O WE_I STB_O STB_O ACK_I ACK_O CYC_O CYC_I TG_IO TG_IO SYSCON WISHBONEMASTER WISHBONESLAVE
  • 9. Wishbone Signal DescriptionWishbone Signal Description  MASTER signals 9 Signal name Description ACK_I The acknowledge input [ACK_I], when asserted, indicates the normal termination of a bus cycle CYC_O The cycle output [CYC_O], when asserted, indicates that a valid bus cycle is in progress STALL_I The pipeline stall input [STALL_I] indicates that current slave is not able to accept the transfer in the transaction queue ERR_I The error input [ERR_I] indicates an abnormal cycle termination RTY_I The retry input [RTY_I] indicates that the interface is not ready to accept or send data, and that the cycle should be retried STB_O The strobe output [STB_O] indicates a valid data transfer cycle WE_O The write enable output [WE_O] indicates whether the current local bus cycle is a READ or WRITE cycle RST_I CLK_I CLK_I DAT_IO DAT_IO WE_O WE_I STB_O STB_O ACK_I ACK_O CYC_O CYC_I TG_IO TG_IO SYSCON WISHBONEMASTER WISHBONESLAVE
  • 10. Wishbone Signal DescriptionWishbone Signal Description  SLAVE signals 10 Signal name Description ACK_O The acknowledge output [ACK_O], when asserted, indicates the termination of a normal bus cycle CYC_I The cycle input [CYC_I], when asserted, indicates that a valid bus cycle is in progress STALL_O The pipeline stall signal [STALL_O] indicates that the slave can not accept additional transactions in its queue ERR_O The error output [ERR_O] indicates an abnormal cycle termination RTY_O The retry output [RTY_O] indicates that the indicates that the interface is not ready to accept or send data, and that the cycle should be retried STB_I The strobe input [STB_I], when asserted, indicates that the SLAVE is selected. A SLAVE shall respond to other WISHBONE signals only when this [STB_I] is asserted WE_I The write enable input [WE_I] indicates whether the current local bus cycle is a READ or WRITE cycle RST_I CLK_I CLK_I DAT_IO DAT_IO WE_O WE_I STB_O STB_O ACK_I ACK_O CYC_O CYC_I TG_IO TG_IO SYSCON WISHBONEMASTER WISHBONESLAVE
  • 11. Wishbone Classic Bus CyclesWishbone Classic Bus Cycles  Wishbone classic bus cycles are described in term of:  Reset operation  Handshaking protocol  Data organization during transfers 11
  • 12. Reset operationReset operation  [RST_O] is used to initialize all hardware interfaces to a pre-defined state  It can be asserted anytime and it is used for test simulation purposes 12
  • 13. Transfer Cycle InitializationTransfer Cycle Initialization  MASTER interfaces initiate a transfer cycle by asserting [CYC_O]  SLAVE interfaces respond to other slave signals only when [CYC_I] is asserted 13
  • 14. Handshaking protocolHandshaking protocol  All bus cycles use handshaking protocol between the master and slave interfaces  There exist two different traffic modes:  Standard  Pipelined 14
  • 15. Standard wishbone protocolStandard wishbone protocol  MASTER asserts [STB_O] when it is ready to transfer data  [STB_O] remains asserted until the SLAVE asserts one of the cycle terminating signals: [ACK_I], [ERR_I] or [RTY_I]  Standard bus handshaking protocol with asynchronous slave: 15 CLK_I CYC_O STB_O ACK_I
  • 16. Standard wishbone protocolStandard wishbone protocol  Master waits for ACK from slave before sending next instruction 16 MASTER SLAVE Send DAT_O() Receive DAT_I() Assert ACK_O Send DAT_O() Receive DAT_I() Assert ACK_O
  • 17. Pipelined wishbone protocolPipelined wishbone protocol  The MASTER does not wait for [ACK_I] before putting the next address/data word on the bus  [STALL_I] asserted indicates slave can no longer accept another request  MASTER outputs requests as long as [STALL_I] is low 17 CLK_I CYC_O STB_O ACK_I STALL_I
  • 18. Pipelined wishbone protocolPipelined wishbone protocol  Master does not wait for an ACK from the slave before sending next data 18 MASTER SLAVE Send multiple DAT_O() Without waiting for ACK_I Receive DAT_I() Begin sending ACKs
  • 19. Use of TAG TYPESUse of TAG TYPES  The wishbone interface can be modified with user defined signals  Tags allow user defined information to be associated with an address, a data word or a bus cycle  The table below lists all user defined tag types 19 MASTER SLAVE Description TAG TYPE Associated with TAG TYPE Associated with Address tag TGA_O() ADR_O() TGA_I() ADR_I() Data tag, input TGD_I() DAT_I() TGD_I() DAT_I() Data tag, output TGD_O() DAT_O() TGD_O() DAT_O() Cycle tag TGC_O() Bus Cycle TGC_I() Bus Cycle