Fix width of zeros after #74
This commit is contained in:
@@ -99,7 +99,7 @@ circuit target_memory :
|
|||||||
mem_0_3.din <= bits(din, 127, 96)
|
mem_0_3.din <= bits(din, 127, 96)
|
||||||
mem_0_3.write_en <= and(and(and(write_en, UInt<1>("h1")), UInt<1>("h1")), UInt<1>("h1"))
|
mem_0_3.write_en <= and(and(and(write_en, UInt<1>("h1")), UInt<1>("h1")), UInt<1>("h1"))
|
||||||
node dout_0 = cat(dout_0_3, cat(dout_0_2, cat(dout_0_1, dout_0_0)))
|
node dout_0 = cat(dout_0_3, cat(dout_0_2, cat(dout_0_1, dout_0_0)))
|
||||||
dout <= mux(UInt<1>("h1"), dout_0, UInt<1>("h0"))
|
dout <= mux(UInt<1>("h1"), dout_0, UInt<128>("h0"))
|
||||||
|
|
||||||
extmodule SRAM_WIDTH_32 :
|
extmodule SRAM_WIDTH_32 :
|
||||||
input addr : UInt<10>
|
input addr : UInt<10>
|
||||||
|
|||||||
@@ -111,8 +111,8 @@ class SplitWidth_2rw extends MacroCompilerSpec with HasSRAMGenerator with HasSim
|
|||||||
mem_0_3.portB_read_en <= and(portB_read_en, UInt<1>("h1"))
|
mem_0_3.portB_read_en <= and(portB_read_en, UInt<1>("h1"))
|
||||||
mem_0_3.portB_write_en <= and(and(and(portB_write_en, UInt<1>("h1")), bits(portB_mask, 3, 3)), UInt<1>("h1"))
|
mem_0_3.portB_write_en <= and(and(and(portB_write_en, UInt<1>("h1")), bits(portB_mask, 3, 3)), UInt<1>("h1"))
|
||||||
node portB_dout_0 = cat(portB_dout_0_3, cat(portB_dout_0_2, cat(portB_dout_0_1, portB_dout_0_0)))
|
node portB_dout_0 = cat(portB_dout_0_3, cat(portB_dout_0_2, cat(portB_dout_0_1, portB_dout_0_0)))
|
||||||
portA_dout <= mux(UInt<1>("h1"), portA_dout_0, UInt<1>("h0"))
|
portA_dout <= mux(UInt<1>("h1"), portA_dout_0, UInt<64>("h0"))
|
||||||
portB_dout <= mux(UInt<1>("h1"), portB_dout_0, UInt<1>("h0"))
|
portB_dout <= mux(UInt<1>("h1"), portB_dout_0, UInt<64>("h0"))
|
||||||
"""
|
"""
|
||||||
|
|
||||||
compileExecuteAndTest(mem, lib, v, output)
|
compileExecuteAndTest(mem, lib, v, output)
|
||||||
@@ -215,7 +215,7 @@ class SplitWidth_1r_1w extends MacroCompilerSpec with HasSRAMGenerator with HasS
|
|||||||
node portA_dout_0_3 = bits(mem_0_3.portA_dout, 15, 0)
|
node portA_dout_0_3 = bits(mem_0_3.portA_dout, 15, 0)
|
||||||
mem_0_3.portA_read_en <= and(portA_read_en, UInt<1>("h1"))
|
mem_0_3.portA_read_en <= and(portA_read_en, UInt<1>("h1"))
|
||||||
node portA_dout_0 = cat(portA_dout_0_3, cat(portA_dout_0_2, cat(portA_dout_0_1, portA_dout_0_0)))
|
node portA_dout_0 = cat(portA_dout_0_3, cat(portA_dout_0_2, cat(portA_dout_0_1, portA_dout_0_0)))
|
||||||
portA_dout <= mux(UInt<1>("h1"), portA_dout_0, UInt<1>("h0"))
|
portA_dout <= mux(UInt<1>("h1"), portA_dout_0, UInt<64>("h0"))
|
||||||
"""
|
"""
|
||||||
|
|
||||||
compileExecuteAndTest(mem, lib, v, output)
|
compileExecuteAndTest(mem, lib, v, output)
|
||||||
@@ -384,8 +384,8 @@ class SplitWidth_2rw_differentMasks extends MacroCompilerSpec with HasSRAMGenera
|
|||||||
mem_0_7.portB_read_en <= and(portB_read_en, UInt<1>("h1"))
|
mem_0_7.portB_read_en <= and(portB_read_en, UInt<1>("h1"))
|
||||||
mem_0_7.portB_write_en <= and(and(and(portB_write_en, UInt<1>("h1")), bits(portB_mask, 7, 7)), UInt<1>("h1"))
|
mem_0_7.portB_write_en <= and(and(and(portB_write_en, UInt<1>("h1")), bits(portB_mask, 7, 7)), UInt<1>("h1"))
|
||||||
node portB_dout_0 = cat(portB_dout_0_7, cat(portB_dout_0_6, cat(portB_dout_0_5, cat(portB_dout_0_4, cat(portB_dout_0_3, cat(portB_dout_0_2, cat(portB_dout_0_1, portB_dout_0_0)))))))
|
node portB_dout_0 = cat(portB_dout_0_7, cat(portB_dout_0_6, cat(portB_dout_0_5, cat(portB_dout_0_4, cat(portB_dout_0_3, cat(portB_dout_0_2, cat(portB_dout_0_1, portB_dout_0_0)))))))
|
||||||
portA_dout <= mux(UInt<1>("h1"), portA_dout_0, UInt<1>("h0"))
|
portA_dout <= mux(UInt<1>("h1"), portA_dout_0, UInt<64>("h0"))
|
||||||
portB_dout <= mux(UInt<1>("h1"), portB_dout_0, UInt<1>("h0"))
|
portB_dout <= mux(UInt<1>("h1"), portB_dout_0, UInt<64>("h0"))
|
||||||
"""
|
"""
|
||||||
|
|
||||||
compileExecuteAndTest(mem, lib, v, output)
|
compileExecuteAndTest(mem, lib, v, output)
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ s"""
|
|||||||
}
|
}
|
||||||
def generate_outer_dout_tree(i:Int, depthInstances: Int): String = {
|
def generate_outer_dout_tree(i:Int, depthInstances: Int): String = {
|
||||||
if (i > depthInstances - 1) {
|
if (i > depthInstances - 1) {
|
||||||
"UInt<1>(\"h0\")"
|
s"""UInt<${libWidth}>("h0")"""
|
||||||
} else {
|
} else {
|
||||||
s"""mux(eq(${memPortPrefix}_addr_sel_reg, UInt<%d>("h%s")), ${memPortPrefix}_dout_%d, %s)""".format(
|
s"""mux(eq(${memPortPrefix}_addr_sel_reg, UInt<%d>("h%s")), ${memPortPrefix}_dout_%d, %s)""".format(
|
||||||
selectBits, i.toHexString, i, generate_outer_dout_tree(i + 1, depthInstances)
|
selectBits, i.toHexString, i, generate_outer_dout_tree(i + 1, depthInstances)
|
||||||
@@ -59,7 +59,7 @@ s"""
|
|||||||
if (selectBits > 0) {
|
if (selectBits > 0) {
|
||||||
output append generate_outer_dout_tree(0, depthInstances)
|
output append generate_outer_dout_tree(0, depthInstances)
|
||||||
} else {
|
} else {
|
||||||
output append s"""mux(UInt<1>("h1"), ${memPortPrefix}_dout_0, UInt<1>("h0"))"""
|
output append s"""mux(UInt<1>("h1"), ${memPortPrefix}_dout_0, UInt<${libWidth}>("h0"))"""
|
||||||
}
|
}
|
||||||
|
|
||||||
output.toString
|
output.toString
|
||||||
@@ -287,7 +287,7 @@ circuit target_memory :
|
|||||||
|
|
||||||
mem_1_0.lib_write_en <= and(and(and(outer_write_en, UInt<1>("h1")), UInt<1>("h1")), eq(outer_addr_sel, UInt<1>("h1")))
|
mem_1_0.lib_write_en <= and(and(and(outer_write_en, UInt<1>("h1")), UInt<1>("h1")), eq(outer_addr_sel, UInt<1>("h1")))
|
||||||
node outer_dout_1 = outer_dout_1_0
|
node outer_dout_1 = outer_dout_1_0
|
||||||
outer_dout <= mux(eq(outer_addr_sel_reg, UInt<1>("h0")), outer_dout_0, mux(eq(outer_addr_sel_reg, UInt<1>("h1")), outer_dout_1, UInt<1>("h0")))
|
outer_dout <= mux(eq(outer_addr_sel_reg, UInt<1>("h0")), outer_dout_0, mux(eq(outer_addr_sel_reg, UInt<1>("h1")), outer_dout_1, UInt<8>("h0")))
|
||||||
extmodule awesome_lib_mem :
|
extmodule awesome_lib_mem :
|
||||||
input lib_addr : UInt<10>
|
input lib_addr : UInt<10>
|
||||||
input lib_clk : Clock
|
input lib_clk : Clock
|
||||||
@@ -378,7 +378,7 @@ circuit target_memory :
|
|||||||
mem_1_0.innerA_addr <= outerB_addr
|
mem_1_0.innerA_addr <= outerB_addr
|
||||||
node outerB_dout_1_0 = bits(mem_1_0.innerA_dout, 7, 0)
|
node outerB_dout_1_0 = bits(mem_1_0.innerA_dout, 7, 0)
|
||||||
node outerB_dout_1 = outerB_dout_1_0
|
node outerB_dout_1 = outerB_dout_1_0
|
||||||
outerB_dout <= mux(eq(outerB_addr_sel_reg, UInt<1>("h0")), outerB_dout_0, mux(eq(outerB_addr_sel_reg, UInt<1>("h1")), outerB_dout_1, UInt<1>("h0")))
|
outerB_dout <= mux(eq(outerB_addr_sel_reg, UInt<1>("h0")), outerB_dout_0, mux(eq(outerB_addr_sel_reg, UInt<1>("h1")), outerB_dout_1, UInt<8>("h0")))
|
||||||
|
|
||||||
extmodule awesome_lib_mem :
|
extmodule awesome_lib_mem :
|
||||||
input innerA_addr : UInt<10>
|
input innerA_addr : UInt<10>
|
||||||
@@ -542,7 +542,7 @@ circuit target_memory :
|
|||||||
mem_1_0.innerA_addr <= outerB_addr
|
mem_1_0.innerA_addr <= outerB_addr
|
||||||
node outerB_dout_1_0 = bits(mem_1_0.innerA_dout, 7, 0)
|
node outerB_dout_1_0 = bits(mem_1_0.innerA_dout, 7, 0)
|
||||||
node outerB_dout_1 = outerB_dout_1_0
|
node outerB_dout_1 = outerB_dout_1_0
|
||||||
outerB_dout <= mux(eq(outerB_addr_sel_reg, UInt<1>("h0")), outerB_dout_0, mux(eq(outerB_addr_sel_reg, UInt<1>("h1")), outerB_dout_1, UInt<1>("h0")))
|
outerB_dout <= mux(eq(outerB_addr_sel_reg, UInt<1>("h0")), outerB_dout_0, mux(eq(outerB_addr_sel_reg, UInt<1>("h1")), outerB_dout_1, UInt<8>("h0")))
|
||||||
|
|
||||||
extmodule awesome_lib_mem :
|
extmodule awesome_lib_mem :
|
||||||
input innerA_addr : UInt<10>
|
input innerA_addr : UInt<10>
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ s"""
|
|||||||
|
|
||||||
output append
|
output append
|
||||||
s"""
|
s"""
|
||||||
${memPortPrefix}_dout <= mux(UInt<1>("h1"), ${memPortPrefix}_dout_0, UInt<1>("h0"))
|
${memPortPrefix}_dout <= mux(UInt<1>("h1"), ${memPortPrefix}_dout_0, UInt<${memWidth}>("h0"))
|
||||||
"""
|
"""
|
||||||
output.toString
|
output.toString
|
||||||
}
|
}
|
||||||
@@ -438,7 +438,7 @@ class SplitWidth1024x32_readEnable_Lib extends MacroCompilerSpec with HasSRAMGen
|
|||||||
mem_0_3.lib_read_en <= and(and(not(outer_write_en), UInt<1>("h1")), UInt<1>("h1"))
|
mem_0_3.lib_read_en <= and(and(not(outer_write_en), UInt<1>("h1")), UInt<1>("h1"))
|
||||||
mem_0_3.lib_write_en <= and(and(and(outer_write_en, UInt<1>("h1")), UInt<1>("h1")), UInt<1>("h1"))
|
mem_0_3.lib_write_en <= and(and(and(outer_write_en, UInt<1>("h1")), UInt<1>("h1")), UInt<1>("h1"))
|
||||||
node outer_dout_0 = cat(outer_dout_0_3, cat(outer_dout_0_2, cat(outer_dout_0_1, outer_dout_0_0)))
|
node outer_dout_0 = cat(outer_dout_0_3, cat(outer_dout_0_2, cat(outer_dout_0_1, outer_dout_0_0)))
|
||||||
outer_dout <= mux(UInt<1>("h1"), outer_dout_0, UInt<1>("h0"))
|
outer_dout <= mux(UInt<1>("h1"), outer_dout_0, UInt<32>("h0"))
|
||||||
"""
|
"""
|
||||||
|
|
||||||
compileExecuteAndTest(mem, lib, v, output)
|
compileExecuteAndTest(mem, lib, v, output)
|
||||||
@@ -536,7 +536,7 @@ class SplitWidth1024x32_readEnable_LibMem extends MacroCompilerSpec with HasSRAM
|
|||||||
mem_0_3.lib_read_en <= and(outer_read_en, UInt<1>("h1"))
|
mem_0_3.lib_read_en <= and(outer_read_en, UInt<1>("h1"))
|
||||||
mem_0_3.lib_write_en <= and(and(and(outer_write_en, UInt<1>("h1")), UInt<1>("h1")), UInt<1>("h1"))
|
mem_0_3.lib_write_en <= and(and(and(outer_write_en, UInt<1>("h1")), UInt<1>("h1")), UInt<1>("h1"))
|
||||||
node outer_dout_0 = cat(outer_dout_0_3, cat(outer_dout_0_2, cat(outer_dout_0_1, outer_dout_0_0)))
|
node outer_dout_0 = cat(outer_dout_0_3, cat(outer_dout_0_2, cat(outer_dout_0_1, outer_dout_0_0)))
|
||||||
outer_dout <= mux(UInt<1>("h1"), outer_dout_0, UInt<1>("h0"))
|
outer_dout <= mux(UInt<1>("h1"), outer_dout_0, UInt<32>("h0"))
|
||||||
"""
|
"""
|
||||||
|
|
||||||
compileExecuteAndTest(mem, lib, v, output)
|
compileExecuteAndTest(mem, lib, v, output)
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ circuit cc_banks_0_ext :
|
|||||||
mem_0_0.ren <= and(and(not(RW0_wmode), RW0_en), UInt<1>("h1"))
|
mem_0_0.ren <= and(and(not(RW0_wmode), RW0_en), UInt<1>("h1"))
|
||||||
mem_0_0.wen <= and(and(and(RW0_wmode, RW0_en), UInt<1>("h1")), UInt<1>("h1"))
|
mem_0_0.wen <= and(and(and(RW0_wmode, RW0_en), UInt<1>("h1")), UInt<1>("h1"))
|
||||||
node RW0_rdata_0 = RW0_rdata_0_0
|
node RW0_rdata_0 = RW0_rdata_0_0
|
||||||
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<1>("h0"))
|
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<64>("h0"))
|
||||||
|
|
||||||
extmodule fake_mem :
|
extmodule fake_mem :
|
||||||
input addr : UInt<12>
|
input addr : UInt<12>
|
||||||
@@ -159,7 +159,7 @@ circuit cc_dir_ext :
|
|||||||
mem_0_1.mport <= not(cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), bits(RW0_wmask, 4, 4)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
|
mem_0_1.mport <= not(cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 7, 7), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 6, 6), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 5, 5), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), cat(bits(RW0_wmask, 4, 4), bits(RW0_wmask, 4, 4)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
|
||||||
mem_0_1.wen <= and(and(RW0_wmode, RW0_en), UInt<1>("h1"))
|
mem_0_1.wen <= and(and(RW0_wmode, RW0_en), UInt<1>("h1"))
|
||||||
node RW0_rdata_0 = cat(RW0_rdata_0_1, RW0_rdata_0_0)
|
node RW0_rdata_0 = cat(RW0_rdata_0_1, RW0_rdata_0_0)
|
||||||
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<1>("h0"))
|
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<128>("h0"))
|
||||||
|
|
||||||
extmodule fake_mem :
|
extmodule fake_mem :
|
||||||
input addr : UInt<9>
|
input addr : UInt<9>
|
||||||
@@ -486,7 +486,7 @@ circuit smem_0_ext :
|
|||||||
mem_1_3.WEB2 <= not(and(and(UInt<1>("h0"), UInt<1>("h1")), eq(R0_addr_sel, UInt<1>("h1"))))
|
mem_1_3.WEB2 <= not(and(and(UInt<1>("h0"), UInt<1>("h1")), eq(R0_addr_sel, UInt<1>("h1"))))
|
||||||
mem_1_3.CSB2 <= not(and(R0_en, eq(R0_addr_sel, UInt<1>("h1"))))
|
mem_1_3.CSB2 <= not(and(R0_en, eq(R0_addr_sel, UInt<1>("h1"))))
|
||||||
node R0_data_1 = cat(R0_data_1_3, cat(R0_data_1_2, cat(R0_data_1_1, R0_data_1_0)))
|
node R0_data_1 = cat(R0_data_1_3, cat(R0_data_1_2, cat(R0_data_1_1, R0_data_1_0)))
|
||||||
R0_data <= mux(eq(R0_addr_sel_reg, UInt<1>("h0")), R0_data_0, mux(eq(R0_addr_sel_reg, UInt<1>("h1")), R0_data_1, UInt<1>("h0")))
|
R0_data <= mux(eq(R0_addr_sel_reg, UInt<1>("h0")), R0_data_0, mux(eq(R0_addr_sel_reg, UInt<1>("h1")), R0_data_1, UInt<88>("h0")))
|
||||||
|
|
||||||
|
|
||||||
module _T_84_ext :
|
module _T_84_ext :
|
||||||
@@ -621,7 +621,7 @@ circuit smem_0_ext :
|
|||||||
mem_3_1.WEB2 <= not(and(and(UInt<1>("h0"), UInt<1>("h1")), eq(R0_addr_sel, UInt<2>("h3"))))
|
mem_3_1.WEB2 <= not(and(and(UInt<1>("h0"), UInt<1>("h1")), eq(R0_addr_sel, UInt<2>("h3"))))
|
||||||
mem_3_1.CSB2 <= not(and(R0_en, eq(R0_addr_sel, UInt<2>("h3"))))
|
mem_3_1.CSB2 <= not(and(R0_en, eq(R0_addr_sel, UInt<2>("h3"))))
|
||||||
node R0_data_3 = cat(R0_data_3_1, R0_data_3_0)
|
node R0_data_3 = cat(R0_data_3_1, R0_data_3_0)
|
||||||
R0_data <= mux(eq(R0_addr_sel_reg, UInt<2>("h0")), R0_data_0, mux(eq(R0_addr_sel_reg, UInt<2>("h1")), R0_data_1, mux(eq(R0_addr_sel_reg, UInt<2>("h2")), R0_data_2, mux(eq(R0_addr_sel_reg, UInt<2>("h3")), R0_data_3, UInt<1>("h0")))))
|
R0_data <= mux(eq(R0_addr_sel_reg, UInt<2>("h0")), R0_data_0, mux(eq(R0_addr_sel_reg, UInt<2>("h1")), R0_data_1, mux(eq(R0_addr_sel_reg, UInt<2>("h2")), R0_data_2, mux(eq(R0_addr_sel_reg, UInt<2>("h3")), R0_data_3, UInt<64>("h0")))))
|
||||||
|
|
||||||
extmodule my_sram_2rw_128x32 :
|
extmodule my_sram_2rw_128x32 :
|
||||||
input A1 : UInt<7>
|
input A1 : UInt<7>
|
||||||
@@ -684,7 +684,7 @@ circuit smem_0_ext :
|
|||||||
mem_0_3.WEB <= not(and(and(RW0_wmode, bits(RW0_wmask, 3, 3)), UInt<1>("h1")))
|
mem_0_3.WEB <= not(and(and(RW0_wmode, bits(RW0_wmask, 3, 3)), UInt<1>("h1")))
|
||||||
mem_0_3.CSB <= not(and(RW0_en, UInt<1>("h1")))
|
mem_0_3.CSB <= not(and(RW0_en, UInt<1>("h1")))
|
||||||
node RW0_rdata_0 = cat(RW0_rdata_0_3, cat(RW0_rdata_0_2, cat(RW0_rdata_0_1, RW0_rdata_0_0)))
|
node RW0_rdata_0 = cat(RW0_rdata_0_3, cat(RW0_rdata_0_2, cat(RW0_rdata_0_1, RW0_rdata_0_0)))
|
||||||
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<1>("h0"))
|
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<80>("h0"))
|
||||||
|
|
||||||
extmodule my_sram_1rw_64x32 :
|
extmodule my_sram_1rw_64x32 :
|
||||||
input A : UInt<6>
|
input A : UInt<6>
|
||||||
@@ -723,7 +723,7 @@ circuit smem_0_ext :
|
|||||||
mem_0_1.WEB <= not(and(and(RW0_wmode, UInt<1>("h1")), UInt<1>("h1")))
|
mem_0_1.WEB <= not(and(and(RW0_wmode, UInt<1>("h1")), UInt<1>("h1")))
|
||||||
mem_0_1.CSB <= not(and(RW0_en, UInt<1>("h1")))
|
mem_0_1.CSB <= not(and(RW0_en, UInt<1>("h1")))
|
||||||
node RW0_rdata_0 = cat(RW0_rdata_0_1, RW0_rdata_0_0)
|
node RW0_rdata_0 = cat(RW0_rdata_0_1, RW0_rdata_0_0)
|
||||||
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<1>("h0"))
|
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<64>("h0"))
|
||||||
|
|
||||||
extmodule my_sram_1rw_512x32 :
|
extmodule my_sram_1rw_512x32 :
|
||||||
input A : UInt<9>
|
input A : UInt<9>
|
||||||
@@ -776,7 +776,7 @@ circuit smem_0_ext :
|
|||||||
mem_0_1.WEB2 <= not(and(and(UInt<1>("h0"), UInt<1>("h1")), UInt<1>("h1")))
|
mem_0_1.WEB2 <= not(and(and(UInt<1>("h0"), UInt<1>("h1")), UInt<1>("h1")))
|
||||||
mem_0_1.CSB2 <= not(and(R0_en, UInt<1>("h1")))
|
mem_0_1.CSB2 <= not(and(R0_en, UInt<1>("h1")))
|
||||||
node R0_data_0 = cat(R0_data_0_1, R0_data_0_0)
|
node R0_data_0 = cat(R0_data_0_1, R0_data_0_0)
|
||||||
R0_data <= mux(UInt<1>("h1"), R0_data_0, UInt<1>("h0"))
|
R0_data <= mux(UInt<1>("h1"), R0_data_0, UInt<40>("h0"))
|
||||||
|
|
||||||
extmodule my_sram_2rw_32x22 :
|
extmodule my_sram_2rw_32x22 :
|
||||||
input A1 : UInt<5>
|
input A1 : UInt<5>
|
||||||
@@ -1063,7 +1063,7 @@ circuit smem_0_ext :
|
|||||||
mem_0_31.WEB <= not(and(and(RW0_wmode, bits(RW0_wmask, 31, 31)), UInt<1>("h1")))
|
mem_0_31.WEB <= not(and(and(RW0_wmode, bits(RW0_wmask, 31, 31)), UInt<1>("h1")))
|
||||||
mem_0_31.CSB <= not(and(RW0_en, UInt<1>("h1")))
|
mem_0_31.CSB <= not(and(RW0_en, UInt<1>("h1")))
|
||||||
node RW0_rdata_0 = cat(RW0_rdata_0_31, cat(RW0_rdata_0_30, cat(RW0_rdata_0_29, cat(RW0_rdata_0_28, cat(RW0_rdata_0_27, cat(RW0_rdata_0_26, cat(RW0_rdata_0_25, cat(RW0_rdata_0_24, cat(RW0_rdata_0_23, cat(RW0_rdata_0_22, cat(RW0_rdata_0_21, cat(RW0_rdata_0_20, cat(RW0_rdata_0_19, cat(RW0_rdata_0_18, cat(RW0_rdata_0_17, cat(RW0_rdata_0_16, cat(RW0_rdata_0_15, cat(RW0_rdata_0_14, cat(RW0_rdata_0_13, cat(RW0_rdata_0_12, cat(RW0_rdata_0_11, cat(RW0_rdata_0_10, cat(RW0_rdata_0_9, cat(RW0_rdata_0_8, cat(RW0_rdata_0_7, cat(RW0_rdata_0_6, cat(RW0_rdata_0_5, cat(RW0_rdata_0_4, cat(RW0_rdata_0_3, cat(RW0_rdata_0_2, cat(RW0_rdata_0_1, RW0_rdata_0_0)))))))))))))))))))))))))))))))
|
node RW0_rdata_0 = cat(RW0_rdata_0_31, cat(RW0_rdata_0_30, cat(RW0_rdata_0_29, cat(RW0_rdata_0_28, cat(RW0_rdata_0_27, cat(RW0_rdata_0_26, cat(RW0_rdata_0_25, cat(RW0_rdata_0_24, cat(RW0_rdata_0_23, cat(RW0_rdata_0_22, cat(RW0_rdata_0_21, cat(RW0_rdata_0_20, cat(RW0_rdata_0_19, cat(RW0_rdata_0_18, cat(RW0_rdata_0_17, cat(RW0_rdata_0_16, cat(RW0_rdata_0_15, cat(RW0_rdata_0_14, cat(RW0_rdata_0_13, cat(RW0_rdata_0_12, cat(RW0_rdata_0_11, cat(RW0_rdata_0_10, cat(RW0_rdata_0_9, cat(RW0_rdata_0_8, cat(RW0_rdata_0_7, cat(RW0_rdata_0_6, cat(RW0_rdata_0_5, cat(RW0_rdata_0_4, cat(RW0_rdata_0_3, cat(RW0_rdata_0_2, cat(RW0_rdata_0_1, RW0_rdata_0_0)))))))))))))))))))))))))))))))
|
||||||
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<1>("h0"))
|
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<32>("h0"))
|
||||||
|
|
||||||
module smem_0_ext :
|
module smem_0_ext :
|
||||||
input RW0_addr : UInt<6>
|
input RW0_addr : UInt<6>
|
||||||
@@ -1331,7 +1331,7 @@ circuit smem_0_ext :
|
|||||||
mem_0_31.WEB <= not(and(and(RW0_wmode, bits(RW0_wmask, 31, 31)), UInt<1>("h1")))
|
mem_0_31.WEB <= not(and(and(RW0_wmode, bits(RW0_wmask, 31, 31)), UInt<1>("h1")))
|
||||||
mem_0_31.CSB <= not(and(RW0_en, UInt<1>("h1")))
|
mem_0_31.CSB <= not(and(RW0_en, UInt<1>("h1")))
|
||||||
node RW0_rdata_0 = cat(RW0_rdata_0_31, cat(RW0_rdata_0_30, cat(RW0_rdata_0_29, cat(RW0_rdata_0_28, cat(RW0_rdata_0_27, cat(RW0_rdata_0_26, cat(RW0_rdata_0_25, cat(RW0_rdata_0_24, cat(RW0_rdata_0_23, cat(RW0_rdata_0_22, cat(RW0_rdata_0_21, cat(RW0_rdata_0_20, cat(RW0_rdata_0_19, cat(RW0_rdata_0_18, cat(RW0_rdata_0_17, cat(RW0_rdata_0_16, cat(RW0_rdata_0_15, cat(RW0_rdata_0_14, cat(RW0_rdata_0_13, cat(RW0_rdata_0_12, cat(RW0_rdata_0_11, cat(RW0_rdata_0_10, cat(RW0_rdata_0_9, cat(RW0_rdata_0_8, cat(RW0_rdata_0_7, cat(RW0_rdata_0_6, cat(RW0_rdata_0_5, cat(RW0_rdata_0_4, cat(RW0_rdata_0_3, cat(RW0_rdata_0_2, cat(RW0_rdata_0_1, RW0_rdata_0_0)))))))))))))))))))))))))))))))
|
node RW0_rdata_0 = cat(RW0_rdata_0_31, cat(RW0_rdata_0_30, cat(RW0_rdata_0_29, cat(RW0_rdata_0_28, cat(RW0_rdata_0_27, cat(RW0_rdata_0_26, cat(RW0_rdata_0_25, cat(RW0_rdata_0_24, cat(RW0_rdata_0_23, cat(RW0_rdata_0_22, cat(RW0_rdata_0_21, cat(RW0_rdata_0_20, cat(RW0_rdata_0_19, cat(RW0_rdata_0_18, cat(RW0_rdata_0_17, cat(RW0_rdata_0_16, cat(RW0_rdata_0_15, cat(RW0_rdata_0_14, cat(RW0_rdata_0_13, cat(RW0_rdata_0_12, cat(RW0_rdata_0_11, cat(RW0_rdata_0_10, cat(RW0_rdata_0_9, cat(RW0_rdata_0_8, cat(RW0_rdata_0_7, cat(RW0_rdata_0_6, cat(RW0_rdata_0_5, cat(RW0_rdata_0_4, cat(RW0_rdata_0_3, cat(RW0_rdata_0_2, cat(RW0_rdata_0_1, RW0_rdata_0_0)))))))))))))))))))))))))))))))
|
||||||
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<1>("h0"))
|
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<32>("h0"))
|
||||||
|
|
||||||
extmodule my_sram_1rw_64x8 :
|
extmodule my_sram_1rw_64x8 :
|
||||||
input A : UInt<6>
|
input A : UInt<6>
|
||||||
@@ -1375,7 +1375,7 @@ class SmallTagArrayTest extends MacroCompilerSpec with HasSRAMGenerator with Has
|
|||||||
| mem_0_0.mask <= cat(UInt<1>("h0"), cat(UInt<1>("h0"), cat(UInt<1>("h0"), cat(UInt<1>("h0"), cat(UInt<1>("h0"), cat(UInt<1>("h0"), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), bits(mask, 0, 0))))))))))))))))))))))))))))))))
|
| mem_0_0.mask <= cat(UInt<1>("h0"), cat(UInt<1>("h0"), cat(UInt<1>("h0"), cat(UInt<1>("h0"), cat(UInt<1>("h0"), cat(UInt<1>("h0"), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), cat(bits(mask, 0, 0), bits(mask, 0, 0))))))))))))))))))))))))))))))))
|
||||||
| mem_0_0.write_en <= and(and(write_en, UInt<1>("h1")), UInt<1>("h1"))
|
| mem_0_0.write_en <= and(and(write_en, UInt<1>("h1")), UInt<1>("h1"))
|
||||||
| node dout_0 = dout_0_0
|
| node dout_0 = dout_0_0
|
||||||
| dout <= mux(UInt<1>("h1"), dout_0, UInt<1>("h0"))
|
| dout <= mux(UInt<1>("h1"), dout_0, UInt<26>("h0"))
|
||||||
""".stripMargin
|
""".stripMargin
|
||||||
|
|
||||||
compileExecuteAndTest(mem, lib, v, output)
|
compileExecuteAndTest(mem, lib, v, output)
|
||||||
@@ -1573,7 +1573,7 @@ circuit T_2172_ext :
|
|||||||
mem_0_3.din <= bits(RW0_wdata, 79, 60)
|
mem_0_3.din <= bits(RW0_wdata, 79, 60)
|
||||||
mem_0_3.write_en <= and(and(RW0_wmode, bits(RW0_wmask, 3, 3)), UInt<1>("h1"))
|
mem_0_3.write_en <= and(and(RW0_wmode, bits(RW0_wmask, 3, 3)), UInt<1>("h1"))
|
||||||
node RW0_rdata_0 = cat(RW0_rdata_0_3, cat(RW0_rdata_0_2, cat(RW0_rdata_0_1, RW0_rdata_0_0)))
|
node RW0_rdata_0 = cat(RW0_rdata_0_3, cat(RW0_rdata_0_2, cat(RW0_rdata_0_1, RW0_rdata_0_0)))
|
||||||
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<1>("h0"))
|
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<80>("h0"))
|
||||||
|
|
||||||
extmodule SRAM1RW64x32 :
|
extmodule SRAM1RW64x32 :
|
||||||
input addr : UInt<6>
|
input addr : UInt<6>
|
||||||
@@ -1605,7 +1605,7 @@ circuit T_2172_ext :
|
|||||||
mem_0_1.din <= bits(RW0_wdata, 63, 32)
|
mem_0_1.din <= bits(RW0_wdata, 63, 32)
|
||||||
mem_0_1.write_en <= and(and(RW0_wmode, UInt<1>("h1")), UInt<1>("h1"))
|
mem_0_1.write_en <= and(and(RW0_wmode, UInt<1>("h1")), UInt<1>("h1"))
|
||||||
node RW0_rdata_0 = cat(RW0_rdata_0_1, RW0_rdata_0_0)
|
node RW0_rdata_0 = cat(RW0_rdata_0_1, RW0_rdata_0_0)
|
||||||
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<1>("h0"))
|
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<64>("h0"))
|
||||||
|
|
||||||
extmodule SRAM1RW512x32 :
|
extmodule SRAM1RW512x32 :
|
||||||
input addr : UInt<9>
|
input addr : UInt<9>
|
||||||
@@ -1675,7 +1675,7 @@ circuit T_2172_ext :
|
|||||||
mem_0_7.din <= bits(RW0_wdata, 63, 56)
|
mem_0_7.din <= bits(RW0_wdata, 63, 56)
|
||||||
mem_0_7.write_en <= and(and(RW0_wmode, bits(RW0_wmask, 7, 7)), UInt<1>("h1"))
|
mem_0_7.write_en <= and(and(RW0_wmode, bits(RW0_wmask, 7, 7)), UInt<1>("h1"))
|
||||||
node RW0_rdata_0 = cat(RW0_rdata_0_7, cat(RW0_rdata_0_6, cat(RW0_rdata_0_5, cat(RW0_rdata_0_4, cat(RW0_rdata_0_3, cat(RW0_rdata_0_2, cat(RW0_rdata_0_1, RW0_rdata_0_0)))))))
|
node RW0_rdata_0 = cat(RW0_rdata_0_7, cat(RW0_rdata_0_6, cat(RW0_rdata_0_5, cat(RW0_rdata_0_4, cat(RW0_rdata_0_3, cat(RW0_rdata_0_2, cat(RW0_rdata_0_1, RW0_rdata_0_0)))))))
|
||||||
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<1>("h0"))
|
RW0_rdata <= mux(UInt<1>("h1"), RW0_rdata_0, UInt<64>("h0"))
|
||||||
|
|
||||||
extmodule SRAM1RW512x8 :
|
extmodule SRAM1RW512x8 :
|
||||||
input addr : UInt<9>
|
input addr : UInt<9>
|
||||||
@@ -1731,7 +1731,7 @@ circuit T_2172_ext :
|
|||||||
mem_0_3.portA_addr <= R0_addr
|
mem_0_3.portA_addr <= R0_addr
|
||||||
node R0_data_0_3 = bits(mem_0_3.portA_dout, 21, 0)
|
node R0_data_0_3 = bits(mem_0_3.portA_dout, 21, 0)
|
||||||
node R0_data_0 = cat(R0_data_0_3, cat(R0_data_0_2, cat(R0_data_0_1, R0_data_0_0)))
|
node R0_data_0 = cat(R0_data_0_3, cat(R0_data_0_2, cat(R0_data_0_1, R0_data_0_0)))
|
||||||
R0_data <= mux(UInt<1>("h1"), R0_data_0, UInt<1>("h0"))
|
R0_data <= mux(UInt<1>("h1"), R0_data_0, UInt<88>("h0"))
|
||||||
|
|
||||||
extmodule SRAM2RW64x32 :
|
extmodule SRAM2RW64x32 :
|
||||||
input portA_addr : UInt<6>
|
input portA_addr : UInt<6>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ s"""
|
|||||||
mem_0_0.${libPortPrefix}_din <= bits(${libPortPrefix}_din, ${libWidth-1}, 0)
|
mem_0_0.${libPortPrefix}_din <= bits(${libPortPrefix}_din, ${libWidth-1}, 0)
|
||||||
mem_0_0.${libPortPrefix}_write_en <= and(and(and(${libPortPrefix}_write_en, UInt<1>("h1")), UInt<1>("h1")), UInt<1>("h1"))
|
mem_0_0.${libPortPrefix}_write_en <= and(and(and(${libPortPrefix}_write_en, UInt<1>("h1")), UInt<1>("h1")), UInt<1>("h1"))
|
||||||
node ${libPortPrefix}_dout_0 = ${libPortPrefix}_dout_0_0
|
node ${libPortPrefix}_dout_0 = ${libPortPrefix}_dout_0_0
|
||||||
${libPortPrefix}_dout <= mux(UInt<1>("h1"), ${libPortPrefix}_dout_0, UInt<1>("h0"))
|
${libPortPrefix}_dout <= mux(UInt<1>("h1"), ${libPortPrefix}_dout_0, UInt<${libWidth}>("h0"))
|
||||||
|
|
||||||
module split_${lib_name} :
|
module split_${lib_name} :
|
||||||
input ${libPortPrefix}_addr : UInt<${lib_addr_width}>
|
input ${libPortPrefix}_addr : UInt<${lib_addr_width}>
|
||||||
@@ -162,7 +162,7 @@ circuit target_memory :
|
|||||||
mem_1_0.innerA_addr <= outerB_addr
|
mem_1_0.innerA_addr <= outerB_addr
|
||||||
node outerB_dout_1_0 = bits(mem_1_0.innerA_dout, 7, 0)
|
node outerB_dout_1_0 = bits(mem_1_0.innerA_dout, 7, 0)
|
||||||
node outerB_dout_1 = outerB_dout_1_0
|
node outerB_dout_1 = outerB_dout_1_0
|
||||||
outerB_dout <= mux(eq(outerB_addr_sel_reg, UInt<1>("h0")), outerB_dout_0, mux(eq(outerB_addr_sel_reg, UInt<1>("h1")), outerB_dout_1, UInt<1>("h0")))
|
outerB_dout <= mux(eq(outerB_addr_sel_reg, UInt<1>("h0")), outerB_dout_0, mux(eq(outerB_addr_sel_reg, UInt<1>("h1")), outerB_dout_1, UInt<8>("h0")))
|
||||||
"""
|
"""
|
||||||
|
|
||||||
override def generateFooterPorts =
|
override def generateFooterPorts =
|
||||||
@@ -187,7 +187,7 @@ circuit target_memory :
|
|||||||
mem_0_0.innerA_addr <= innerA_addr
|
mem_0_0.innerA_addr <= innerA_addr
|
||||||
node innerA_dout_0_0 = bits(mem_0_0.innerA_dout, 7, 0)
|
node innerA_dout_0_0 = bits(mem_0_0.innerA_dout, 7, 0)
|
||||||
node innerA_dout_0 = innerA_dout_0_0
|
node innerA_dout_0 = innerA_dout_0_0
|
||||||
innerA_dout <= mux(UInt<1>("h1"), innerA_dout_0, UInt<1>("h0"))
|
innerA_dout <= mux(UInt<1>("h1"), innerA_dout_0, UInt<8>("h0"))
|
||||||
|
|
||||||
module split_awesome_lib_mem :
|
module split_awesome_lib_mem :
|
||||||
input innerA_addr : UInt<10>
|
input innerA_addr : UInt<10>
|
||||||
@@ -294,7 +294,7 @@ circuit target_memory :
|
|||||||
mem_1_0.innerA_addr <= outerB_addr
|
mem_1_0.innerA_addr <= outerB_addr
|
||||||
node outerB_dout_1_0 = bits(mem_1_0.innerA_dout, 7, 0)
|
node outerB_dout_1_0 = bits(mem_1_0.innerA_dout, 7, 0)
|
||||||
node outerB_dout_1 = outerB_dout_1_0
|
node outerB_dout_1 = outerB_dout_1_0
|
||||||
outerB_dout <= mux(eq(outerB_addr_sel_reg, UInt<1>("h0")), outerB_dout_0, mux(eq(outerB_addr_sel_reg, UInt<1>("h1")), outerB_dout_1, UInt<1>("h0")))
|
outerB_dout <= mux(eq(outerB_addr_sel_reg, UInt<1>("h0")), outerB_dout_0, mux(eq(outerB_addr_sel_reg, UInt<1>("h1")), outerB_dout_1, UInt<8>("h0")))
|
||||||
"""
|
"""
|
||||||
|
|
||||||
override def generateFooterPorts =
|
override def generateFooterPorts =
|
||||||
@@ -384,7 +384,7 @@ circuit target_memory :
|
|||||||
mem_0_7.innerA_addr <= innerA_addr
|
mem_0_7.innerA_addr <= innerA_addr
|
||||||
node innerA_dout_0_7 = bits(mem_0_7.innerA_dout, 0, 0)
|
node innerA_dout_0_7 = bits(mem_0_7.innerA_dout, 0, 0)
|
||||||
node innerA_dout_0 = cat(innerA_dout_0_7, cat(innerA_dout_0_6, cat(innerA_dout_0_5, cat(innerA_dout_0_4, cat(innerA_dout_0_3, cat(innerA_dout_0_2, cat(innerA_dout_0_1, innerA_dout_0_0)))))))
|
node innerA_dout_0 = cat(innerA_dout_0_7, cat(innerA_dout_0_6, cat(innerA_dout_0_5, cat(innerA_dout_0_4, cat(innerA_dout_0_3, cat(innerA_dout_0_2, cat(innerA_dout_0_1, innerA_dout_0_0)))))))
|
||||||
innerA_dout <= mux(UInt<1>("h1"), innerA_dout_0, UInt<1>("h0"))
|
innerA_dout <= mux(UInt<1>("h1"), innerA_dout_0, UInt<8>("h0"))
|
||||||
|
|
||||||
|
|
||||||
module split_awesome_lib_mem :
|
module split_awesome_lib_mem :
|
||||||
|
|||||||
Reference in New Issue
Block a user