Bug 1244: changes to pospopcnt
[libreriscv.git] / HDL_workflow / libresoc_board_support.mdwn
1 # TODO
2
3 Hardware (HDL) to be supported:
4
5 * Microwatt and Libre-SOC (using same HDL interface)
6 * Microwatt XICS Interrupt Controller (currently already upstream in linux 5.7)
7 * OpenCores UART16550 Serial port
8 * Tercel Quad-SPI "XIP" (execute-in-place) from Raptor Engineering
9 * OpenCores 10/100 Ethernet MAC
10 * Jean Thomas "GRAM" DDR3 PHY/Controller
11
12 HDL "peripheral fabric":
13
14 * <https://git.libre-soc.org/?p=ls2.git;a=summary>
15
16 Recommended FPGA Boards:
17
18 * VERSA_ECP5 (if possible - it is barely achievable due to only 45k LUT4s)
19 * OrangeCrab r0.2 85k **not the 25k it is inadequate**
20 * Raptor Computing Systems "Arctic Tern" -- 85k ECP5 w/ DDR3 + HDMI + Ethernet
21 * Digilent Arty A7 (under test, requires nextpnr-xilinx which is very very slow)
22
23 None of these are ideal... yet. WIP.
24
25 # Tercel
26
27 * <https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-firmware/bare-metal-firmware/-/blob/master/main.c#L2328>
28 * <https://git.libre-soc.org/?p=microwatt.git;a=blob;f=README.tercel.md;h=874f352c2f4a85b54cd363e618e4bdde58549902;hb=HEAD>
29 * <https://git.libre-soc.org/?p=microwatt.git;a=commitdiff;h=e04d79005b2d9da70dba49e54845c8fca2421ea6>
30
31 Notes:
32
33 Tercel:
34
35 User mode is an excellent way to test -- basically, first check you can even read the core's PnP ID (registers 0x00-0x07), and if so then throw the core into user mode and try to read the Flash device ID. if those two operations work, you're good to go, just point Microwatt's reset vector at 0xf0000000...