From 933b52ef6438544c11ba76a5ed2074b670780071 Mon Sep 17 00:00:00 2001 From: Thorsten Knoll Date: Sat, 30 Jan 2021 18:10:02 +0100 Subject: [PATCH] struct(C) and bundle(spinal) now equal and w/r enabled from both sides --- c_project/bsp/vexriscv/main.c | 29 --------- c_project/bsp/vexriscv/pqvexriscvsim.ld | 6 +- c_project/main.c | 55 +++++++++--------- c_project/main.elf | Bin 44600 -> 42752 bytes .../src/main/scala/quantumrisc/MyMem.scala | 52 ++++++----------- .../scala/quantumrisc/PQVexRiscvSim.scala | 2 +- .../scala/quantumrisc/PQVexRiscvUlx3s.scala | 2 +- 7 files changed, 50 insertions(+), 96 deletions(-) delete mode 100644 c_project/bsp/vexriscv/main.c diff --git a/c_project/bsp/vexriscv/main.c b/c_project/bsp/vexriscv/main.c deleted file mode 100644 index 7783f33..0000000 --- a/c_project/bsp/vexriscv/main.c +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include "hal.h" - -// typedef struct { -// volatile uint32_t state; -// } My_Mem; - -// #define MY_MEM ((My_Mem*)(0xF0030000)) - -int main(void) -{ - printf("HELLO WORLD\n"); - - uint32_t state = 10000; - // uint32_t state_return; - - while (1) - { - printf("State in : %i\n", state); - - // MY_MEM->state = state; - // state_return = MY_MEM->state; - - state = state + 1; - - printf("State out: %i\n", state); - } - return 0; -} diff --git a/c_project/bsp/vexriscv/pqvexriscvsim.ld b/c_project/bsp/vexriscv/pqvexriscvsim.ld index 1d34047..47009c5 100644 --- a/c_project/bsp/vexriscv/pqvexriscvsim.ld +++ b/c_project/bsp/vexriscv/pqvexriscvsim.ld @@ -3,12 +3,12 @@ OUTPUT_ARCH(riscv) ENTRY( _start ) -__ram_size = 384K; +__ram_size = 128K; MEMORY { - rom (wxa!ri) : ORIGIN = 0x80000000, LENGTH = 256K - ram (wxa!ri) : ORIGIN = 0x80040000, LENGTH = 128K + rom (wxa!ri) : ORIGIN = 0x80000000, LENGTH = 64K + ram (wxa!ri) : ORIGIN = 0x80040000, LENGTH = 64K } INCLUDE nonvolatile.ld diff --git a/c_project/main.c b/c_project/main.c index fae94b0..2976794 100644 --- a/c_project/main.c +++ b/c_project/main.c @@ -2,60 +2,59 @@ #include "hal.h" typedef struct { - volatile uint32_t state[4]; + volatile uint32_t state[2]; + volatile uint32_t key[2]; volatile uint32_t status; } My_Mem; #define MY_MEM ((My_Mem*)(0xF0030000)) -void writeReadState(uint32_t * state) -{ - for(unsigned i = 0; i < 4; i++) - { +void writeState(uint32_t * state) { + for(unsigned i = 0; i < 2; i++) { MY_MEM->state[i] = state[i]; } - for(unsigned i = 0; i < 4; i++) - { +} + +void readState(uint32_t * state) { + for(unsigned i = 0; i < 2; i++) { state[i] = MY_MEM->state[i]; } } -void printState(uint32_t * state) -{ +void printState(uint32_t * state) { printf("State:\n"); - for(unsigned i = 0; i<4; i++) - { + for(unsigned i = 0; i<2; i++) { printf("%i\n",state[i]); } } -void printStatus(uint32_t status) -{ - printf("Status: %i\n", status); +void writeKey(uint32_t * key) { + for (unsigned i = 0; i < 2; i++) { + MY_MEM->key[i] = key[i]; + } } -int main(void) -{ +int main(void) { printf("HELLO WORLD\n"); - uint32_t state[4] = {10000, 65, 4242, 85328}; - uint32_t status = 12; - // MY_MEM->status = status; + uint32_t state[2] = {10000, 3000}; + uint32_t key[2] = {64, 4}; - while (1) - { - printState(state); - writeReadState(state); + while (1) { printState(state); + writeState(state); - // status = MY_MEM->status; - // printStatus(status); + writeKey(key); - for(unsigned i = 0; i < 4; i++) - { + MY_MEM->status = 1; + while (MY_MEM->status != 0); + + readState(state); + printState(state); + + for(unsigned i = 0; i < 2; i++) { state[i] = state[i]+1; } - } return 0; } diff --git a/c_project/main.elf b/c_project/main.elf index 95a4841f978d285050ecf603b4abdd9a391db4aa..92a1304e05b3f8b5fdd69990df697311494f31e3 100755 GIT binary patch delta 8263 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 d>}Wm5lgIJws$Mu2N?ZJ|Lj1Icfr+(`{|3@}k$3 Seq[Plugin[VexRiscv]] = PQVexRiscv.withDSPMultiplier() ) val optParser = new OptionParser[PQVexRiscvSimConfig]("PQVexRiscvSim") { diff --git a/vexriscv/src/main/scala/quantumrisc/PQVexRiscvUlx3s.scala b/vexriscv/src/main/scala/quantumrisc/PQVexRiscvUlx3s.scala index 3361c97..f89e18c 100644 --- a/vexriscv/src/main/scala/quantumrisc/PQVexRiscvUlx3s.scala +++ b/vexriscv/src/main/scala/quantumrisc/PQVexRiscvUlx3s.scala @@ -55,7 +55,7 @@ case class PipelinedMemoryBusRamUlx3s(size : BigInt, initialContent : File = nul class PQVexRiscvUlx3s( - val ramBlockSizes : Seq[BigInt] = Seq[BigInt](64 KiB, 64 KiB), + val ramBlockSizes : Seq[BigInt] = Seq[BigInt](128 KiB, 128 KiB), val initialContent : File = null, val coreFrequency : HertzNumber = 25 MHz, cpuPlugins : () => Seq[Plugin[VexRiscv]] = PQVexRiscv.withDSPMultiplier()