Commit graph

470 commits

Author SHA1 Message Date
Olof Kindgren
f6116cf2ec Make right-shifts one cycle faster
Some checks failed
Run compliance test suite / RISC-V Compliance Test (push) Has been cancelled
Formal verification / Run RISCV-formal verification suite (push) Has been cancelled
Run linter / Linter (push) Has been cancelled
Build GDS using OpenLANE and sky130 PDK / build-openlane-sky130 (push) Has been cancelled
This allows removing the stage_two_req register as well.
2025-03-18 13:42:47 +01:00
Olof Kindgren
629e6727f5 Move shamt to top byte in bufreg2
Instead of shifting shamt all the way to bits 4:0, we just shift
8 steps. This saves some energy and allows us to be finished before
cnt_done.
2025-03-18 13:40:44 +01:00
Olof Kindgren
79768a8ac9 Silence warning about unused return value in testbench 2025-03-18 13:15:46 +01:00
Olof Kindgren
9e73e11d86 Fix verilator_waiver.vlt
Some checks failed
Run compliance test suite / RISC-V Compliance Test (push) Has been cancelled
Formal verification / Run RISCV-formal verification suite (push) Has been cancelled
Run linter / Linter (push) Has been cancelled
Build GDS using OpenLANE and sky130 PDK / build-openlane-sky130 (push) Has been cancelled
2025-03-01 23:18:59 +01:00
Olof Kindgren
a38110aea9 bufreg2: Split up dat_en to cnt_en and shift_en 2025-03-01 23:14:55 +01:00
Olof Kindgren
0a55885d3b Move bytecnt to bufreg2 2025-03-01 23:12:44 +01:00
Olof Kindgren
2f23449f0f Make branches, slt and left shifts one cycle faster 2025-03-01 23:12:44 +01:00
Olof Kindgren
91628a056a Simplify one-hot counter enable 2025-03-01 23:12:44 +01:00
Olof Kindgren
129a9294c6 Remove slt_or_branch control signal 2025-03-01 23:12:44 +01:00
Olof Kindgren
842c2df0ca Enable zicsr flag for GCC
Some checks are pending
Run compliance test suite / RISC-V Compliance Test (push) Waiting to run
Formal verification / Run RISCV-formal verification suite (push) Waiting to run
Run linter / Linter (push) Waiting to run
Build GDS using OpenLANE and sky130 PDK / build-openlane-sky130 (push) Waiting to run
2025-03-01 10:32:57 +01:00
Mikadore
01e74ef7fd Remove duplicate tools entry in servant.core
Some checks failed
Run compliance test suite / RISC-V Compliance Test (push) Has been cancelled
Formal verification / Run RISCV-formal verification suite (push) Has been cancelled
Run linter / Linter (push) Has been cancelled
Build GDS using OpenLANE and sky130 PDK / build-openlane-sky130 (push) Has been cancelled
In `servant.core`:`targets`:`machdyne_kolibri`
2025-01-29 21:27:09 +00:00
Olof Kindgren
de4c3b44ee Add Subservient documentation
Some checks failed
Run compliance test suite / RISC-V Compliance Test (push) Has been cancelled
Formal verification / Run RISCV-formal verification suite (push) Has been cancelled
Run linter / Linter (push) Has been cancelled
Build GDS using OpenLANE and sky130 PDK / build-openlane-sky130 (push) Has been cancelled
2024-12-18 13:48:40 +01:00
Markus Koch
1b06ae6033 Update to Zephyr 4.0.0
Some checks are pending
Run compliance test suite / RISC-V Compliance Test (push) Waiting to run
Formal verification / Run RISCV-formal verification suite (push) Waiting to run
Run linter / Linter (push) Waiting to run
Build GDS using OpenLANE and sky130 PDK / build-openlane-sky130 (push) Waiting to run
2024-12-17 11:39:13 +00:00
Erik Bånvik
7e7b453eb0 Added support for Trenz Electronic TE0802
Some checks failed
Run compliance test suite / RISC-V Compliance Test (push) Has been cancelled
Formal verification / Run RISCV-formal verification suite (push) Has been cancelled
Run linter / Linter (push) Has been cancelled
Build GDS using OpenLANE and sky130 PDK / build-openlane-sky130 (push) Has been cancelled
2024-12-03 13:54:23 +01:00
Olof Kindgren
007f42850d servile_mux: Declare variable before use
Some checks failed
Run compliance test suite / RISC-V Compliance Test (push) Has been cancelled
Formal verification / Run RISCV-formal verification suite (push) Has been cancelled
Run linter / Linter (push) Has been cancelled
Build GDS using OpenLANE and sky130 PDK / build-openlane-sky130 (push) Has been cancelled
2024-11-26 19:58:35 +01:00
Olof Kindgren
1e4ea0527e Fix CSR write detection in debug module
Some checks failed
Run compliance test suite / RISC-V Compliance Test (push) Has been cancelled
Formal verification / Run RISCV-formal verification suite (push) Has been cancelled
Run linter / Linter (push) Has been cancelled
Build GDS using OpenLANE and sky130 PDK / build-openlane-sky130 (push) Has been cancelled
2024-11-19 13:20:34 +01:00
Olof Kindgren
e97bdaf7a1 Update cad-suite GH action 2024-11-19 13:20:34 +01:00
cdwijs
8ad248d4e7 typo in README.md
Some checks failed
Run compliance test suite / RISC-V Compliance Test (push) Has been cancelled
Formal verification / Run RISCV-formal verification suite (push) Has been cancelled
Run linter / Linter (push) Has been cancelled
Build GDS using OpenLANE and sky130 PDK / build-openlane-sky130 (push) Has been cancelled
2024-11-11 07:43:01 +01:00
Olof Kindgren
cd60abe837 Fix CSR width issues in debug module
Some checks failed
Run compliance test suite / RISC-V Compliance Test (push) Has been cancelled
Formal verification / Run RISCV-formal verification suite (push) Has been cancelled
Run linter / Linter (push) Has been cancelled
Build GDS using OpenLANE and sky130 PDK / build-openlane-sky130 (push) Has been cancelled
2024-10-17 14:34:08 +02:00
Olof Kindgren
9bf8672fb2 Move RVFI signals into serv_debug 2024-10-17 13:59:23 +02:00
Olof Kindgren
2bcf4104d0 Add debug module 2024-10-13 22:24:00 +02:00
Olof Kindgren
376dcd701d Introduce width parameter
Expose the width (or W internally) parameter to set the SERV
datapath width.

