2019-12-15 23:33:09 -06:00
|
|
|
# Check that blockram memory without parameters is not modified
|
2019-12-16 10:23:45 -06:00
|
|
|
read_verilog ../common/memory_attributes/attributes_test.v
|
2019-12-15 23:33:09 -06:00
|
|
|
hierarchy -top block_ram
|
2019-12-28 09:22:24 -06:00
|
|
|
synth_xilinx -top block_ram -noiopad
|
2019-12-15 23:33:09 -06:00
|
|
|
cd block_ram # Constrain all select calls below inside the top module
|
|
|
|
select -assert-count 1 t:RAMB18E1
|
|
|
|
|
|
|
|
# Check that distributed memory without parameters is not modified
|
|
|
|
design -reset
|
2019-12-16 10:23:45 -06:00
|
|
|
read_verilog ../common/memory_attributes/attributes_test.v
|
2019-12-15 23:33:09 -06:00
|
|
|
hierarchy -top distributed_ram
|
2019-12-28 09:22:24 -06:00
|
|
|
synth_xilinx -top distributed_ram -noiopad
|
2019-12-15 23:33:09 -06:00
|
|
|
cd distributed_ram # Constrain all select calls below inside the top module
|
|
|
|
select -assert-count 8 t:RAM32X1D
|
|
|
|
|
|
|
|
# Set ram_style distributed to blockram memory; will be implemented as distributed
|
|
|
|
design -reset
|
2019-12-16 10:23:45 -06:00
|
|
|
read_verilog ../common/memory_attributes/attributes_test.v
|
2020-10-23 12:04:00 -05:00
|
|
|
setattr -set ram_style "distributed" block_ram/m:*
|
2019-12-28 09:22:24 -06:00
|
|
|
synth_xilinx -top block_ram -noiopad
|
2019-12-15 23:33:09 -06:00
|
|
|
cd block_ram # Constrain all select calls below inside the top module
|
|
|
|
select -assert-count 32 t:RAM128X1D
|
|
|
|
|
|
|
|
# Set synthesis, logic_block to blockram memory; will be implemented as distributed
|
|
|
|
design -reset
|
2019-12-16 10:23:45 -06:00
|
|
|
read_verilog ../common/memory_attributes/attributes_test.v
|
2020-10-23 12:04:00 -05:00
|
|
|
setattr -set logic_block 1 block_ram/m:*
|
2019-12-28 09:22:24 -06:00
|
|
|
synth_xilinx -top block_ram -noiopad
|
2019-12-15 23:33:09 -06:00
|
|
|
cd block_ram # Constrain all select calls below inside the top module
|
|
|
|
select -assert-count 0 t:RAMB18E1
|
|
|
|
select -assert-count 32 t:RAM128X1D
|
|
|
|
|
|
|
|
# Set ram_style block to a distributed memory; will be implemented as blockram
|
|
|
|
design -reset
|
2019-12-16 10:23:45 -06:00
|
|
|
read_verilog ../common/memory_attributes/attributes_test.v
|
2019-12-28 09:22:24 -06:00
|
|
|
synth_xilinx -top distributed_ram_manual -noiopad
|
2019-12-15 23:33:09 -06:00
|
|
|
cd distributed_ram_manual # Constrain all select calls below inside the top module
|
|
|
|
select -assert-count 1 t:RAMB18E1
|
|
|
|
|
|
|
|
# Set synthesis, ram_block block to a distributed memory; will be implemented as blockram
|
|
|
|
design -reset
|
2019-12-16 10:23:45 -06:00
|
|
|
read_verilog ../common/memory_attributes/attributes_test.v
|
2019-12-28 09:22:24 -06:00
|
|
|
synth_xilinx -top distributed_ram_manual_syn -noiopad
|
2019-12-15 23:33:09 -06:00
|
|
|
cd distributed_ram_manual_syn # Constrain all select calls below inside the top module
|
|
|
|
select -assert-count 1 t:RAMB18E1
|