-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
78 lines (56 loc) · 2.15 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
THIS PROJECT IS DEPRECATED. DO NOT USE IT!
Repository containing the BPM firmware
===============================================
The project is based on tools and projects developed by CERN and others:
hdl-make:
http://www.ohwr.org/projects/hdl-make
wishbone-gen:
http://www.ohwr.org/projects/wishbone-gen
platform-independent core collection:
http://www.ohwr.org/projects/general-cores
white-rabbit core collection:
http://www.ohwr.org/projects/wr-cores
===============================================
This repository makes use of git submodules, located at 'cores' folder:
cores/general-cores
cores/hdl-make
cores/wishbone-gen
cores/wr-cores
And custom modules (based or not on others):
cores/hdl-make2
Also, there is a modification to the hdlmake program, called
hdlmake2, in order to support the ISim simulation software.
To clone the whole repository use the following command:
$ git clone --recursive git://github.com/lerwys/BPM_project.git
or
$ git clone --recursive [email protected]:lerwys/BPM_project.git
For older versions of Git (<1.6.5), use the following:
$ git clone git://github.com/lerwys/BPM_project.git
or
$ git clone [email protected]:lerwys/BPM_project.git
$ git submodule init
$ git submodule update
To update each submodule within this project use:
$ git submodule foreach git rebase origin master
===============================================
Known Issues:
If you plan on using the hdlmake2 (modified from the original
hdlmake) with Xilinx simulation tool (ISim), there is a know
bug.
The ISim tool may issue an error when trying to return a value
with structured access. See example below (extracted from
Xilinx Foruns: http://forums.xilinx.com/t5/Simulation-and
-Verification/FATAL-ERROR-in-ISIM-Simulator-when-
derefencing-pointer-to-array/td-p/189894:
function toString(vector: std_ulogic_vector) return string is
begin
return toLine(vector).all;
end toString;
The above snippet won't compile. The workaround to this
bug is breaking the return line into two.
function toString(vector:std_ulogic_vector) return string is
variable templ : line;
begin
templ := toLine(vector);
return templ.all;
end toString;