Note: Only width=1 is function at this time.
2024-10-05 23:17:22 +02:00
Olof Kindgren
1c5d44e5c4 Make CSR module 4-bit compatible 2024-10-05 11:27:51 +02:00
Olof Kindgren
4f04e9d933 Use latest regression test suite in CI 2024-10-05 11:27:04 +02:00
Olof Kindgren
7865252e04 Fix CI badge in README 2024-10-02 09:26:00 +02:00
Olof Kindgren
7b1044c01c Fix GDS generation gh action 2024-10-02 08:59:48 +02:00
Olof Kindgren
f001e5b09e Update verilator waiver file 2024-10-01 22:52:58 +02:00
Olof Kindgren
c12fecb4f6 Syntax fix for Servant docs 2024-10-01 21:31:47 +02:00
Olof Kindgren
7065906532 Improve data sheet 2024-10-01 21:31:47 +02:00
Olof Kindgren
24006a7297 Fix symbols and linker script for compliance tests 2024-08-22 22:18:45 +02:00
Olof Kindgren
40d34d204a Avoid matching misa CSR as mstatus
Reads from the (unimplemented) misa register matched mstatus which
in turn caused garbage data to be written to other CSRs. Make the
matching mask slightly stricter to avoid this particular issue.
2024-08-22 22:18:45 +02:00
Olof Kindgren
1fc6e7da9b Set correct value of mstatus[mpp]
The correct value of mstatus[mpp] for machine-mode is 11, but SERV
had this set to 00. Changes in the regression test suite uncovered
this error.
2024-08-22 22:18:45 +02:00
Markus Koch
830d8084b0 Update to Zephyr 3.7.0 2024-08-02 22:42:38 +02:00
Olof Kindgren
28e4704ed8 Lock arch-tests in CI to 3.9 until incompatibility is resolved
riscv-arch-test 3.9.1 fails to run with errors about multiple
definitions of _start. Needs more investigation before updating.
2024-07-06 17:46:04 +02:00
Olof Kindgren
0cf26fe4f9 Prepare for release 2024-07-06 16:54:53 +02:00
Olof Kindgren
344940c655 Update to latest checkout GH action 2024-06-16 09:45:26 +02:00
Olof Kindgren
783e92b576 Add missing descriptions to core description files 2024-06-16 09:45:26 +02:00
Olof Kindgren
472f89d532 servant: Add default program to sim target 2024-06-16 09:45:26 +02:00
Greg Steiert
4d95bd0f21
added support for MAX10 10M08 Evaluation Kit 2024-06-16 09:44:13 +02:00
Olof Kindgren
bbd3920ce8 Add missing Servant ports to doc 2024-06-15 15:30:19 +02:00
Chandler Jearls
8381bcdc4b Adding support for DE1 SoC revF board for servant 2024-06-15 15:15:08 +02:00
Olof Kindgren
3ef80ce4e0 Make servile_mux more simulator-friendly 2024-06-15 15:05:51 +02:00
Nazar Kazakov
d577062672 Add ECP5 evaluation board target
Done by analogy with ulx3s target
2024-06-15 13:04:53 +00:00
BradWalker
3b9331b3b5 Add Servant support for Alchitry Au platform.
fusesoc core show servant
CORE INFO
Name:        ::servant:1.2.1
Description: <No description>
Core root:   fusesoc_libraries/serv
Core file:   servant.core
Targets:
alchitry_au         : Open-hardware Alchitry AU FPGA board

