1
0
mirror of https://github.com/olofk/serv.git synced 2026-01-11 23:42:50 +00:00

Prepare for release

This commit is contained in:
Olof Kindgren 2025-10-15 08:59:58 +02:00
parent 4ec55f94fd
commit 7d9cde4e6c
9 changed files with 37 additions and 22 deletions

View File

@ -6,7 +6,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
REPO : serv REPO : serv
VLNV : serv VLNV : award-winning:serv:serv
steps: steps:
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4 uses: actions/checkout@v4
@ -15,11 +15,11 @@ jobs:
- run: echo "EDALIZE_LAUNCHER=el_docker" >> $GITHUB_ENV - run: echo "EDALIZE_LAUNCHER=el_docker" >> $GITHUB_ENV
- run: pip3 install fusesoc - run: pip3 install fusesoc
- run: fusesoc library add $REPO $GITHUB_WORKSPACE/$REPO - run: fusesoc library add $REPO $GITHUB_WORKSPACE/$REPO
- run: fusesoc run --target=sky130 $VLNV - run: fusesoc run --target=sky130 --work-root=openlane_work $VLNV
- run: find -name *.gds - run: find -name *.gds
- name: Store artifacts - name: Store artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: serv.gds name: serv.gds
path: build/serv_1.3.0/sky130-openlane/runs/serv_synth_wrapper/results/finishing/serv_synth_wrapper.gds path: openlane_work/runs/serv_synth_wrapper/results/finishing/serv_synth_wrapper.gds

13
NEWS
View File

@ -1,3 +1,16 @@
1.4.0 2025-10-15 Olof Kindgren
======================================================
* Zephyr BSP: Port to Zephyr 4.0.0
* Fix mstatus[mpp] field
* Fix misa and mstatus being triggered at the same time
* Add documentation for extension interface
* Add Subservient documentation
* Add 4-bit mode (QERV)
* Add simulation debug module
* New servant ports: Trenz Electronic TE0802
* Make slt, branches and shifts one cycle faster
1.3.0 2024-07-05 Olof Kindgren 1.3.0 2024-07-05 Olof Kindgren
====================================================== ======================================================

View File

@ -89,7 +89,7 @@ Each of the following commands should be run from the workspace directory:
If everything worked, the output should look like If everything worked, the output should look like
INFO: Preparing ::serv:1.3.0 INFO: Preparing award-winning:serv:serv:1.4.0
INFO: Setting up project INFO: Setting up project
INFO: Building simulation model INFO: Building simulation model

View File

@ -144,7 +144,7 @@ iCEstick
Pin 95 is used as the GPIO output which is connected to the board's green LED. Due to this board's limited Embedded BRAM, programs with a maximum of 7168 bytes can be loaded. The default program for this board is blinky.hex. Pin 95 is used as the GPIO output which is connected to the board's green LED. Due to this board's limited Embedded BRAM, programs with a maximum of 7168 bytes can be loaded. The default program for this board is blinky.hex.
fusesoc run --target=icestick servant fusesoc run --target=icestick servant
iceprog build/servant_1.3.0/icestick-icestorm/servant_1.3.0.bin iceprog build/servant_1.4.0/icestick-icestorm/servant_1.4.0.bin
iCESugar iCESugar
^^^^^^^^ ^^^^^^^^
@ -162,7 +162,7 @@ Pin 9 is used for UART output with 57600 baud rate.
fusesoc run --target=icev_wireless servant fusesoc run --target=icev_wireless servant
iceprog build/servant_1.3.0/icestick-icestorm/servant_1.3.0.bin iceprog build/servant_1.4.0/icestick-icestorm/servant_1.4.0.bin
GMM7550 GMM7550
^^^^^^^ ^^^^^^^
@ -181,7 +181,7 @@ Pin B1 is used for UART output with 115200 baud rate. The serial port on Kolibri
fusesoc run --target=machdyne_kolibri servant fusesoc run --target=machdyne_kolibri servant
ldprog -Ks build/servant_1.3.0/machdyne_kolibri-icestorm/servant_1.3.0.bin ldprog -Ks build/servant_1.4.0/machdyne_kolibri-icestorm/servant_1.4.0.bin
MAX10 10M08 Evaluation Kit MAX10 10M08 Evaluation Kit
^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -196,7 +196,7 @@ Nandland Go Board
Pin 56 is used as the GPIO output which is connected to the board's LED1. Due to this board's limited Embedded BRAM, programs with a maximum of 7168 bytes can be loaded. The default program for this board is blinky.hex. Pin 56 is used as the GPIO output which is connected to the board's LED1. Due to this board's limited Embedded BRAM, programs with a maximum of 7168 bytes can be loaded. The default program for this board is blinky.hex.
fusesoc run --target=go_board servant fusesoc run --target=go_board servant
iceprog build/servant_1.3.0/go_board-icestorm/servant_1.3.0.bin iceprog build/servant_1.4.0/go_board-icestorm/servant_1.4.0.bin
Nexys 2 Nexys 2
^^^^^^^ ^^^^^^^
@ -218,7 +218,7 @@ OrangeCrab R0.2
Pin D1 is used for UART output with 115200 baud rate. Pin D1 is used for UART output with 115200 baud rate.
fusesoc run --target=orangecrab_r0.2 servant fusesoc run --target=orangecrab_r0.2 servant
dfu-util -d 1209:5af0 -D build/servant_1.3.0/orangecrab_r0.2-trellis/servant_1.3.0.bit dfu-util -d 1209:5af0 -D build/servant_1.4.0/orangecrab_r0.2-trellis/servant_1.4.0.bit
PolarFire Splash Kit PolarFire Splash Kit
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^

