# https://www.xilinx.com/support/documentation/user_guides/ug473_7Series_Memory_Resources.pdf
match $__XILINX_RAMB36_SDP
- attribute !ram_style ram_style=block ram_block
+ attribute !ram_style
attribute !logic_block
min bits 1024
min efficiency 5
or_next_if_better
endmatch
+match $__XILINX_RAMB36_SDP
+ attribute ram_style=block ram_block
+ attribute !logic_block
+ shuffle_enable B
+ make_transp
+ or_next_if_better
+endmatch
+
match $__XILINX_RAMB18_SDP
- attribute !ram_style ram_style=block ram_block
+ attribute !ram_style
attribute !logic_block
min bits 1024
min efficiency 5
or_next_if_better
endmatch
+match $__XILINX_RAMB18_SDP
+ attribute ram_style=block ram_block
+ attribute !logic_block
+ shuffle_enable B
+ make_transp
+ or_next_if_better
+endmatch
+
match $__XILINX_RAMB36_TDP
- attribute !ram_style ram_style=block ram_block
+ attribute !ram_style
attribute !logic_block
min bits 1024
min efficiency 5
or_next_if_better
endmatch
+match $__XILINX_RAMB36_TDP
+ attribute ram_style=block ram_block
+ attribute !logic_block
+ shuffle_enable B
+ make_transp
+ or_next_if_better
+endmatch
+
match $__XILINX_RAMB18_TDP
- attribute !ram_style ram_style=block ram_block
+ attribute !ram_style
attribute !logic_block
min bits 1024
min efficiency 5
shuffle_enable B
make_transp
+ or_next_if_better
+endmatch
+
+match $__XILINX_RAMB18_TDP
+ attribute ram_style=block ram_block
+ attribute !logic_block
+ shuffle_enable B
+ make_transp
endmatch
synth_xilinx -top sync_ram_sdp
cd sync_ram_sdp
select -assert-count 0 t:RAMB18E1
+
+design -reset
+read_verilog ../common/blockram.v
+hierarchy -top sync_ram_sdp -chparam ADDRESS_WIDTH 8 -chparam DATA_WIDTH 1
+setattr -set ram_style "block" m:memory
+dump m:*
+synth_xilinx -top sync_ram_sdp
+cd sync_ram_sdp
+select -assert-count 1 t:RAMB18E1