From 18b623d505607a41e34cffdc9e8210717e2e3638 Mon Sep 17 00:00:00 2001 From: Wojciech Kosior Date: Tue, 8 Sep 2020 17:21:33 +0200 Subject: use new machine's instructions in synthesis --- design/rom.s.tcl | 55 +------------------------------------------------------ 1 file changed, 1 insertion(+), 54 deletions(-) mode change 100755 => 120000 design/rom.s.tcl diff --git a/design/rom.s.tcl b/design/rom.s.tcl deleted file mode 100755 index 4bfc73f..0000000 --- a/design/rom.s.tcl +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env tclsh - -source tclasm_old.tcl - -## also look at stack_machine_cond_jump test - -## we're going to write numbers from 0 to 639 at addresses h100000 to h1009FC -## and then write non-zero value at h100A00 - -# this will translate to 3 16-bit instructions -set_sp h0FFFFC - -## set up the counter -# each of those 2 will translate to 1 16-bit instruction -const 0 -stack down - -## this is the point we later jump to, address 10 - -tee -## compute address: counter * 4 + h100000 -stack down -const 4 -mul -const h100000 -add -stack up -## load computed address to im -exchange_im -## save value of counter at address pointed by im -swap -store -swap -## increase counter by 1 -const 1 -add -## compare value of counter to 640 -tee -stack down -const 640 -sub -stack up -## loop if counter != 640 -cond_jump 10 - -## write hFFFFFFFF to address h100A00 (the point is to write a non-zero value -## there, but because our stack machine only knows how to write 32-bit values -## to memory, we'll write to h100A00 and h100A02, both being mapped as the -## VGA power-on register - what matters is the later write, so at least one of -## higher 16 bits of written value has to be non-zero) -const -1 -store@ h100A00 - -halt diff --git a/design/rom.s.tcl b/design/rom.s.tcl new file mode 120000 index 0000000..ea624a7 --- /dev/null +++ b/design/rom.s.tcl @@ -0,0 +1 @@ +../tests/soc_simple_display/instructions.s.tcl \ No newline at end of file -- cgit v1.2.3