<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rs-485.com/index.php?action=history&amp;feed=atom&amp;title=Wishbone_%28computer_bus%29</id>
	<title>Wishbone (computer bus) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://rs-485.com/index.php?action=history&amp;feed=atom&amp;title=Wishbone_%28computer_bus%29"/>
	<link rel="alternate" type="text/html" href="https://rs-485.com/index.php?title=Wishbone_(computer_bus)&amp;action=history"/>
	<updated>2026-05-03T21:00:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://rs-485.com/index.php?title=Wishbone_(computer_bus)&amp;diff=1756&amp;oldid=prev</id>
		<title>RS-485: Imported from Wikipedia (overwrite)</title>
		<link rel="alternate" type="text/html" href="https://rs-485.com/index.php?title=Wishbone_(computer_bus)&amp;diff=1756&amp;oldid=prev"/>
		<updated>2026-05-03T14:43:57Z</updated>

		<summary type="html">&lt;p&gt;Imported from Wikipedia (overwrite)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Open source circuitry hardware}}&lt;br /&gt;
{{Infobox Computer Hardware Bus&lt;br /&gt;
| name        = Wishbone&lt;br /&gt;
| fullname    = &lt;br /&gt;
| image       = &lt;br /&gt;
| caption     = &lt;br /&gt;
| invent-date = &lt;br /&gt;
| invent-name = Silicore Corporation&lt;br /&gt;
| super-name  = &lt;br /&gt;
| super-date  = &lt;br /&gt;
| width       = 8, 16, 32, 64&lt;br /&gt;
| numdev      = &lt;br /&gt;
| speed       = &lt;br /&gt;
| style       = p&lt;br /&gt;
| hotplug     = No (On chip bus)&lt;br /&gt;
| external    = No&lt;br /&gt;
}}&lt;br /&gt;
[[File:Wishbone Interface.svg|thumb|343px|right|Master and Slave Wishbone&amp;#039;s interfaces.]]&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Wishbone Bus&amp;#039;&amp;#039;&amp;#039; is an [[open source hardware]] [[computer bus]] intended to let the parts of an [[integrated circuit]] communicate with each other. The aim is to allow the connection of differing [[Semiconductor intellectual property core|cores]] to each other inside of a chip. The &amp;#039;&amp;#039;&amp;#039;Wishbone Bus&amp;#039;&amp;#039;&amp;#039; is used by many designs in the [[OpenCores]] project.&lt;br /&gt;
&lt;br /&gt;
Wishbone is intended as a &amp;quot;logic bus&amp;quot;. It does not specify electrical information or the bus topology. Instead, the specification is written in terms of &amp;quot;signals&amp;quot;, clock cycles, and high and low levels.&lt;br /&gt;
&lt;br /&gt;
This ambiguity is intentional.  Wishbone is made to let designers combine several designs written in [[Verilog]], [[VHDL]] or some other logic-description language for [[electronic design automation]] (EDA). Wishbone provides a standard way for designers to combine these [[hardware logic]] designs (called &amp;quot;cores&amp;quot;).&lt;br /&gt;
Wishbone is defined to have 8, 16, 32, and 64-bit buses. All signals are synchronous to a single clock but some slave responses must be generated [[Combinational logic|combinatorially]] for maximum performance. Wishbone permits addition of a &amp;quot;tag bus&amp;quot; to describe the data. But reset, simple addressed reads and writes, movement of blocks of data, and indivisible bus cycles all work without tags.&lt;br /&gt;
 &lt;br /&gt;
Wishbone is [[Open-source software|open source]]. To prevent preemption of its technologies by aggressive patenting, the Wishbone specification includes examples of [[prior art]], to prove its concepts are in the public domain.&lt;br /&gt;
&lt;br /&gt;
A device does not &amp;#039;&amp;#039;conform&amp;#039;&amp;#039; to the Wishbone specification unless it includes a &amp;#039;&amp;#039;data sheet&amp;#039;&amp;#039; that describes what it does, bus width, utilization, etc. Promoting reuse of a design requires the data sheet. Making a design reusable in turn makes it easier to share with others.&lt;br /&gt;
&lt;br /&gt;
The [[Simple Bus Architecture]] is a simplified version of the Wishbone specification.&amp;lt;ref&amp;gt;&lt;br /&gt;
Simple Bus Architecture, 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wishbone topologies==&lt;br /&gt;
Wishbone adapts well to common topologies such as point-to-point, many-to-many (i.e. the classic bus system), hierarchical, or even switched fabrics such as [[crossbar switch]]es. In the more exotic topologies, Wishbone requires a bus controller or arbiter, but devices still maintain the same interface.&amp;lt;ref&amp;gt;Miti &amp;amp; Stojcev, 2006&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Wishbone B4, 2010, pp. 17, 21&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shared bus===&lt;br /&gt;
[[image:wishbone_shared_bus.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Data flow===&lt;br /&gt;
[[image:wishbone_pipeline.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Crossbar switch===&lt;br /&gt;
[[image:wishbone_cross_bar.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Comparisons==&lt;br /&gt;
{{More citations needed section|date=June 2025|talk=impossibility of this mapping between Wishbone and Avalon}}&lt;br /&gt;
Wishbone control signals are compared to other system on a chip (SoC) bus standards in the below table:&amp;lt;ref&amp;gt;Wishbone B4, 2010, pp. 28-30&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+Wishbone → Avalon&lt;br /&gt;
! Wishbone&lt;br /&gt;
! Avalon Bus&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;cyc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;= !write_n or !read_n&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| indicates that a valid bus cycle is in progress&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;stb&amp;#039;&amp;#039;&amp;#039;            &lt;br /&gt;
| = chipselect&lt;br /&gt;
| indicates a valid data transfer cycle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;we&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| = !write_n and read_n&lt;br /&gt;
|  indicates whether the current local bus cycle is a READ or WRITE cycle. The signal is negated during READ cycles, and is asserted during WRITE cycles.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;ack&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| = !waitrequest&lt;br /&gt;
| indicates the termination of a normal bus cycle by slave device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Avalon → Wishbone&lt;br /&gt;
! Avalon Bus&lt;br /&gt;
! Wishbone&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;chipselect&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| = stb&lt;br /&gt;
| indicates that slave device is selected.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;write_n&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| = !(cyc and  we)&lt;br /&gt;
| indicated that master requests to write to slave device.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;read_n&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| = !(cyc and !we)&lt;br /&gt;
| indicated that master requests to read from slave device.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;waitrequest&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| = !ack&lt;br /&gt;
| indicates that slave requests that master wait.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Master/slave (technology)]]&lt;br /&gt;
* [[Advanced eXtensible Interface]]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
*{{Cite web |year=2015 |title=SBA - Simple Bus Architecture |url=https://sba.accesus.com/ |website=sba.accesus.com |language=en-US}}&lt;br /&gt;
*{{Cite journal |last1=Miti |first1=Milica |last2=Stojcev |first2=Mile |date=2006 |title=An Overview of On-Chip Buses |url=https://www.researchgate.net/publication/237587431 |journal= Facta Universitatis - Series: Electronics and Energetics|volume=19 |issue=3 |pages=405–428 |doi=10.2298/FUEE0603405M |via=ResearchGate|doi-access=free }}&lt;br /&gt;
*{{Citation |title=Wishbone B4: WISHBONE System-on-Chip (SoC) Interconnection Architecture for Portable IP Cores |year=2010 |url=https://cdn.opencores.org/downloads/wbspec_b4.pdf |archive-url=https://web.archive.org/web/20250518085442/https://cdn.opencores.org/downloads/wbspec_b4.pdf |archive-date=May 18, 2025 |url-status=live |publisher=OpenCores}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://cdn.opencores.org/downloads/wbspec_b3.pdf Wishbone Version B3]- An older revision of the specification&lt;br /&gt;
* [https://cdn.opencores.org/downloads/appnote_01.pdf appnote_01]- Combining WISHBONE interface signals application note&lt;br /&gt;
* [https://cdn.opencores.org/downloads/soc_bus_comparison.pdf Comparison to other SoC buses]&lt;br /&gt;
* [https://opencores.org/howto/wishbone Wishbone@OpenCores]&lt;br /&gt;
* [https://www.fpga-cores.com/wishbone/ Wishbone@FPGA-Cores.com]&lt;br /&gt;
&lt;br /&gt;
{{Computer-bus}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Computer buses]]&lt;br /&gt;
[[Category:Open hardware electronic devices]]&lt;/div&gt;</summary>
		<author><name>RS-485</name></author>
	</entry>
</feed>