OpenCores
URL https://opencores.org/ocsvn/wb2axip/wb2axip/trunk

Subversion Repositories wb2axip

[/] [wb2axip/] [trunk/] [README.md] - Blame information for rev 8

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 8 dgisselq
# WB2AXIP: A Pipelind Wishbone B4 to AXI4 bridge
2
 
3
Built out of necessity, [this core](rtl/wbm2axisp.v) is designed to provide
4
a conversion from a [wishbone
5
bus](http://zipcpu.com/zipcpu/2017/11/07/wb-formal.html) to an AXI bus.
6
Primarily, the core is designed to connect a
7
[wishbone bus](http://zipcpu.com/zipcpu/2017/11/07/wb-formal.html),
8
either 32- or 128-bits wide, to a 128-bit wide AXI bus, which is the natural
9
width of a DDR3 transaction (with 16-bit lanes).  Hence, if the
10
Memory Interface Generator DDR3 controller is running at a 4:1 clock rate,
11
memory clocks to AXI system clocks, then it should be possible to accomplish
12
one transaction clock at a sustained or pipelined rate.  This
13
[bus translator](rtl/wbm2axisp.v) is designed to be able to handle one
14
transaction per clock (pipelined), although [(due to Xilinx's MIG design)
15
the delay may be up to 27 clocks](http://opencores.org/project,wbddr3).  (Ouch!)
16
 
17
# AXI to Wishbone conversion
18
 
19
Since the project began, a full-fledged [AXI4 to Wishbone bridge](rtl/axim2wbsp.v) has been added to the project.
20
This converter handles synchronizing the write channels, turning AXI read/write
21
requests into pipeline wishbone requests, maintaining the AXI ID fields, etc.
22
It ignores the AXI xSIZE, xLOCK, xCACHE, xPROT, and xQOS fields.  It supports
23
xBURST types of FIXED (2'b00) and INCR (2'b01), but not WRAP (2'b10) or
24
reserved (2'b11).  It does not (yet) support bridging between busses of
25
different widths, so both the AXI and the WB bus must have the same width.
26
 
27
AXI4 is a complicated protocol, however, especially when
28
[compared to WB](http://zipcpu.com/zipcpu/2017/11/07/wb-formal.html).
29
 
30
_Finally, whereas the [bridge](rtl/axim2wbsp.v) has been written, it has yet
31
to be significantly tested or formally proven.  If you are interested in
32
helping to test it, please contact me at (zipcpu (at) gmail.com).  Until
33
that time, it must be said that the result is subject to change._
34
 
35
# Formal Verification
36
 
37
This particular version of the tools includes an initial attempt at
38
formally proving that the core(s) work.
39
 
40
Currently, the project contains formal specifications for
41
[Avalon](bench/formal/fav_slave.v), [Wishbone](bench/formal/fwb_slave.v), and
42
[AXI](bench/formal/faxi_slave.v) busses.  Components with working proofs
43
include the [WB to AXI](rtl/wbm2axisp.v) bridge as well as the
44
[WB arbiter](rtl/wbarbiter.v) needed for the [AXI to WB](rtl/axim2wbsp.v).
45
I also have a working proof for an Avalon to WB bridge that isn't posted
46
here.
47
 
48
The [AXI4 to Wishbone bridge](rtl/axim2wbsp.v) remains a work in progress
49
that isn't getting a lot of attention.
50
 
51
# Commercial Applications
52
 
53
Should you find the GPLv3 license insufficient for your needs, other licenses
54
can be purchased from Gisselquist Technology, LLc.
55
 
56
# Thanks
57
 
58
I'd like to thank @wallento for his initial work on a
59
[Wishbone to AXI converter](https://github.com/wallento/wb2axi), and his
60
encouragement to improve upon it.  While this isn't a fork of his work, it
61
takes its motivation from his work.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.