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

Subversion Repositories spacewiresystemc

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

Go to most recent revision | 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
###Donate and help us "Bitcoin is the future"
5
 
6
 - 1CSZ9nHBWxLaf1nU9E9E15GAjKcYXD1wnV
7
 
8
###ABOUT this Spacewire
9
 
10
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.
11
 
12
 This IP was developed in order to:
13
 
14
  - Concepts acquired in training in the digital stream
15
  - Integration with free software
16
  - Different forms of functional verification
17
  - Projects aimed at ASIC
18
  - IP facing low density - average
19
  - Promoting microelectronics interested people on Latin America
20
  - Teamwork
21
 
22
###IP features
23
 - Design definition
24
 
25
###Model features
26
 
27
###RX
28
 - 850ns timeout
29
 - Parity error
30
 - Invalid combination
31
 - Nchar "data-eop-eep"
32
 - Fct counter
33
 - Time Code
34
 
35
###TX
36
 - Parity calculation
37
 - Nchar "data-eop-eep"
38
 - Time Code
39
 - Send Fct
40
 - Frequencies worked Mhz "2 - 10 - 20 - 50 - 100 - 150 - 200 - 201 - 250 - 280"
41
 
42
###FSM SPACEWIRE
43
 - Linkstart - AutoStart - LinkDisable
44
 - 12,8 us timeout
45
 - 6,4  us timeout
46
 
47
###Requisites
48
 
49
 - Linux Distro