Creating bitstream...
Writing bitstream ./servix.bit...
Writing bitstream ./servix.bin...

Bitstream generation completed
INFO: [Common 17-206] Exiting Vivado at Fri Jun 14 16:49:54 2024...

Resources used
fusesoc run --target=alchitry_au servant --uart_baudrate=57600 --memfile ./fusesoc_libraries/serv/sw/zephyr_hello.hex

+----------------------------+------+-------+------------+-----------+-------+
|          Site Type         | Used | Fixed | Prohibited | Available | Util% |
+----------------------------+------+-------+------------+-----------+-------+
| Slice LUTs                 |  244 |     0 |          0 |     20800 |  1.17 |
|   LUT as Logic             |  243 |     0 |          0 |     20800 |  1.17 |
|   LUT as Memory            |    1 |     0 |          0 |      9600 |  0.01 |
|     LUT as Distributed RAM |    0 |     0 |            |           |       |
|     LUT as Shift Register  |    1 |     0 |            |           |       |
| Slice Registers            |  238 |     0 |          0 |     41600 |  0.57 |
|   Register as Flip Flop    |  238 |     0 |          0 |     41600 |  0.57 |
|   Register as Latch        |    0 |     0 |          0 |     41600 |  0.00 |
| F7 Muxes                   |    3 |     0 |          0 |     16300 |  0.02 |
| F8 Muxes                   |    0 |     0 |          0 |      8150 |  0.00 |
+----------------------------+------+-------+------------+-----------+-------+
2024-06-15 13:03:53 +00:00
Anton Kuzmin
1000ee3495 Add support for GMM-7550 module (Cologne Chip GateMate FPGA) 2024-06-15 12:55:42 +00:00
BradWalker
086090046c Allow the serv software Makefile to use a different compiler prefix if defined. 2024-05-26 06:29:49 +00:00
Nazar Kazakov
a26c2965c0 Fix typos 2024-04-06 16:35:45 +02:00
Olof Kindgren
bebc875353 Make serv_state more simulator-friendly
Refactor the counter generation code to avoid using combinatorial
always statements that rely on an event happening at time 0. This
make serv work with Icarus again.
2024-03-19 12:40:50 +01:00
Olof Kindgren
4537abb965 bufreg refactoring in preparation of qerv integration 2024-03-06 20:22:23 +01:00
Olof Kindgren
b937ef61aa Add width-agnostic serv_rf_ram_if 2024-02-23 14:35:38 +01:00