|
|
# VME64x to Wishbone Core
|
|
|
|
|
|
## Project description
|
|
|
|
|
|
The VME64x core implements a VME64 slave on one side and a WishBone
|
|
|
master on the other without FIFOs in-between.
|
|
|
|
|
|
The core supports SINGLE, BLT (D32), MBLT (D64), 2eVME and 2eSST
|
|
|
transfers in A24, A32 and A64 address modes and D08 (OE), D16, D32, D64
|
|
|
data transfers. The core can be configured via implemented CR/CSR
|
|
|
configuration space. A ROACK type IRQ controller with one interrupt
|
|
|
input and a programmable interrupt level and Status/ID register is
|
|
|
provided.
|
|
|
|
|
|
A WishBone side features a pipelined WB master for SINGLE
|
|
|
transfers.
|
|
|
|
|
|

|
|
|
|
|
|
-----
|
|
|
|
|
|
## Main features
|
|
|
|
|
|
- VME64x slave
|
|
|
- CR/CSR space
|
|
|
- ROACK type IRQ controller with one interrupt input and a
|
|
|
programmable interrupt level and Status/ID register
|
|
|
- Supported VME access modes
|
|
|
- SINGLE, BLT (D32), MBLT (D64)
|
|
|
- A24, A32 and A64 address modes and D08 (OE), D16, D32, D64
|
|
|
data transfers
|
|
|
- WishBone master (user side)
|
|
|
- Pipelined WB master for SINGLE transfers
|
|
|
|
|
|
-----
|
|
|
|
|
|
## Project information
|
|
|
|
|
|
- [VME64x user
|
|
|
manual](https://www.ohwr.org/project/vme64x-core/commits/master/documentation/user_guides/vme64x_user_manual.pdf)
|
|
|
- [VME access
|
|
|
modes](https://www.ohwr.org/project/vme64x-core/blob/master/documentation/user_guides/VME_access_modes.pdf)
|
|
|
- [Guidelines to use the vme64x
|
|
|
core](https://www.ohwr.org/project/vme64x-core/blob/master/documentation/user_guides/Python_test.pdf)
|
|
|
- [*Design, implementation and test of a VME to Wishbone
|
|
|
interface*](https://www.ohwr.org/project/vme64x-core/wikis/Documents/Design-implementation-and-test-of-a-VME-to-WB-interface), Thesis of Davide
|
|
|
Pedretti
|
|
|
- [Users](Users)
|
|
|
- [Frequently Asked Questions](FAQ)
|
|
|
|
|
|
-----
|
|
|
|
|
|
## Documents
|
|
|
|
|
|
- [Wishbone System-on-chip (SoC) Interconnection Architecture for
|
|
|
Portable IP Cores, Revision
|
|
|
B4](http://cdn.opencores.org/downloads/wbspec_b4.pdf)
|
|
|
- VME64 ANSI/VITA 1 1994
|
|
|
- VME64 Extensions ANSI/VITA 1.1 1997
|
|
|
- ANSI/VITA 1.5-2003 2eSST
|
|
|
|
|
|
-----
|
|
|
|
|
|
## Contacts
|
|
|
|
|
|
### General question about project
|
|
|
|
|
|
- [Erik van der Bij](mailto:Erik.van.der.Bij@cern.ch) - CERN
|
|
|
|
|
|
-----
|
|
|
|
|
|
## Project Status
|
|
|
|
|
|
<table>
|
|
|
<tbody>
|
|
|
<tr class="odd">
|
|
|
<td><strong>Date</strong></td>
|
|
|
<td><b> Event </b></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>01-04-2010</td>
|
|
|
<td>Start working on project.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>25-05-2010</td>
|
|
|
<td>First HDL release.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>10-02-2011</td>
|
|
|
<td>First register read/write made with the core on the VFC.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>01-02-2012</td>
|
|
|
<td>New student will work full time on project.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>03-05-2012</td>
|
|
|
<td>Core has been modified to implement CSR space. CSR and single R/W working on [VFC V2](https://www.ohwr.org/project/fmc-vme-carrier/wiki).</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>10-05-2012</td>
|
|
|
<td>Working on BLT, MBLT and 2eSST implementation.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>06-06-2012</td>
|
|
|
<td>Added data swap modes. A64, 2eVME and 2eSST not yet implemented. Independent tester added to team.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>30-07-2012</td>
|
|
|
<td>SINGLE, BLT (D32), MBLT (D64) transfers in A16, A24, A32 and A64 address modes working<br />
|
|
|
on VFC V2 and SVEC V0. A ROACK type IRQ Controller is provided.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>30-11-2012</td>
|
|
|
<td>Student Davide Pedretti left CERN. <a href="https://www.ohwr.org/project/vme64x-core/wikis/Documents/Design-implementation-and-test-of-a-VME-to-WB-interface">Thesis</a> available. Core works.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>07-03-2013</td>
|
|
|
<td>Several bugs found and corrected. Core is working, but needs a good review.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>01-07-2013</td>
|
|
|
<td>Migrated the repository to Git.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>29-05-2013</td>
|
|
|
<td>Core re-used as basis for design at GSI.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>29-11-2013</td>
|
|
|
<td>Bug <a href="https://www.ohwr.org/project/vme64x-core/issues/16">multiple cards DTACKing on same CSR address</a> found.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>11-12-2013</td>
|
|
|
<td>Decided to start in 2014 a new project to rewrite/cleanup the core to make it better maintainable.</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td>20-10-2014</td>
|
|
|
<td>Project in same state as in 2013 and used reliably in many places.</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>20-10-2014</td>
|
|
|
<td>Found issue with [WB error handling](https://www.ohwr.org/project/vme64x-core/issues/13).</td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
|
|
|
-----
|
|
|
|
|
|
Davide Pedretti, Erik van der Bij, Tomasz Wlostowski - 9 April 2015
|
|
|
|