Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
Beam Positoning Monitor - Gateware
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
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
Beam Positoning Monitor - Gateware
Commits
2d3558af
Commit
2d3558af
authored
Nov 21, 2012
by
Lucas Russo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
README: fix some typos and update hierarchy organization tree
parent
d8e9b951
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
115 additions
and
105 deletions
+115
-105
README
README
+115
-105
No files found.
README
View file @
2d3558af
==========================================================
==========================================================
====================
Repository containing the Beam Position Monitor FPGA firmware and
software.
==========================================================
==========================================================
====================
Folder Hierarchy organization:
...
...
@@ -17,9 +17,9 @@ Folder Hierarchy organization:
| | | modules (http://www.ohwr.org).
| | |
| | |-- etherbone-core:
| | | Connects two Wishbone
Bus
ses, either a true hardware bus
| | | or emulated software bus, through
t
Ethernet.
| | |-- general-cores (fork from original projec
ct):
| | | Connects two Wishbone
bu
ses, either a true hardware bus
| | | or emulated software bus, through Ethernet.
| | |-- general-cores (fork from original projec
t):
| | General reusable modules.
| |
| |-- modules:
...
...
@@ -32,10 +32,10 @@ Folder Hierarchy organization:
| | Wishbone modules to BPM hardware.
| |
| |-- platform:
| | Platform-specific code, such as
xilinx c
hipscope wrappers.
| | Platform-specific code, such as
Xilinx C
hipscope wrappers.
| |
| |-- sim:
| | Generic simulation files, reusable Bus Functional Modules (BFM),
| | Generic simulation files, reusable Bus Functional Modules (BFM
s
),
| | constants definitions.
| |
| |-- syn:
...
...
@@ -50,46 +50,55 @@ Folder Hierarchy organization:
| Top design modules.
|
|-- sw:
| Software related to interfacing the BPM carrier board with a PC
| via PCIe.
| | Software related to interfacing the BPM carrier board with a PC
| | via PCIe.
| |
| |-- drivers:
| | Linux Kernel code for device drivers
| |
| |-- include:
| | Header files for device structures and definitions
| |
| |-- lib:
| Utilities and API functions exported by the drivers
|
|-- embedded-sw (based on the original project by Alessandrio Rubini
and others
|
<http://www.ohwr.org/projects/wrpc-sw>):
| Embedded software that runs inside the LM32 softcore processor.
|
|-- arch:
| Architecture specific code, like linker scripts and boot code.
|
|-- boards:
| Board specific parameters and initialization.
|
|-- dev:
| Device specific code, such as UART, GPIO and DMA interfaces
|
|-- include:
| | General headers, mosly API device headers.
| |
| |-- hw:
| | Device specefic registers and strucutures. This defnitions
| | are included by the more general headers located inside
| | the "include" top directory.
| |
| |-- memmgr:
| Memory pool for "dynamic" alocated memory. Code by
| by Eli Bendersk
y.
|
|-- lib:
| Utilities and general functions, such as the memmgr subsystem
| and a printf-like function.
|
|-- tests:
| Folder dedicated to software testing.
|
|-- tools:
General tools for generating RAM loadable file by the firmware
FPGA.
==========================================================
|-- embedded-sw (based on the original project by Alessandrio Rubini
| | and others
<http://www.ohwr.org/projects/wrpc-sw>):
| |
| | Embedded software that runs inside the LM32 softcore processor.
| |
| |-- arch:
| | Architecture specific code, like linker scripts and boot code.
| |
| |-- boards:
| | Board specific parameters and initialization.
| |
| |-- dev:
| | Device specific code, such as UART, GPIO and DMA interfaces
| |
| |-- include:
| | | General headers, mostly API device headers.
| | |
| | |-- hw:
| | | Device specific registers and structures. This definitions
| | | are included by the more general headers located inside
| | | the "include" top directory.
| | |
| | |-- memmgr:
| | Memory pool for "dynamic" allocated memor
y.
|
|
| |-- lib:
|
| Utilities and general functions, such as the memmgr subsystem
|
| and a printf-like function.
| |
| |-- tests:
|
| Folder dedicated to software testing.
|
|
| |-- tools:
| |
General tools for generating RAM loadable file by the firmware
| |
FPGA.
==========================================================
====================
Cloning this repository:
...
...
@@ -116,61 +125,62 @@ 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:
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 hdlmake2 command available
Run the following commands. You must have hdlmake2 command available
in your PATH environment variable.
->
Create the (ISim) simualation makefile
Create the (ISim) simualation makefile
1 -
hdlmake2 --make-isim
$
hdlmake2 --make-isim
->
Compile the project
Compile the project
2 -
make
$
make
-> Create the simulation executable elf
file
Create the simulation executable ELF
file
3 -
make fuse TOP_MODULE=<top_level_testbench_module_without_the_extension>
$
make fuse TOP_MODULE=<top_level_testbench_module_without_the_extension>
->
Execute the simulation with GUI and aditional commands
Execute the simulation with GUI and aditional commands
4 -
./isim_proj -view wave.wcfg -tclbatch isim_cmd -gui
$
./isim_proj -view wave.wcfg -tclbatch isim_cmd -gui
==========================================================
==========================================================
====================
Synthesis instructions:
->
Go to a syn directory. It must have a top manifest file:
Go to a syn directory. It must have a top manifest file:
cd /hdl/top/path_to_top_design
->
Run the following commands. You must have hdlmake2 command available
Run the following commands. You must have hdlmake2 command available
in your PATH environment variable.
-> Create the synthesis makefile and an ISE project
Create the synthesis makefile and an ISE project
$ hdlmake2 --make-ise --ise-proj
1 - hdlmake2 --make-ise --ise-proj
Compile the source files locally
-> Compile the source files locally
$ make local
2 - make loca
l
Load the generated .bit file with iMPACT or other too
l
-> Load the generated .bit file with iMPACT or other tool
$ impact
3 - impact
==========================================================
==============================================================================
Know Issues:
Know
n
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.
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.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment