From 2cd2fe0828c85c33a6b6ade80a37f331f52a599a Mon Sep 17 00:00:00 2001 From: kipmacsaigoren Date: Wed, 15 Sep 2021 12:15:53 -0500 Subject: [PATCH 1/4] Added git things to make it all a little nicer and synthesis work. --- .gitmodules | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitmodules b/.gitmodules index e69de29bb..65e1e71c9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "sky130/sky130_osu_sc_t12"] + path = sky130/sky130_osu_sc_t12 + url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_osu_sc_t12/ From 97c474327c7d9c45b8ae682e3cf7c19ce9cf4f0c Mon Sep 17 00:00:00 2001 From: kipmacsaigoren Date: Wed, 15 Sep 2021 12:24:24 -0500 Subject: [PATCH 2/4] changed priority circuits for synthesis and light cleanup --- wally-pipelined/src/mmu/pmpadrdec.sv | 2 +- wally-pipelined/src/mmu/priorityonehot.sv | 17 ++++++++++------- wally-pipelined/src/mmu/prioritythermometer.sv | 8 ++++++-- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/wally-pipelined/src/mmu/pmpadrdec.sv b/wally-pipelined/src/mmu/pmpadrdec.sv index 618167827..9fe28b261 100644 --- a/wally-pipelined/src/mmu/pmpadrdec.sv +++ b/wally-pipelined/src/mmu/pmpadrdec.sv @@ -82,7 +82,7 @@ module pmpadrdec ( assign NAMask[1:0] = {2'b11}; prioritythemometer #(`PA_BITS-2) namaskgen( - .a({PMPAdr[`PA_BITS-4:0], (AdrMode == NAPOT)}), + .a({~PMPAdr[`PA_BITS-4:0], (AdrMode == NAPOT)}), // *** confusing bit bussing to match the logic for the inside of the thermometer. .y(NAMask[`PA_BITS-1:2])); assign NAMatch = &((PhysicalAddress ~^ CurrentAdrFull) | NAMask); diff --git a/wally-pipelined/src/mmu/priorityonehot.sv b/wally-pipelined/src/mmu/priorityonehot.sv index 7a17f8d28..f02f8ccc5 100644 --- a/wally-pipelined/src/mmu/priorityonehot.sv +++ b/wally-pipelined/src/mmu/priorityonehot.sv @@ -40,13 +40,16 @@ module priorityonehot #(parameter ENTRIES = 8) ( logic [ENTRIES-1:0] nolower; // generate thermometer code mask - genvar i; - generate - assign nolower[0] = 1'b1; - for (i=1; i Date: Fri, 17 Sep 2021 12:00:38 -0500 Subject: [PATCH 3/4] added new fun ways of putting inputs into the priority thermometer --- wally-pipelined/src/mmu/pmpadrdec.sv | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/wally-pipelined/src/mmu/pmpadrdec.sv b/wally-pipelined/src/mmu/pmpadrdec.sv index 9fe28b261..46ee6bdcb 100644 --- a/wally-pipelined/src/mmu/pmpadrdec.sv +++ b/wally-pipelined/src/mmu/pmpadrdec.sv @@ -81,8 +81,16 @@ module pmpadrdec ( assign NAMask[1:0] = {2'b11}; +// *** BAD DELETE LATER ADDED for hopefully fixing synth + logic [`PA_BITS-3:0] maskInput; + + assign maskInput = `PA_BITS'd39; // *** added to really just try anything with the inputs of the thermometer. + + // *** maskinput used to be {~PMPAdr[`PA_BITS-4:0], (AdrMode == NAPOT)} +// **** + prioritythemometer #(`PA_BITS-2) namaskgen( - .a({~PMPAdr[`PA_BITS-4:0], (AdrMode == NAPOT)}), // *** confusing bit bussing to match the logic for the inside of the thermometer. + .a(maskInput), // *** confusing bit bussing to match the logic for the inside of the thermometer. .y(NAMask[`PA_BITS-1:2])); assign NAMatch = &((PhysicalAddress ~^ CurrentAdrFull) | NAMask); From 4de4774a71f01f9cda381da13324b8a84eb12456 Mon Sep 17 00:00:00 2001 From: Kip Macsai-Goren Date: Fri, 17 Sep 2021 13:07:21 -0400 Subject: [PATCH 4/4] more input changes on prioirty thermometer. passes lint --- wally-pipelined/src/mmu/pmpadrdec.sv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wally-pipelined/src/mmu/pmpadrdec.sv b/wally-pipelined/src/mmu/pmpadrdec.sv index 46ee6bdcb..584b18fba 100644 --- a/wally-pipelined/src/mmu/pmpadrdec.sv +++ b/wally-pipelined/src/mmu/pmpadrdec.sv @@ -84,7 +84,7 @@ module pmpadrdec ( // *** BAD DELETE LATER ADDED for hopefully fixing synth logic [`PA_BITS-3:0] maskInput; - assign maskInput = `PA_BITS'd39; // *** added to really just try anything with the inputs of the thermometer. + assign maskInput = 'd39; // *** added to really just try anything with the inputs of the thermometer. // *** maskinput used to be {~PMPAdr[`PA_BITS-4:0], (AdrMode == NAPOT)} // ****