Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
V
VME64x core
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Projects
  • VME64x core
  • Wiki
  • Faq

Faq

Last edited by Erik van der Bij Apr 22, 2020
Page history

Frequently Asked Questions


General

Q: what is really the state of the design?

During October to December 2017, the core (version 2) was tested on a SVEC card with the MEN A20 and MEN A25 masters. This very core is used in the accelerators of CERN, is used in various configurations and is proven to be stable in many complex environments.


Technical

Q: How to port a design from v1.0 to v2.0?

The official top level entity for the vme64x core is xvme64x_core, which has the vme, wb and configuration grouped in
records.

The VME signals berr_n and irq_n are now active when set to '0' (like on a VME bus), while in version 1.0 they followed the polarity of the SVEC card.

The generic g_WB_GRANULARITY was added in v2.0. For compatibility, it should be set to BYTE if the vme64x_core is instantiated and to WORD if the xvme64x_core is instantiated.

For software compatibility, AM matching should be disabled by setting generic g_DECODE_AM to false.

Q: In which FPGA is it possible to fit the vme64x core?

On the SVEC card (Spartan 6), the core needs less than 750 registers.

We are testing the core in the following FPGA:

  • Spartan 6
    • Device: XC6SLX150T
    • Package: FGG676
    • Speed -3
  • Spartan 6
    • Device: XC6SLX150T
    • Package: FGG900
    • Speed -3

You can also fit the vme64x core in a smaller FPGA like the Spartan 6 XC6SLX9, package: FTG 256.
It depends on your WB application.

Q: What are the VME address modifiers supported by the core?

  • A24: AM 0x38 to 0x3f
  • A32: AM 0x08 to 0x0f
  • CS/CSR: AM 0x2f

Q: I use the SVEC. How can I change the base address by writing appropriate values in some registers (ADER, ADEM, and possibly others)?

Write the ADER registers with the address base and the AM.
In addition, the code of svec_setup_csr() in the svec device driver can also be very helpful in understanding how you can do the configuration by writing to the Address Relocation Registers.

Q: What happens if I Disable the CR/CSR Space in VME64x?

You cannot disable cr/csr during initialization. As it is a generic, you can only disable it during instantiation.
The core still uses the ga/gap inputs, and still uses the ADEM config bits. The core computes ADER by replacing the 5 lowest significant bits set to 1 by the GA. So if ADEM=FF000000 and GA=7, ADER is 07000000.
CS/CSR writes and reads are ignored.
IRQ vector and level have to be provided to the core inputs. So if the Generic is disabled during instantiation, the core will still be able to calculate which slot the card is occupying and then enable the card.


22 April 2020

Clone repository
  • Documents
  • Home
  • News
  • Performances
  • Faq
  • Users
  • Documents
    • Design, implementation and test of a vme to wb interface
    • Images
    • Vme64x core user guide
More Pages

New Wiki Page

Tip: You can specify the full path for the new file. We will automatically create any missing directories.