View File

@ -1,6 +1,8 @@
CAPI=2: CAPI=2:
name : ::serv:1.3.0 name : award-winning:serv:serv:1.4.0
description: The award-winning SERV, the world's smallest RISC-V CPU
license: ISC
filesets: filesets:
core: core:

View File

@ -1,7 +1,8 @@
CAPI=2: CAPI=2:
name : ::servant:1.3.0 name : award-winning:serv:servant:1.4.0
description: Simple reference system for SERV description: Simple reference system for SERV
license: ISC
filesets: filesets:
# Common filesets # Common filesets
@ -37,7 +38,7 @@ filesets:
- "!tool_quartus? (servant/servant_ram.v)" - "!tool_quartus? (servant/servant_ram.v)"
- servant/servant.v - servant/servant.v
file_type : verilogSource file_type : verilogSource
depend : [servile, "mdu? (mdu)"] depend : [award-winning:serv:servile, "mdu? (mdu)"]
verilator_tb: verilator_tb:
files: files:

View File

@ -1,8 +1,8 @@
CAPI=2: CAPI=2:
name : ::servile:1.3.0 name : award-winning:serv:servile:1.4.0
description: Convenience wrapper for SERV description: Convenience wrapper for SERV
license: ISC
filesets: filesets:
rtl: rtl:
@ -12,7 +12,7 @@ filesets:
- servile/servile_arbiter.v - servile/servile_arbiter.v
- servile/servile.v - servile/servile.v
file_type: verilogSource file_type: verilogSource
depend : [serv] depend : [award-winning:serv:serv]
targets: targets:
default: default:

View File

@ -1,7 +1,8 @@
CAPI=2: CAPI=2:
name : ::serving:1.3.0 name : award-winning:serv:serving:1.4.0
description: SERV-based subsystem for FPGAs description: SERV-based subsystem for FPGAs
license: ISC
filesets: filesets:
rtl: rtl:
@ -9,7 +10,7 @@ filesets:
- serving/serving_ram.v - serving/serving_ram.v
- serving/serving.v - serving/serving.v
file_type : verilogSource file_type : verilogSource
depend : [servile] depend : [award-winning:serv:servile]
targets: targets:
default: default:

View File

@ -8,7 +8,7 @@ logger = logging.getLogger()
class serv(pluginTemplate): class serv(pluginTemplate):
__model__ = "serv" __model__ = "serv"
__version__ = "1.3.0" __version__ = "1.4.0"
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
sclass = super().__init__(*args, **kwargs) sclass = super().__init__(*args, **kwargs)
@ -39,7 +39,7 @@ class serv(pluginTemplate):
utils.shellCommand(add_mdu).run() utils.shellCommand(add_mdu).run()
build_serv = 'fusesoc run --target=verilator_tb --flag=mdu\ build_serv = 'fusesoc run --target=verilator_tb --flag=mdu\
--build --build-root=servant_test servant\ --build --work-root=servant_test award-winning:serv:servant\
--memsize=8388608 --compressed=1' --memsize=8388608 --compressed=1'
utils.shellCommand(build_serv).run() utils.shellCommand(build_serv).run()
@ -76,9 +76,7 @@ class serv(pluginTemplate):
#The behavior of --build-root in FuseSoC has changed since version 2.2.1 #The behavior of --build-root in FuseSoC has changed since version 2.2.1
#Check first for executable model in the new location and else fall back #Check first for executable model in the new location and else fall back
#to the old one #to the old one
exe = 'servant_test/verilator_tb/Vservant_sim' exe = 'servant_test/Vservant_sim'
if not os.path.exists(exe):
exe = 'servant_test/servant_1.3.0/verilator_tb/Vservant_sim'
sigdump_run = [exe, sigdump_run = [exe,
"+timeout=1000000000", "+timeout=1000000000",