mirror of
https://github.com/YosysHQ/yosys
synced 2025-07-31 00:13:18 +00:00
Add v2 memory cells.
This commit is contained in:
parent
b96eb888cc
commit
fd79217763
22 changed files with 631 additions and 206 deletions
|
@ -50,25 +50,25 @@ design -reset; read_verilog ../common/blockram.v
|
|||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 36 sync_ram_sdp
|
||||
setattr -set syn_romstyle "ebr" m:memory
|
||||
synth_ecp5 -top sync_ram_sdp; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BROM but this is a RAM
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but this is a RAM
|
||||
|
||||
design -reset; read_verilog ../common/blockram.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 36 sync_ram_sdp
|
||||
setattr -set rom_block 1 m:memory
|
||||
synth_ecp5 -top sync_ram_sdp; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BROM but this is a RAM
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but this is a RAM
|
||||
|
||||
design -reset; read_verilog ../common/blockram.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 36 sync_ram_sdp
|
||||
setattr -set syn_ramstyle "block_ram" m:memory
|
||||
synth_ecp5 -top sync_ram_sdp -nobram; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BRAM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but BRAM is disabled
|
||||
|
||||
design -reset; read_verilog ../common/blockram.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 36 sync_ram_sdp
|
||||
setattr -set ram_block 1 m:memory
|
||||
synth_ecp5 -top sync_ram_sdp -nobram; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BRAM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but BRAM is disabled
|
||||
|
||||
# RAM bits <= 18K; Data width <= 18; Address width <= 10: -> DP16KD
|
||||
|
||||
|
@ -141,25 +141,25 @@ design -reset; read_verilog ../common/blockram.v
|
|||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 18 sync_ram_sdp
|
||||
setattr -set syn_romstyle "ebr" m:memory
|
||||
synth_ecp5 -top sync_ram_sdp; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BROM but this is a RAM
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but this is a RAM
|
||||
|
||||
design -reset; read_verilog ../common/blockram.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 18 sync_ram_sdp
|
||||
setattr -set rom_block 1 m:memory
|
||||
synth_ecp5 -top sync_ram_sdp; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BROM but this is a RAM
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but this is a RAM
|
||||
|
||||
design -reset; read_verilog ../common/blockram.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 18 sync_ram_sdp
|
||||
setattr -set syn_ramstyle "block_ram" m:memory
|
||||
synth_ecp5 -top sync_ram_sdp -nobram; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BRAM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but BRAM is disabled
|
||||
|
||||
design -reset; read_verilog ../common/blockram.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 18 sync_ram_sdp
|
||||
setattr -set ram_block 1 m:memory
|
||||
synth_ecp5 -top sync_ram_sdp -nobram; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BRAM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but BRAM is disabled
|
||||
|
||||
# RAM bits <= 64; Data width <= 4; Address width <= 4: -> DPR16X4
|
||||
|
||||
|
@ -194,7 +194,7 @@ design -reset; read_verilog ../common/blockram.v
|
|||
chparam -set ADDRESS_WIDTH 4 -set DATA_WIDTH 4 sync_ram_sdp
|
||||
setattr -set syn_ramstyle "distributed" m:memory
|
||||
synth_ecp5 -top sync_ram_sdp -nolutram; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested LUTRAM but LUTRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested LUTRAM but LUTRAM is disabled
|
||||
|
||||
# ================================ ROM ================================
|
||||
# ROM bits <= 18K; Data width <= 36; Address width <= 9: -> PDPW16KD
|
||||
|
@ -242,25 +242,25 @@ design -reset; read_verilog ../common/blockrom.v
|
|||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 36 sync_rom
|
||||
setattr -set syn_ramstyle "block_ram" m:memory
|
||||
synth_ecp5 -top sync_rom; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BRAM but this is a ROM
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but this is a ROM
|
||||
|
||||
design -reset; read_verilog ../common/blockrom.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 36 sync_rom
|
||||
setattr -set ram_block 1 m:memory
|
||||
synth_ecp5 -top sync_rom; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BRAM but this is a ROM
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but this is a ROM
|
||||
|
||||
design -reset; read_verilog ../common/blockrom.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 36 sync_rom
|
||||
setattr -set syn_ramstyle "block_rom" m:memory
|
||||
synth_ecp5 -top sync_rom -nobram; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BROM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but BRAM is disabled
|
||||
|
||||
design -reset; read_verilog ../common/blockrom.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 36 sync_rom
|
||||
setattr -set rom_block 1 m:memory
|
||||
synth_ecp5 -top sync_rom -nobram; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BROM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but BRAM is disabled
|
||||
|
||||
# ROM bits <= 18K; Data width <= 18; Address width <= 10: -> DP16KD
|
||||
|
||||
|
@ -307,22 +307,22 @@ design -reset; read_verilog ../common/blockrom.v
|
|||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 18 sync_rom
|
||||
setattr -set syn_ramstyle "block_ram" m:memory
|
||||
synth_ecp5 -top sync_rom; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BRAM but this is a ROM
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but this is a ROM
|
||||
|
||||
design -reset; read_verilog ../common/blockrom.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 18 sync_rom
|
||||
setattr -set ram_block 1 m:memory
|
||||
synth_ecp5 -top sync_rom; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BRAM but this is a ROM
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but this is a ROM
|
||||
|
||||
design -reset; read_verilog ../common/blockrom.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 18 sync_rom
|
||||
setattr -set syn_ramstyle "block_rom" m:memory
|
||||
synth_ecp5 -top sync_rom -nobram; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BROM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but BRAM is disabled
|
||||
|
||||
design -reset; read_verilog ../common/blockrom.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 18 sync_rom
|
||||
setattr -set rom_block 1 m:memory
|
||||
synth_ecp5 -top sync_rom -nobram; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BROM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but BRAM is disabled
|
||||
|
|
|
@ -65,25 +65,25 @@ design -reset; read_verilog ../common/blockram.v
|
|||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 8 sync_ram_sdp
|
||||
setattr -set syn_romstyle "ebr" m:memory
|
||||
synth_ice40 -top sync_ram_sdp; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BROM but this is a RAM
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but this is a RAM
|
||||
|
||||
design -reset; read_verilog ../common/blockram.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 8 sync_ram_sdp
|
||||
setattr -set rom_block 1 m:memory
|
||||
synth_ice40 -top sync_ram_sdp; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BROM but this is a RAM
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but this is a RAM
|
||||
|
||||
design -reset; read_verilog ../common/blockram.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 8 sync_ram_sdp
|
||||
setattr -set syn_ramstyle "block_ram" m:memory
|
||||
synth_ice40 -top sync_ram_sdp -nobram; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BRAM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but BRAM is disabled
|
||||
|
||||
design -reset; read_verilog ../common/blockram.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 8 sync_ram_sdp
|
||||
setattr -set ram_block 1 m:memory
|
||||
synth_ice40 -top sync_ram_sdp -nobram; cd sync_ram_sdp
|
||||
select -assert-count 1 t:$mem # requested BRAM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but BRAM is disabled
|
||||
|
||||
# ================================ ROM ================================
|
||||
# ROM bits <= 4K; Data width <= 16; Address width <= 11: -> SB_RAM40_4K
|
||||
|
@ -146,22 +146,22 @@ design -reset; read_verilog ../common/blockrom.v
|
|||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 8 sync_rom
|
||||
setattr -set syn_ramstyle "block_ram" m:memory
|
||||
synth_ice40 -top sync_rom; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BRAM but this is a ROM
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but this is a ROM
|
||||
|
||||
design -reset; read_verilog ../common/blockrom.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 8 sync_rom
|
||||
setattr -set ram_block 1 m:memory
|
||||
synth_ice40 -top sync_rom; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BRAM but this is a ROM
|
||||
select -assert-count 1 t:$mem_v2 # requested BRAM but this is a ROM
|
||||
|
||||
design -reset; read_verilog ../common/blockrom.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 8 sync_rom
|
||||
setattr -set syn_romstyle "ebr" m:memory
|
||||
synth_ice40 -top sync_rom -nobram; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BROM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but BRAM is disabled
|
||||
|
||||
design -reset; read_verilog ../common/blockrom.v
|
||||
chparam -set ADDRESS_WIDTH 2 -set DATA_WIDTH 8 sync_rom
|
||||
setattr -set rom_block 1 m:memory
|
||||
synth_ice40 -top sync_rom -nobram; cd sync_rom
|
||||
select -assert-count 1 t:$mem # requested BROM but BRAM is disabled
|
||||
select -assert-count 1 t:$mem_v2 # requested BROM but BRAM is disabled
|
||||
|
|
|
@ -18,7 +18,7 @@ ${MAKE:-make} -f ../tools/autotest.mk SEED="$seed" EXTRA_FLAGS="$abcopt" *.v
|
|||
|
||||
for f in `egrep -l 'expect-(wr-ports|rd-ports|rd-clk)' *.v`; do
|
||||
echo -n "Testing expectations for $f .."
|
||||
../../yosys -qp "proc; opt; memory -nomap;; dump -outfile ${f%.v}.dmp t:\$mem" $f
|
||||
../../yosys -qp "proc; opt; memory -nomap;; dump -outfile ${f%.v}.dmp t:\$mem_v2" $f
|
||||
if grep -q expect-wr-ports $f; then
|
||||
grep -q "parameter \\\\WR_PORTS $(gawk '/expect-wr-ports/ { print $3; }' $f)\$" ${f%.v}.dmp ||
|
||||
{ echo " ERROR: Unexpected number of write ports."; false; }
|
||||
|
|
|
@ -31,4 +31,4 @@ proc
|
|||
opt
|
||||
select -assert-count 2 t:$memwr
|
||||
opt_mem
|
||||
select -assert-count 1 t:$memwr
|
||||
select -assert-count 1 t:$memwr_v2
|
||||
|
|
|
@ -37,7 +37,7 @@ design -save preopt
|
|||
|
||||
design -load start
|
||||
opt_mem_feedback
|
||||
select -assert-count 1 t:$memrd
|
||||
select -assert-count 1 t:$memrd_v2
|
||||
memory_map
|
||||
design -save postopt
|
||||
|
||||
|
@ -182,7 +182,7 @@ design -save preopt
|
|||
|
||||
design -load start
|
||||
opt_mem_feedback
|
||||
select -assert-count 1 t:$memrd
|
||||
select -assert-count 1 t:$memrd_v2
|
||||
memory_map
|
||||
design -save postopt
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
read_verilog -sv logic_rom.sv
|
||||
prep -top top
|
||||
select -assert-count 1 t:$mem r:SIZE=16 %i r:WIDTH=8 %i
|
||||
select -assert-count 1 t:$mem_v2 r:SIZE=16 %i r:WIDTH=8 %i
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
read_verilog -sv typedef_memory.sv
|
||||
prep -top top
|
||||
select -assert-count 1 t:$mem r:SIZE=16 %i r:WIDTH=4 %i
|
||||
select -assert-count 1 t:$mem_v2 r:SIZE=16 %i r:WIDTH=4 %i
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
read_verilog -sv typedef_memory_2.sv
|
||||
prep -top top
|
||||
dump
|
||||
select -assert-count 1 t:$mem r:SIZE=16 %i r:WIDTH=4 %i
|
||||
select -assert-count 1 t:$mem_v2 r:SIZE=16 %i r:WIDTH=4 %i
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue