From 7c41d80d9a1af94f8dacd808b822bee62a620811 Mon Sep 17 00:00:00 2001 From: Andrey Miroshnikov Date: Thu, 27 Jul 2023 11:35:00 +0000 Subject: [PATCH] Makefile: Added rule for generating mw-compatible core with SVP64 issue_verilog.py: Added argument for mw+svp64. It's intended to be an unintrusive change for testing. No default behaviour has been changed. --- Makefile | 8 ++++++++ src/soc/simple/issuer_verilog.py | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/Makefile b/Makefile index 2a6409b6..15670cf8 100644 --- a/Makefile +++ b/Makefile @@ -63,6 +63,14 @@ microwatt_external_core: python3 src/soc/simple/issuer_verilog.py --microwatt-compat --enable-mmu \ external_core_top.v +# build microwatt "external core" with fixed 64-bit width SVP64 +# note that the TLB set size is set to 16 +# for I/D-Cache which needs a corresponding alteration of the device-tree +# entries for linux +microwatt_external_core_svp64: + python3 src/soc/simple/issuer_verilog.py --microwatt-compat-svp64 --enable-mmu \ + external_core_top.v + microwatt_external_core_spi: python3 src/soc/simple/issuer_verilog.py --microwatt-compat \ --small-cache \ diff --git a/src/soc/simple/issuer_verilog.py b/src/soc/simple/issuer_verilog.py index abd05027..d56c140d 100644 --- a/src/soc/simple/issuer_verilog.py +++ b/src/soc/simple/issuer_verilog.py @@ -69,6 +69,10 @@ if __name__ == '__main__': action="store_true", help="generate microwatt-compatible interface", default=False) + parser.add_argument("--microwatt-compat-svp64", dest='mwcompatsvp64', + action="store_true", + help="generate microwatt-compatible interface + SVP64", + default=False) parser.add_argument("--old-microwatt-compat", dest='old_mwcompat', action="store_true", help="generate old microwatt-compatible interface", @@ -106,6 +110,18 @@ if __name__ == '__main__': args.sram4x4kblock = False args.svp64 = False + # Yes, this is duplicating mwcompat, but for the sake of simplicity + # adding support for svp64 like this + if args.mwcompatsvp64: + args.pll = False + args.debug = 'dmi' + args.core = True + args.xics = False + args.gpio = False + args.sram4x4kblock = False + args.svp64 = True + args.mwcompat = True # Ensures TestMemPspec gets the expected value + print(args) units = {'alu': 1, -- 2.30.2