get microwatt-verilator sim running at different boot base
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 13 Apr 2022 10:11:57 +0000 (11:11 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 13 Apr 2022 10:11:57 +0000 (11:11 +0100)
and confirm working with hello_world recompiled to a different coldboot
start address

Makefile
hello_world/Makefile
src/ls2.py

index a41fe72aae852011623794b808f4db85d6332e5c..bfcb0c46fc7e5d730012bc3c44b3ff490d632dc9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -26,8 +26,8 @@ endif
 
 # Hello world
 MEMORY_SIZE=8192
-#RAM_INIT_FILE=hello_world/hello_world.bin
-RAM_INIT_FILE=coldboot/coldboot.bin
+RAM_INIT_FILE=hello_world/hello_world.bin
+#RAM_INIT_FILE=coldboot/coldboot.bin
 SIM_MAIN_BRAM=false
 
 # Micropython
@@ -58,6 +58,7 @@ microwatt-verilator: ls2.v \
                      verilator/microwatt-verilator.cpp \
                      verilator/uart-verilator.c
        verilator -O3 -CFLAGS "-DCLK_FREQUENCY=$(CLK_FREQUENCY) -I../verilator" \
+       -DDATA_BUS_WIDTH_8 \
     --assert \
        --top-module top \
     --cc ls2.v \
index 180f7b923106fe3e6b0df5e2918881e05fad472d..e1d6c983e8e066efec8d36ce99ef0ae9e4294681 100644 (file)
@@ -5,8 +5,8 @@ ifneq ("$(ARCH)", "ppc64le")
 endif
 endif
 
-BOOT_INIT_BASE ?= 0xf0000000 # at QSPI address
-# BOOT_INIT_BASE ?= 0xff000000   # at ROM hi address (with coldboot firmware)
+#BOOT_INIT_BASE ?= 0xf0000000 # at QSPI address
+ BOOT_INIT_BASE ?= 0xff000000   # at ROM hi address (with coldboot firmware)
 # BOOT_INIT_BASE ?= 0x0        # start at zero (usual)
 
 CC = $(CROSS_COMPILE)gcc
@@ -32,6 +32,7 @@ console.o: ../lib/console.c
 
 hello_world.elf: hello_world.o head.o console.o powerpc.lds
        $(LD) $(LDFLAGS) -o $@ hello_world.o head.o console.o 
+       powerpc64le-linux-gnu-objdump -D hello_world.elf > hello_world.as
 
 hello_world.bin: hello_world.elf
        $(OBJCOPY) -O binary $^ $@
@@ -40,7 +41,7 @@ hello_world.hex: hello_world.bin
        ../scripts/bin2hex.py $^ > $@
 
 clean:
-       @rm -f *.o hello_world.elf hello_world.bin hello_world.hex
+       @rm -f *.o hello_world.elf hello_world.bin hello_world.hex powerpc.lds
 distclean: clean
        rm -f *~
 
index df67247f673581aeb3643f5d6a43a667b30a58ef..708673b65a526e7fb6850c21526b794cff7a4c88 100644 (file)
@@ -366,7 +366,7 @@ class DDR3SoC(SoC, Elaboratable):
         """
 
         # DRAM Module
-        if ddr_pins is not None or fpga == 'sim':
+        if ddr_pins is not None: # or fpga == 'sim':
             ddrmodule = dram_cls(clk_freq, "1:2") # match DDR3 ASIC P/N
 
             #drs = lambda x: x