aboutsummaryrefslogtreecommitdiff
path: root/arch/salis-v1/arch_vars.py
diff options
context:
space:
mode:
Diffstat (limited to 'arch/salis-v1/arch_vars.py')
-rw-r--r--arch/salis-v1/arch_vars.py125
1 files changed, 0 insertions, 125 deletions
diff --git a/arch/salis-v1/arch_vars.py b/arch/salis-v1/arch_vars.py
deleted file mode 100644
index 25687ce..0000000
--- a/arch/salis-v1/arch_vars.py
+++ /dev/null
@@ -1,125 +0,0 @@
-def gen_arch_vars(args):
- return {
- "mvec_loop": False,
-
- # Organisms consist of:
- # - instruction pointer
- # - seeker pointer
- # - main memory block
- # - child memory block
- # - 4 registers
- # - 8 value stack
- "proc_fields": [
- ("uint64_t", "ip"),
- ("uint64_t", "sp"),
- ("uint64_t", "mb0a"),
- ("uint64_t", "mb0s"),
- ("uint64_t", "mb1a"),
- ("uint64_t", "mb1s"),
- ("uint64_t", "r0x"),
- ("uint64_t", "r1x"),
- ("uint64_t", "r2x"),
- ("uint64_t", "r3x"),
- ("uint64_t", "s0"),
- ("uint64_t", "s1"),
- ("uint64_t", "s2"),
- ("uint64_t", "s3"),
- ("uint64_t", "s4"),
- ("uint64_t", "s5"),
- ("uint64_t", "s6"),
- ("uint64_t", "s7"),
- ],
-
- # Salis-v1 instruction set
- "inst_set": [
- (["noop"], " "),
- (["nop0"], "0"),
- (["nop1"], "1"),
- (["nop2"], "2"),
- (["nop3"], "3"),
- # -------------
- (["jmpb"], "("),
- (["jmpf"], ")"),
- (["adrb"], "["),
- (["adrf"], "]"),
- (["ifnz"], "?"),
- # -------------
- (["allb"], "{"),
- (["allf"], "}"),
- (["bswp"], "%"),
- (["bclr"], "|"),
- (["splt"], "$"),
- # -------------
- (["addn"], "+"),
- (["subn"], "-"),
- (["muln"], "*"),
- (["divn"], "/"),
- (["incn"], "^"),
- (["decn"], "v"),
- (["notn"], "!"),
- (["shfl"], "<"),
- (["shfr"], ">"),
- (["zero"], "z"),
- (["unit"], "u"),
- # -------------
- (["pshn"], "#"),
- (["popn"], "~"),
- # -------------
- (["load"], "."),
- (["wrte"], ":"),
- (["dupl"], "="),
- (["swap"], "x"),
- # -------------
- (["keya"], "a"),
- (["keyb"], "b"),
- (["keyc"], "c"),
- (["keyd"], "d"),
- (["keye"], "e"),
- (["keyf"], "f"),
- (["keyg"], "g"),
- (["keyh"], "h"),
- (["keyi"], "i"),
- (["keyj"], "j"),
- (["keyk"], "k"),
- (["keyl"], "l"),
- (["keym"], "m"),
- (["keyn"], "n"),
- (["keyo"], "o"),
- (["keyp"], "p"),
- # -------------
- (["loka"], "A"),
- (["lokb"], "B"),
- (["lokc"], "C"),
- (["lokd"], "D"),
- (["loke"], "E"),
- (["lokf"], "F"),
- (["lokg"], "G"),
- (["lokh"], "H"),
- (["loki"], "I"),
- (["lokj"], "J"),
- (["lokk"], "K"),
- (["lokl"], "L"),
- (["lokm"], "M"),
- (["lokn"], "N"),
- (["loko"], "O"),
- (["lokp"], "P"),
- ],
-
- "inst_count": 2 ** 6,
-
- # Extra fields used exclusively for data aggregation
- "core_fields": [
- ("uint64_t", f"iexe[{2 ** 6}]", False),
- ("uint64_t", f"iwrt[{2 ** 6}]", False),
- ("uint64_t", "emb0", True),
- ("uint64_t", "emb1", True),
- ("uint64_t", "eliv", True),
- ("uint64_t", "edea", True),
- ("uint64_t", "wmb0", True),
- ("uint64_t", "wmb1", True),
- ("uint64_t", "wdea", True),
-
- # Event data aggregators
- ("uint64_t", f"aeva[{2 ** args.mvec_pow}]", False),
- ],
- }