OpenCores
URL https://opencores.org/ocsvn/spacewiresystemc/spacewiresystemc/trunk

Subversion Repositories spacewiresystemc

[/] [spacewiresystemc/] [trunk/] [README.md] - Blame information for rev 40

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 redbear
# SPACEWIRESYSTEMC
2
This project provide the necessary to run a envireonment test to spacewire verilog using SystemC and running it on icarus verilog
3
 
4 40 redbear
###Donate to help us make much more to this world
5 5 redbear
 
6 40 redbear
### [XVG](https://vergecurrency.com/)  - VERGE    : DEpRyRqDisHcM38tTh5JRckCWQLoYYGLHa
7
### [DGB](https://www.digibyte.co/digibyte-global-blockchain)  - DIGIBYTE : DKHrs2Dr4v5HxNnHVGdrqu1RLPHQe7Xow2
8
### [LTC](https://litecoin.org/)  - LITECOIN : M8vHgFurrJ5LTCNi1ZPaVXqCeFeXJuHg8v
9
### [DOGE](https://dogecoin.com/) - DOGECOIN : DAL7LSZpZSrhfjZcMyoUqVbFqnBr4Hf712
10
### [BTC](https://bitcoin.org/en/)  - BITCOIN  : 34PZyDFZxKZmHztTqZ1g5MFsFo2gQSgYpX
11
### [LCC](https://litecoinca.sh/)  - LITECOINC: MVgG85oVSmonKdKxAt7MAjrAoyx5v6Yj9F
12
### [DASH](https://www.dash.org/) - DASHCOIN : XnK65Ep7yypUUP4scd9iYVsJrKtx6LWV8Z
13
### [FLO](https://www.flo.cash/)  - FLOCOIN  : FAv8YGHBoLipeBDTptXgT3dfkBXPQbD2KD
14 5 redbear
 
15 40 redbear
### ABOUT this Spacewire
16 5 redbear
 
17
This consist in a aerospace IP used to data between another switch who contain another spacewire. To this project we give to you the possibility to test or use the IP only spacewire2spacewire using the standart interface we elaborated by design. The model like verilog follow the standart spacewire from year 2008.
18
 
19
 This IP was developed in order to:
20
 
21
  - Concepts acquired in training in the digital stream
22
  - Integration with free software
23
  - Different forms of functional verification
24
  - Projects aimed at ASIC
25
  - IP facing low density - average
26
  - Promoting microelectronics interested people on Latin America
27
  - Teamwork
28
 
29 40 redbear
### IP features
30 5 redbear
 - Design definition
31
 
32 40 redbear
### Model features
33 5 redbear
 
34 40 redbear
### RX
35 5 redbear
 - 850ns timeout
36
 - Parity error
37
 - Invalid combination
38
 - Nchar "data-eop-eep"
39
 - Fct counter
40
 - Time Code
41
 
42 40 redbear
### TX
43 5 redbear
 - Parity calculation
44
 - Nchar "data-eop-eep"
45
 - Time Code
46
 - Send Fct
47
 - Frequencies worked Mhz "2 - 10 - 20 - 50 - 100 - 150 - 200 - 201 - 250 - 280"
48
 
49 40 redbear
### FSM SPACEWIRE
50 5 redbear
 - Linkstart - AutoStart - LinkDisable
51
 - 12,8 us timeout
52
 - 6,4  us timeout
53
 
54 40 redbear
### Requisites
55 5 redbear
 
56
 - Linux Distro