50
 - Icarus verilog [http://iverilog.icarus.com/]
51
 - SystemC 2.3 [http://accellera.org/downloads/standards/systemc]
52
 - gtkwave [http://gtkwave.sourceforge.net/]
53
 - gtk3
54
 - libboost
55
 - gtkmm
56
 - glade
57
 
58
*Obs: you need alredy know how to compile and understand concepts and how work icarus / SystemC / linux tools
59
 
60
###Configuration of Environment
61
 
62
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.
63
 
64
On work folder you should see after yoo installed systemC if is propely installed
65
 
66
```sh
67
$ ldd final_spw.so
68
```
69
 
70
The result of command should be this
71
 
72
```sh
73
        linux-vdso.so.1 (0x00007ffe3c1ec000)
74
        libsystemc-2.3.0.so => /systemc-2.3.0/lib-linux64/libsystemc-2.3.0.so (0x00007f752f1ef000)
75
        libgtkmm-3.0.so.1 => /usr/lib64/libgtkmm-3.0.so.1 (0x00007f752ea75000)
76
        libatkmm-1.6.so.1 => /usr/lib64/libatkmm-1.6.so.1 (0x00007f752e828000)
77
        libgdkmm-3.0.so.1 => /usr/lib64/libgdkmm-3.0.so.1 (0x00007f752e5e1000)
78
        libgiomm-2.4.so.1 => /usr/lib64/libgiomm-2.4.so.1 (0x00007f752e234000)
79
        libpangomm-1.4.so.1 => /usr/lib64/libpangomm-1.4.so.1 (0x00007f752e006000)
80
        libglibmm-2.4.so.1 => /usr/lib64/libglibmm-2.4.so.1 (0x00007f752dd8c000)
81
        libgtk-3.so.0 => /usr/lib64/libgtk-3.so.0 (0x00007f752d4ac000)
82
        libgdk-3.so.0 => /usr/lib64/libgdk-3.so.0 (0x00007f752d1ff000)
83
        libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007f752cff2000)
84
        libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007f752cda6000)
85
        libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007f752cb80000)
86
        libcairo-gobject.so.2 => /usr/lib64/libcairo-gobject.so.2 (0x00007f752c977000)
87
        libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f752c5f7000)
88
        libcairomm-1.0.so.1 => /usr/lib64/libcairomm-1.0.so.1 (0x00007f752c3d1000)
89
        libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007f752c0af000)
90
        libsigc-2.0.so.0 => /usr/lib64/libsigc-2.0.so.0 (0x00007f752bea8000)
91
        libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007f752bc85000)
92
        libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f752ba34000)
93
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f752b724000)
94
        libboost_thread.so.1.54.0 => /usr/lib64/libboost_thread.so.1.54.0 (0x00007f752b50c000)
95
        libboost_system.so.1.54.0 => /usr/lib64/libboost_system.so.1.54.0 (0x00007f752b308000)
96
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f752af83000)
97
        libm.so.6 => /lib64/libm.so.6 (0x00007f752ac82000)
98
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f752aa6b000)
99
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f752a84d000)
100
        libc.so.6 => /lib64/libc.so.6 (0x00007f752a4a5000)
101
        libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f752a2a0000)
102
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f7529f62000)
103
        libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f7529d52000)
104
        libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f7529b4b000)
105
        libatk-bridge-2.0.so.0 => /usr/lib64/libatk-bridge-2.0.so.0 (0x00007f752991d000)
106
        libepoxy.so.0 => /usr/lib64/libepoxy.so.0 (0x00007f7529623000)
107
        libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007f752940e000)
108
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f75291d1000)
109
        libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007f7528fce000)
110
        libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f7528dc2000)
111
        libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f7528bb7000)
112
        libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007f75289b4000)
113
        libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007f75287b0000)
114
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f752859e000)
115
        librt.so.1 => /lib64/librt.so.1 (0x00007f7528396000)
116
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f75280fe000)
117
        libz.so.1 => /lib64/libz.so.1 (0x00007f7527ee8000)
118
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f7527cc3000)
119
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f7527aac000)
120
        libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007f7527801000)
121
        libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007f75275d8000)
122
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f75273d4000)
123
        libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f7527197000)
124
        libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007f7526f93000)
125
        libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007f7526d89000)
126
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f7526b69000)
127
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f752695e000)
128
        libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f75266cd000)
129
        libffi.so.4 => /usr/lib64/libffi.so.4 (0x00007f75264c3000)
130
        libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f752625d000)
131
        /lib64/ld-linux-x86-64.so.2 (0x0000563bbfa45000)
132
        libatspi.so.0 => /usr/lib64/libatspi.so.0 (0x00007f752602c000)
133
        libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f7525de5000)
134
        libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f7525b85000)
135
        libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f752595a000)
136
        libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f752574b000)
137
        libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007f7525548000)
138
        libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x00007f7525343000)
139
        libxcb-xfixes.so.0 => /usr/lib64/libxcb-xfixes.so.0 (0x00007f752513c000)
140
        libgbm.so.1 => /usr/lib64/libgbm.so.1 (0x00007f7524f2d000)
141
        libwayland-client.so.0 => /usr/lib64/libwayland-client.so.0 (0x00007f7524d1f000)
142
        libwayland-server.so.0 => /usr/lib64/libwayland-server.so.0 (0x00007f7524b0d000)
143
        libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007f75248fd000)
144
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f75246f9000)
145
        libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007f75244ca000)
146
        libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 (0x00007f75242b2000)
147
        libxcb-dri3.so.0 => /usr/lib64/libxcb-dri3.so.0 (0x00007f75240af000)
148
        libxcb-present.so.0 => /usr/lib64/libxcb-present.so.0 (0x00007f7523eab000)
149
        libxcb-sync.so.1 => /usr/lib64/libxcb-sync.so.1 (0x00007f7523ca5000)
150
        libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1 (0x00007f7523aa2000)
151
        libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007f752389b000)
152
        libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f7523672000)
153
```
154
 
155
To Run environment just do the follow command
156
 
157
```sh
158
  bash run.sh
159
```
160
###What I have done till now
161
 
162
 - Graphical interface to a better experience
163
 - Dinamic change clock during environment execution on TX execution
164
 - A output file in html format TX SystemC 2 RX Verilog contain data compared
165
 - A output file in html format TX Verilog 2 RX SystemC contain data compared
166
 
167
###SystemC BUGS ? :-(
168
 
169
 - Some disconections Spacewire SystemC dont reconnect for some verilogs
170
 - I didnt think in all possible combinations to char's so you may get a bad one
171
 - Time code on TX hiting button dont start send
172
 
173
###What i will do on future if i still alive go to space X-D
174
 
175
 - A timecode file to verilog receiver
176
 - Debuging SystemC and verilog
177
 - Test range of frequencies on RX SystemC

powered by: WebSVN 2.1.0

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