Coder Social home page Coder Social logo

lnls-dig / bpm-gw Goto Github PK

View Code? Open in Web Editor NEW
11.0 9.0 2.0 20.03 MB

Repository containing the gateware for the Beam Position Monitor project

License: GNU Lesser General Public License v3.0

Python 0.73% VHDL 29.86% C 50.05% Shell 0.21% Tcl 2.85% C++ 1.27% Assembly 0.35% Makefile 0.32% MATLAB 0.23% HTML 12.21% SystemVerilog 0.57% Verilog 0.67% Stata 0.69%
afc amc fmc fpga bpm

bpm-gw's Introduction

Sirius Beam Position Monitor FPGA firmware

Project Folder Organization

*
|
|-- hdl:
|    |   HDL (Verilog/VHDL) cores related to the BPM.
|    |
|    |-- ip_cores:
|    |    |   Third party reusable modules, primarily Open hardware
|    |    |     modules (http://www.ohwr.org).
|    |    |
|    |    |-- etherbone-core:
|    |    |       Connects two Wishbone buses, either a true hardware bus
|    |    |         or emulated software bus, through Ethernet.
|    |    |-- general-cores (fork from original project):
|    |            General reusable modules.
|    |
|    |-- modules:
|    |    |   Modules specific to BPM hardware.
|    |    |
|    |    |-- custom_common:
|    |    |       Common (reusable) modules to BPM hardware and possibly
|    |    |         to other designs.
|    |    |-- custom_wishbone:
|    |            Wishbone modules to BPM hardware.
|    |
|    |-- platform:
|    |        Platform-specific code, such as Xilinx Chipscope wrappers.
|    |
|    |-- sim:
|    |        Generic simulation files, reusable Bus Functional Modules (BFMs),
|    |          constants definitions.
|    |
|    |-- syn:
|    |        Synthesis specific files (user constraints files and top design
|    |          specification).
|    |
|    |-- testbench:
|    |        Testbenches for modules and top level designs. May use modules
|    |          defined elsewhere (specific within the 'sim" directory).
|    |
|    |-- top:
|             Top design modules.

Cloning Instructions

This repository makes use of git submodules, located at 'hdl/ip_cores' folder: hdl/ip_cores/general-cores hdl/ip_cores/etherbone-core hdl/ip_cores/dsp-cores hdl/ip_cores/infra-cores

To clone the whole repository use the following command:

git clone --recursive git://github.com/lnls-dig/bpm-gw.git (read only)

or

git clone --recursive [email protected]:lnls-dig/bpm-gw.git (read+write)

For older versions of Git (<1.6.5), use the following:

git clone git://github.com/lnls-dig/bpm-gw.git

or

git clone [email protected]:lnls-dig/bpm-gw.git

git submodule init
git submodule update

To update each submodule within this project use:

git submodule foreach git rebase origin master

Simulation Instructions

Go to a testbench directory. It must have a top manifest file:

cd hdl/testbench/path_to_testbench

Run the following commands. You must have hdlmake command available in your PATH environment variable.

Create the simualation makefile

hdlmake

Compile the project

make

Execute the simulation with GUI and aditional commands

vsim -do run.do &

Synthesis Instructions

Go to a syn directory. It must have a synthesis manifest file:

cd hdl/syn/path_to_syn_design

Run the following commands. You must have hdlmake command available in your PATH environment variable.

./build_bitstream_local.sh

Known Issues

wb_fmc150/sim/: This folder containts behavioral simulation models for memories (ROMs). However, the xilinx initialization file (.mif) paths are absolute to a specific machine! You either have to change the path to match your machine or figure a way to specifies a relative path (specifiying only the name of the mif file does not work as the simulator is not called within this folder). Try a relative path based on the simulation folder.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.