57
 - Icarus verilog [http://iverilog.icarus.com/]
58
 - SystemC 2.3 [http://accellera.org/downloads/standards/systemc]
59
 - gtkwave [http://gtkwave.sourceforge.net/]
60
 - gtk3
61
 - libboost
62
 - gtkmm
63
 - glade
64 40 redbear
 - cmake
65 5 redbear
 
66
*Obs: you need alredy know how to compile and understand concepts and how work icarus / SystemC / linux tools
67
 
68 40 redbear
### Configuration of Environment
69 5 redbear
 
70
To systemC , icarus verilog and gtkwave follow instalation guide provided by developers and make propely exports to linux distro see includes and objects used during build of environment. The folder work is where you need compile and execute the test using systemC and DUT in verilog. Note on env_global_spw.cpp some includes fail because location so you need set it where you have compiled or instaled icarus verilog.
71
 
72 40 redbear
On work folder you should see after you installed systemC if is propely installed
73 5 redbear
 
74
```sh
75
$ ldd final_spw.so
76
```
77
 
78
The result of command should be this
79
 
80
```sh
81
        linux-vdso.so.1 (0x00007ffe3c1ec000)
82
        libsystemc-2.3.0.so => /systemc-2.3.0/lib-linux64/libsystemc-2.3.0.so (0x00007f752f1ef000)
83
        libgtkmm-3.0.so.1 => /usr/lib64/libgtkmm-3.0.so.1 (0x00007f752ea75000)
84
        libatkmm-1.6.so.1 => /usr/lib64/libatkmm-1.6.so.1 (0x00007f752e828000)
85
        libgdkmm-3.0.so.1 => /usr/lib64/libgdkmm-3.0.so.1 (0x00007f752e5e1000)
86
        libgiomm-2.4.so.1 => /usr/lib64/libgiomm-2.4.so.1 (0x00007f752e234000)
87
        libpangomm-1.4.so.1 => /usr/lib64/libpangomm-1.4.so.1 (0x00007f752e006000)
88
        libglibmm-2.4.so.1 => /usr/lib64/libglibmm-2.4.so.1 (0x00007f752dd8c000)
89
        libgtk-3.so.0 => /usr/lib64/libgtk-3.so.0 (0x00007f752d4ac000)
90
        libgdk-3.so.0 => /usr/lib64/libgdk-3.so.0 (0x00007f752d1ff000)
91
        libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007f752cff2000)
92
        libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007f752cda6000)
93
        libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007f752cb80000)
94
        libcairo-gobject.so.2 => /usr/lib64/libcairo-gobject.so.2 (0x00007f752c977000)
95
        libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f752c5f7000)
96
        libcairomm-1.0.so.1 => /usr/lib64/libcairomm-1.0.so.1 (0x00007f752c3d1000)
97
        libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007f752c0af000)
98
        libsigc-2.0.so.0 => /usr/lib64/libsigc-2.0.so.0 (0x00007f752bea8000)
99
        libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007f752bc85000)
100
        libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f752ba34000)
101
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f752b724000)
102
        libboost_thread.so.1.54.0 => /usr/lib64/libboost_thread.so.1.54.0 (0x00007f752b50c000)
103
        libboost_system.so.1.54.0 => /usr/lib64/libboost_system.so.1.54.0 (0x00007f752b308000)
104
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f752af83000)
105
        libm.so.6 => /lib64/libm.so.6 (0x00007f752ac82000)
106
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f752aa6b000)
107
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f752a84d000)
108
        libc.so.6 => /lib64/libc.so.6 (0x00007f752a4a5000)
109
        libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f752a2a0000)
110
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f7529f62000)
111
        libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f7529d52000)
112
        libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f7529b4b000)
113
        libatk-bridge-2.0.so.0 => /usr/lib64/libatk-bridge-2.0.so.0 (0x00007f752991d000)
114
        libepoxy.so.0 => /usr/lib64/libepoxy.so.0 (0x00007f7529623000)
115
        libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007f752940e000)
116
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f75291d1000)
117
        libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007f7528fce000)
118
        libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f7528dc2000)
119
        libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f7528bb7000)
120
        libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007f75289b4000)
121
        libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007f75287b0000)
122
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f752859e000)
123
        librt.so.1 => /lib64/librt.so.1 (0x00007f7528396000)
124
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f75280fe000)
125
        libz.so.1 => /lib64/libz.so.1 (0x00007f7527ee8000)
126
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f7527cc3000)
127
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f7527aac000)
128
        libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007f7527801000)
129
        libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007f75275d8000)
130
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f75273d4000)
131
        libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f7527197000)
132
        libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007f7526f93000)
133
        libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007f7526d89000)
134
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f7526b69000)
135
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f752695e000)
136
        libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f75266cd000)
137
        libffi.so.4 => /usr/lib64/libffi.so.4 (0x00007f75264c3000)
138
        libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f752625d000)
139
        /lib64/ld-linux-x86-64.so.2 (0x0000563bbfa45000)
140
        libatspi.so.0 => /usr/lib64/libatspi.so.0 (0x00007f752602c000)
141
        libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f7525de5000)
142
        libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f7525b85000)
143
        libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f752595a000)
144
        libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f752574b000)
145
        libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007f7525548000)
146
        libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x00007f7525343000)
147
        libxcb-xfixes.so.0 => /usr/lib64/libxcb-xfixes.so.0 (0x00007f752513c000)
148
        libgbm.so.1 => /usr/lib64/libgbm.so.1 (0x00007f7524f2d000)
149
        libwayland-client.so.0 => /usr/lib64/libwayland-client.so.0 (0x00007f7524d1f000)
150
        libwayland-server.so.0 => /usr/lib64/libwayland-server.so.0 (0x00007f7524b0d000)
151
        libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007f75248fd000)
152
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f75246f9000)
153
        libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007f75244ca000)
154
        libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 (0x00007f75242b2000)
155
        libxcb-dri3.so.0 => /usr/lib64/libxcb-dri3.so.0 (0x00007f75240af000)
156
        libxcb-present.so.0 => /usr/lib64/libxcb-present.so.0 (0x00007f7523eab000)
157
        libxcb-sync.so.1 => /usr/lib64/libxcb-sync.so.1 (0x00007f7523ca5000)
158
        libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1 (0x00007f7523aa2000)
159
        libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007f752389b000)
160
        libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f7523672000)
161
```
162
 
163
To Run environment just do the follow command
164
 
165
```sh
166
  bash run.sh
167
```
168 40 redbear
### What I have done till now
169 5 redbear
 
170
 - Graphical interface to a better experience
171
 - Dinamic change clock during environment execution on TX execution
172 40 redbear
 - Debuging both spacewires TRC/ULIGHT
173 5 redbear
 - A output file in html format TX SystemC 2 RX Verilog contain data compared
174
 - A output file in html format TX Verilog 2 RX SystemC contain data compared
175
 
176 40 redbear
 - Adding another spacewires to test in software
177 5 redbear
 
178 40 redbear
### BUGS ? :-(
179 5 redbear
 
180 40 redbear
 - Timecode still not functional
181
 - SystemC is better coded now to avoid problems during execution
182
 - verilog inst tested under syntesys verilog with sdf files. This might be a problem right now
183 5 redbear
 
184 40 redbear
### What i will do on future if i still alive go to space X-D
185
 
186
 - I'm a bit unhappy with graphical interface ... i wish rebuild it .. but i don't know when
187
 - Need help to build a better sdc aimed to Altera Fpga to run each Spacewire on altera first place ....
188
 - Re write Spacewire ulight documentation about blcoks
189
 - Build a new set of tests cases to spacewire ulight without graphical interface
190
 - i want build a better java interface to tests to software ... but Openjdk in new version ... i just want may be use javaFx

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.