OpenCores
URL https://opencores.org/ocsvn/1000base-x/1000base-x/trunk

Subversion Repositories 1000base-x

[/] [1000base-x/] [trunk/] [testbench/] [README] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 dwp
 
2
1000BASE-X IEEE 802.3-2008 Clause 36/37 - PCS Testbench
3
-------------------------------------------------------
4
 
5
The following README describes howto run the 802.3-2008 Clause 36/37 1000BASE-X
6
simulation/testbench under ModelSim PE (6.6c) with Xilinx 12.3 Simulation
7
libraries (UNISIMS).
8
 
9
Dave W Pegler { peglerd@gmail.com} 12th February 2012
10
 
11
-------------------------------------------------------------------------
12
 
13
1. Download latest version of 1000base-x firmware
14
-------------------------------------------------
15
 
16
To download the latest version of the 1000base-x firmware, go to :
17
 
18
        http://opencores.org/download,1000base-x
19
 
20
or, using SVN, checkout the trunk:
21
 
22
        svn co http://opencores.org/ocsvn/1000base-x/1000base-x/trunk
23
 
24
[dwp@froggatt ~]$ cd /tmp/
25
[dwp@froggatt tmp]$ mkdir 1000base-x
26
[dwp@froggatt tmp]$ cd 1000base-x/
27
 
28
[dwp@froggatt 1000base-x]$ svn co http://opencores.org/ocsvn/1000base-x/1000base-x/trunk
29
 
30
A    trunk/testbench
31
A    trunk/testbench/rtl
32
A    trunk/testbench/rtl/verilog
33
A    trunk/testbench/rtl/verilog/gmii_rx_model.v
34
A    trunk/testbench/rtl/verilog/gmii_tx_model.v
35
A    trunk/testbench/rtl/verilog/interfaces.v
36
A    trunk/testbench/rtl/verilog/clock_gen.v
37
A    trunk/testbench/rtl/verilog/encoder_8b10b_threads.v
38
A    trunk/testbench/rtl/verilog/tb_utils.v
39
A    trunk/testbench/rtl/verilog/decoder_8b_rx_model.v
40
A    trunk/testbench/rtl/verilog/ge_1000baseX_tb_script.v
41
A    trunk/testbench/rtl/verilog/ethernet_frame.v
42
A    trunk/testbench/rtl/verilog/ethernet_threads.v
43
A    trunk/testbench/rtl/verilog/timescale_tb.v
44
A    trunk/testbench/rtl/verilog/ge_1000baseX_utils.v
45
A    trunk/testbench/rtl/verilog/encoder_8b_tx_model.v
46
A    trunk/testbench/rtl/verilog/ge_1000baseX_tb.v
47
A    trunk/testbench/rtl/verilog/mdio_serial_model.v
48
A    trunk/testbench/rtl/verilog/packet.v
49
A    trunk/testbench/rtl/verilog/encoder_10b_rx_model.v
50
A    trunk/testbench/wave.do
51
A    trunk/testbench/scripts
52
A    trunk/testbench/scripts/compile_ge_1000baseX.sh
53
A    trunk/testbench/scripts/compile_ge_1000baseX_tb.sh
54
A    trunk/testbench/scripts/sim_ge_1000baseX_tb.sh
55
A    trunk/testbench/scripts/compile_unisims.sh
56
A    trunk/testbench/data
57
A    trunk/testbench/data/8b10b.dat
58
A    trunk/rtl
59
A    trunk/rtl/verilog
60
A    trunk/rtl/verilog/encoder_8b10b.v
61
A    trunk/rtl/verilog/ge_1000baseX_fpga.v
62
A    trunk/rtl/verilog/ge_1000baseX_an.v
63
A    trunk/rtl/verilog/ge_1000baseX_test.v
64
A    trunk/rtl/verilog/ge_1000baseX.v
65
A    trunk/rtl/verilog/ge_1000baseX_regs.v
66
A    trunk/rtl/verilog/decoder_8b10b.v
67
A    trunk/rtl/verilog/ge_1000baseX_core.v
68
A    trunk/rtl/verilog/ge_1000baseX_mdio.v
69
A    trunk/rtl/verilog/timescale.v
70
A    trunk/rtl/verilog/ge_1000baseX_rx.v
71
A    trunk/rtl/verilog/ge_1000baseX_tx.v
72
A    trunk/rtl/verilog/clean_rst.v
73
A    trunk/rtl/verilog/ge_1000baseX_constants.v
74
A    trunk/rtl/verilog/ge_1000baseX_sync.v
75
A    trunk/doc
76
A    trunk/doc/802.3-2008_section2.pdf
77
A    trunk/doc/802.3-2008_section3.pdf
78
A    trunk/doc/CL36_PCS_Test_Suite_v2.1.pdf
79
A    trunk/doc/US4486739.pdf
80
A    trunk/doc/01-581v1.pdf
81
Checked out revision 4.
82
[dwp@froggatt 1000base-x]$
83
 
