Skip to content

Commit 49ae9f3

Browse files
author
Daniel Cliche
committed
SOC moved to XGSoC
1 parent 2da9c06 commit 49ae9f3

File tree

191 files changed

+9
-86122
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

191 files changed

+9
-86122
lines changed

README.md

+6-54
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Graphite
22

3-
Graphite is a FPGA based open source system with 2D/3D graphics acceleration.
3+
Graphite is a FPGA based open source 2D/3D graphics accelerator.
4+
See the following project for an integration example: https://github.com/danodus/xgsoc
45

56
![Utah Teapot](doc/teapot.gif)
67

@@ -10,61 +11,18 @@ The documentation is available here: https://danodus.github.io/graphite/
1011

1112
## Features
1213

13-
The system has the following features:
14-
15-
- RISC-V (RV32I + Graphite extension)
16-
- UART (2000000-N-8-1)
17-
- SDRAM (32MiB shared between CPU and video)
18-
- Set associative cache (4-way with LRU replacement policy)
19-
- VGA (60 Hz), 480p (60Hz), 720p (60Hz) or 1080p (30Hz) HDMI video output with framebuffer (RGB565)
20-
- 2D/3D graphics accelerator (textured triangles)
21-
- USB host for keyboard and mouse
22-
- SD Card with hardware SPI
14+
- Draw textured triangle.
2315

2416
## Requirements
2517

2618
- OSS CAD Suite (https://github.com/YosysHQ/oss-cad-suite-build) (*)
27-
- xPack RISC-V Embedded GCC (https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases) (*)
28-
- Python3 with the following PIP3 packages installed: `pyserial`
29-
- picocom
30-
- SDL2 (for simulation only)
19+
- SDL2
3120

3221
(*) Extract and add the `bin` directory to the path.
3322

34-
Note: Tested with `oss-cad-suite-darwin-arm64-20240810` and `xpack-riscv-none-elf-gcc-14.2.0-1-darwin-arm64`.
35-
36-
## Getting Started on ULX3S
37-
38-
```bash
39-
cd soc/src/bios
40-
make
41-
cd ../../rtl/ulx3s
42-
make clean;make VIDEO=<video mode> prog
43-
cd ../../src/examples/test_graphite
44-
make run SERIAL=<serial device>
45-
picocom -b 2000000 <serial device>
46-
```
47-
48-
and press 'h' for help.
49-
50-
The following video modes are available:
51-
| Video Mode | Description |
52-
| -------------- | ---------------|
53-
| vga (default) | 640x480 60Hz |
54-
| 480p | 848x480 60Hz |
55-
| 720p | 1280x720 60Hz |
56-
| 1080p | 1920x1080 30Hz |
23+
Note: Tested with `oss-cad-suite-darwin-arm64-20240810`.
5724

58-
## System Simulation
59-
60-
```bash
61-
cd soc/src/examples/test_video
62-
make
63-
cd ../../../../soc/rtl/sim
64-
make run PROGRAM=../../src/examples/test_video/program.hex
65-
```
66-
67-
## Graphics Accelerator Simulation
25+
## Simulation
6826

6927
```bash
7028
cd rtl/sim
@@ -79,9 +37,3 @@ make run
7937
- Press T to enable/disable texture mapping;
8038
- Press L to increase the number of directional lights;
8139
- Press G to enable/disable Gouraud shading.
82-
83-
## Acknowledgements
84-
85-
- The SoC is based on the Oberon project for the ULX3S available here: https://github.com/emard/oberon
86-
- The CPU is based on icicle v1 available here: https://github.com/grahamedgecombe/icicle/tree/v1
87-
- The USB host is based on usb_host available here: https://gitlab.com/pnru/usb_host

doc/clock.rst

-29
This file was deleted.

doc/graphite.rst doc/commands.rst

+1-34
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,6 @@
1-
Graphite
1+
Commands
22
========
33

4-
2D/3D accelerator.
5-
6-
After a reset, the frame buffer address is 0x01000000.
7-
8-
Registers
9-
---------
10-
11-
=============== =============
12-
Register Address
13-
=============== =============
14-
GRAPHITE BASE_IO + 32
15-
=============== =============
16-
17-
GRAPHITE
18-
^^^^^^^^
19-
20-
Read:
21-
22-
===== ============================
23-
Field Description
24-
===== ============================
25-
[0] Ready?
26-
===== ============================
27-
28-
Write:
29-
30-
====== ============================
31-
Field Description
32-
====== ============================
33-
[31:0] Command
34-
====== ============================
35-
36-
374
Command Format
385
--------------
396

doc/config.rst

-68
This file was deleted.

doc/features.rst

+1-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
11
Features
22
========
33

4-
- RISC-V (RV32I + Graphite extension)
5-
- UART (2000000-N-8-1)
6-
- SDRAM (32MiB shared between CPU and video)
7-
- Set associative cache (4-way with LRU replacement policy)
8-
- VGA (60 Hz), 480p (60Hz), 720p (60Hz) or 1080p (30Hz) HDMI video output with framebuffer (RGB565)
9-
- 2D/3D graphics accelerator (textured triangles)
10-
- PS/2 keyboard
11-
- PS/2 mouse
12-
- SD Card with hardware SPI
4+
- Draw textured triangle.

doc/index.rst

+1-7
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,7 @@ Graphite System
1111
:caption: Contents:
1212

1313
features.rst
14-
memory_map.rst
15-
clock.rst
16-
led.rst
17-
uart.rst
18-
sd_card.rst
19-
graphite.rst
20-
config.rst
14+
commands.rst
2115

2216
Indices and tables
2317
==================

doc/led.rst

-26
This file was deleted.

doc/memory_map.rst

-26
This file was deleted.

doc/sd_card.rst

-53
This file was deleted.

0 commit comments

Comments
 (0)