OpenCores

Details

Name: pcie_ds_dma
Created: Aug 10, 2012
Updated: Sep 12, 2015
SVN Updated: Sep 4, 2018
SVN: Browse
Latest version: download (might take a bit to start...)
Statistics: View
Bugs: 0 reported / 0 solved
Star9you like it: star it!

Other project properties

Category:System controller
Language:Verilog & VHDL
Development status:Alpha
Additional info:
WishBone compliant: Yes
WishBone version: n/a
License: LGPL

Description

The PCIe_DS_DMA core provides PCI Express controller for Xilinx HARD core for Virtex5, Virtex6, Spartan6, Artix 7 FPGA.

Main features

  • PCI Express 1.1 x1,x4,x8 or 2.0 x4
  • two address space: BAR0, BAR1
  • access to registers can only be single 32-bit instructions
  • local bus: 64 bit, 250 MHz
  • two independent bidirectional DMA channel
  • DMA channel only works in the SCATTER-GATHER mode
  • The minimum unit of data for channel DMA - 4 kB
  • Descriptors combined into the block descriptors. The maximum number of descriptors in the block - 63
  • DMA channel uses 40 bit addresses

Resource

The main site of project: http://ds-dev.ru/projects/ds-dma

English Wiki: http://ds-dev.ru/projects/ds-dma/wiki/English

Russian Wiki: http://ds-dev.ru/projects/ds-dma/wiki

Struct of repository

  • core - common code
    • ds_dma64\pcie_src - pci express controller
    • adm - common files to ADM projects
    • wishbone - commons files to WISHBONE projects
  • projects - projects for several boards
  • soft\linux - Software for Linux
    • common - common code
    • application - test application
    • driver\pex_drv - driver for linux core
    • exam - simple examples

ADM projects

ADM is internal inteface of Instrumental Systems company: http://www.insys.ru
  • ambpex5_v20_sx50t_core - example project for AMBPEX5 board.
  • ml605_lx240t_core - example project for ML605 board.
  • sp605_lx45t_core - example project for SP605 board.
  • ac701_a200t_core - example project for AC701 board.

WISHBONE projects

  • sp605_lx45t_wishbone - example project for SP605 board.
  • ambpex5_sx50t_wishbone - example project for AMBPEX5 board.

Main components

PCI Express controller with PLD_Bus

PLD_Bus is an internal packet bus of DS_DMA controller. PLD_Bus can be transform to another bus as LC_BUS, Wishbone, AXI, etc. There are four main components:
  • pcie_core64_m1 - PCI Express controller for Virtex 5
  • pcie_core64_m4 - PCI Express controller for Virtex 6
  • pcie_core64_m6 - PCI Express controller for Spartan 6
  • pcie_core64_m10 - PCI Express controller for Artix 7

PCI Express controller with LC_Bus

LC_Bus is a generic parallel bus. The bus contains 32-bit addres bus, 64-bit data bus and several contol signals. Components:
  • pcie_core64_m2 - PCI Express controller for Virtex 5
  • pcie_core64_m5 - PCI Express controller for Virtex 6 or Artix 7
  • pcie_core64_m7 - PCI Express controller for Spartan 6

PCI Express controller with Wishbone bus

Components:
  • pcie_core64_wishbone - PCI Express controller for Spartan 6
  • pcie_core64_wishbone_m8 - PCI Express controller for Virtex 5

Results

Speed of data transfer for PCI Express v1.1 x8 : http://ds-dev.ru/projects/ds-dma/wiki/Ambpex5_v20_sx50t_core_res_en

Download

Download page: http://ds-dev.ru/projects/ds-dma/wiki/Download

Contact

Dmitry Smekhov
Igor Kazinov
Vladimir Karakozov
  • E-mail: karakozov@gmail.com