1 |
772 |
lampret |
OpenRISC Reference Platform (ORP) System-On-Chip (SOC)
|
2 |
|
|
======================================================
|
3 |
754 |
lampret |
|
4 |
|
|
Introduction
|
5 |
|
|
++++++++++++
|
6 |
|
|
|
7 |
|
|
This is OpenRISC Test Application. It contains OpenRISC 1200 and a set of
|
8 |
772 |
lampret |
OpenCores peripherals. The whole test application is designed as a SoC
|
9 |
|
|
(System-on-Chip). Peripherals include UART16550, VGA CRT
|
10 |
754 |
lampret |
controller, Audio controller, debug interface, Ethernet 10/100 MAC, SRAM
|
11 |
772 |
lampret |
and Flash controllers.
|
12 |
754 |
lampret |
OR1200 is a 32-bit RISC with harvard architecture. For XSV800 board it is
|
13 |
|
|
configured with 4/4KB data/instruction caches, no D/I MMU (lack of
|
14 |
|
|
BlockRAMs), and with programmable interrupt controller (PIC), MAC unit,
|
15 |
|
|
tick timer unit and debug unit.
|
16 |
759 |
lampret |
Right now the whole system runs only at 10MHz. This is because we are
|
17 |
|
|
right now focusing on getting functionality working and not optimizing.
|
18 |
|
|
Running heavily constrained P&R takes much longer.
|
19 |
754 |
lampret |
|
20 |
|
|
Software for this test application consists of:
|
21 |
|
|
- ORP (OpenRISC Reference Platform) monitor
|
22 |
|
|
- Linux (uClinux 2.0.36)
|
23 |
|
|
- OpenRISC GNU Toolchain (ANSI C compiler GCC, debugger etc)
|
24 |
|
|
|
25 |
|
|
Directory Structure
|
26 |
|
|
+++++++++++++++++++
|
27 |
|
|
|
28 |
|
|
bench: test bench (for simulation verification)
|
29 |
|
|
doc: Some of the documentation (more on the OpenCores web)
|
30 |
759 |
lampret |
rtl: Verilog sources of the XSV FPGA SoC
|
31 |
754 |
lampret |
sim: For running simulation
|
32 |
|
|
sw: Software example (OR1K GNU toolchain is available from OpenCores web)
|
33 |
|
|
syn: Synthesis scripts/constraints for FPGA and ASIC
|
34 |
|
|
|
35 |
|
|
Simulation
|
36 |
|
|
++++++++++
|
37 |
|
|
|
38 |
1138 |
lampret |
Architectural and RTL level simulations can be performed. Running directory
|
39 |
|
|
for all script should be sim/run. The following scripts are available:
|
40 |
|
|
1) sim/bin/run_sw: for building and running architectural simulations. You will need
|
41 |
|
|
OpenRISC GNU toolchain installed. To have correct toolchain installed, see
|
42 |
|
|
which or1ksim is being used (for example or32-rtems-sim, or32-uclinux-sim).
|
43 |
|
|
This script is also used for building software test cases for run_rtl_regression
|
44 |
|
|
script. This script can also do 'make clean' through all software test cases.
|
45 |
|
|
2) sim/bin/run_rtl_regression: for running RTL regressions using different
|
46 |
|
|
software test cases available in sw/ directory. Test cases need first to be
|
47 |
|
|
built using run_sw script.
|
48 |
|
|
3) sim/bin/run_rtl_linter: for running linter tool over RTL files.
|
49 |
754 |
lampret |
|
50 |
1138 |
lampret |
Architectural simulations copy their logs into sim/log and all log files are prefixed
|
51 |
|
|
with "s-". All RTL simulations copy their log files into sim/log and they are
|
52 |
|
|
prefixed with "iN-" where N is a number representing regression iteration. Each
|
53 |
|
|
iteration has different environment conditions, such as latency of memories used,
|
54 |
|
|
OR1200 configured with different options etc. All waveforms from RTL simulations
|
55 |
|
|
are stored in sim/out/wave directory.
|
56 |
|
|
|
57 |
|
|
An example of running RTL regression:
|
58 |
|
|
|
59 |
|
|
$ cd sim/run
|
60 |
|
|
$ ../bin/run_rtl_regression
|
61 |
|
|
Sun Aug 18 07:20:50 2002 0.178955 seconds
|
62 |
|
|
Test 1: dhry-nocache-O2, 250 ms Test 2: dhry-icdc-O2, 100 ms
|
63 |
|
|
Test 3: mmu-nocache, 100 ms Test 4: mmu-icdc, 400 ms
|
64 |
|
|
Test 5: basic-icdc, 40 ms Test 6: basic-nocache, 40 ms
|
65 |
|
|
Test 7: mul-nocache-O2, 40 ms Test 8: mul-icdc-O2, 40 ms
|
66 |
|
|
Test 9: except-nocache, 60 ms Test 10: except-icdc, 40 ms
|
67 |
|
|
Test 11: cbasic-nocache-O2, 40 ms Test 12: cbasic-icdc-O0, 40 ms
|
68 |
|
|
|
69 |
|
|
Iteration 1: OR1200_REGISTERED_OUTPUTS+FLASH_GENERIC+FLASH_GENERIC_REGISTERED+SRAM_GENERIC_REGISTERED
|
70 |
|
|
Iteration 2: OR1200_REGISTERED_OUTPUTS+FLASH_GENERIC+OR1200_CLMODE_1TO2
|
71 |
|
|
Iteration 3: OR1200_REGISTERED_OUTPUTS
|
72 |
|
|
|
73 |
|
|
<<<
|
74 |
|
|
<<< Iteration 1: OR1200_REGISTERED_OUTPUTS+FLASH_GENERIC+FLASH_GENERIC_REGISTERED+SRAM_GENERIC_REGISTERED
|
75 |
|
|
<<<
|
76 |
|
|
|
77 |
|
|
@@@
|
78 |
|
|
@@@ Compiling sources
|
79 |
|
|
@@@
|
80 |
|
|
@@@ Passed
|
81 |
|
|
|
82 |
|
|
@@@
|
83 |
|
|
@@@ Building design hierarchy (elaboration)
|
84 |
|
|
@@@
|
85 |
|
|
@@@ Passed
|
86 |
|
|
|
87 |
|
|
###
|
88 |
|
|
### Running test 1: dhry-nocache-O2, 250 ms
|
89 |
|
|
###
|
90 |
|
|
### Passed (@time 9127052.00)
|
91 |
|
|
|
92 |
|
|
###
|
93 |
|
|
### Running test 2: dhry-icdc-O2, 100 ms
|
94 |
|
|
###
|
95 |
|
|
### Passed (@time 6402152.00)
|
96 |
|
|
|
97 |
|
|
|
98 |
754 |
lampret |
Synthesis
|
99 |
|
|
+++++++++
|
100 |
|
|
|
101 |
|
|
N/A yet.
|
102 |
|
|
|
103 |
|
|
Want to help?
|
104 |
|
|
+++++++++++++
|
105 |
|
|
|
106 |
|
|
We need companies, universities and individuals to help us in HW and SW areas.
|
107 |
|
|
|
108 |
|
|
If you want to help, first go to http://www.opencores.org/cores/or1k-new/ and
|
109 |
|
|
check the status and TODOs. Also read the documentation.
|
110 |
|
|
|
111 |
|
|
Subscribe to the openrisc mailing list (and read OpenCores FAQ before you post):
|
112 |
|
|
- if you want more information
|
113 |
|
|
- if you want to help with the HW design (test application(s), verification of the
|
114 |
|
|
OR1200, optimization of OR1200, development of new units etc)
|
115 |
|
|
- if you want to develop software
|
116 |
|
|
|
117 |
|
|
If you want to help in some other area, please subscribe to main opencores
|
118 |
|
|
mailing list.
|
119 |
|
|
|
120 |
|
|
About OpenCores
|
121 |
|
|
===============
|
122 |
|
|
|
123 |
|
|
OpenCores is an organization that developes free, open source soft cores. If
|
124 |
|
|
you would like more information, please visit us at http://www.opencores.org.
|
125 |
|
|
|
126 |
|
|
We invite companies and individuals to help us in our mission. We need
|
127 |
|
|
experienced designers to verify and design new cores.
|
128 |
|
|
And we need companies and universities to use our existing verified cores in
|
129 |
|
|
projects (the whole purpose of OpenCores is to design free cores that someone
|
130 |
|
|
will use !).
|
131 |
|
|
|
132 |
|
|
--
|
133 |
|
|
Damjan Lampret, Mar/2002
|
134 |
|
|
$Log: not supported by cvs2svn $
|
135 |
1138 |
lampret |
Revision 1.3 2002/03/28 17:48:07 lampret
|
136 |
|
|
Changing directory structure ...
|
137 |
|
|
|
138 |
772 |
lampret |
Revision 1.2 2002/03/21 22:14:46 lampret
|
139 |
|
|
Explained 10MHz. Fixed directory name.
|
140 |
|
|
|
141 |
759 |
lampret |
Revision 1.1.1.1 2002/03/21 20:47:47 lampret
|
142 |
|
|
First import of the "new" XESS XSV environment.
|