84
 
85
2. Installing ModelSim PE 6.6c and Xilinx ISE 12.3
86
--------------------------------------------------
87
 
88
The 1000BASE-X simulation/testbench has been designed to be built with ModelSim PE 6.6c using
89
UNISIMS libraries from Xilinx ISE 12.3.
90
 
91
To install Xilinx ISE 12.3, go to:
92
 
93
        http://www.xilinx.com/support/documentation/dt_ise12-3.htm
94
 
95
If you install a different version of Xilinx ISE than 12.3, then you will need to update
96
the XILINXPATH environment variable in the trunk/testbench/scripts/compile_unisims.sh
97
script to ensure the correct Xilinx UNISIMS library is compiled.
98
 
99
To install ModelSim 6.6c, see:
100
 
101
        http://model.com/content/modelsim-pe-simulation-and-debug
102
 
103
3. Cygwin Build/Simulation Environment
104
---------------------------------------
105
 
106
The 1000BASE-X simulation/testbench has been designed to run from within a Cygwin
107
Linux/Unix shell running on Windows. It is therefore necessary to install
108
Cygwin by running the "setup.exe" binary from :
109
 
110
http://cygwin.com/install.html
111
 
112
The following is a good tutorial on how to install the basic Cygwin system
113
(which is all you really need):
114
 
115
        http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/cygwin/part1
116
 
117
Once Cygwin is installed, start a Cygwin Linux/Unix session by double clicking on
118
the Cygwin icon (that looks like this: http://www.davix.co.uk/cygwin-icon.gif) which
119
should have appeared on your Desktop after the installation.
120
 
121
When Cygwin is running, you should get a Unix/Linux shell which looks something like this:
122
 
123
        http://www.davix.co.uk/cygwin-screenshot.png
124
 
125
Next navigate to the working directory into which the 1000base-x firmware was downloaded
126
in step 1 and then into the trunk/tesbench directory, like so:
127
 
128
        http://www.davix.co.uk/cygwin-screenshot2.png
129
 
130
You are now ready to compile the project and run the simulation by following the next steps..
131
 
132
3. Synthesis/Compilation
133
-------------------------
134
 
135
First you will need to compile the Xilinx UNISIMS libraries. Do this by typing the
136
following in the Cygwin shell (remembering to include the full stop at the beginning):
137
 
138
        ./scripts/compile_unisims.sh
139
 
140
Next you will need to compile the 1000base-x firmware. Do this by typing the following
141
in the Cygwin shell:
142
 
143
        ./scripts/compile_ge_1000baseX.sh
144
 
145
Finally you will need to compile the 1000base-x testbench. Do this by typing the following
146
in the Cygwin shell:
147
 
148
        ./scripts/compile_ge_1000baseX_tb.sh
149
 
150
and you should get something like this
151
 
152
        http://www.davix.co.uk/cygwin-screenshot3.png
153
 
154
4. Running the Testbench under ModelSim
155
---------------------------------------
156
 
157
The final step is to startup the ModelSim simulator. Do this by typing the following
158
in the Cygwin shell:
159
 
160
        ./scripts/sim_ge_1000baseX_tb.sh
161
 
162
To start the simulation running type "run -all" in the Transcript window and you
163
should get something like this:
164
 
165
        http://www.davix.co.uk/cygwin-modelsim.png
166
 
167
---------------------------------------------------------------------------------------

powered by: WebSVN 2.1.0

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