3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-08-18 17:22:17 +00:00

nexus: Use memory_libmap pass.

This commit is contained in:
Marcelina Kościelnicka 2022-02-08 03:52:50 +01:00
parent a04b025abf
commit 0a8eaca322
11 changed files with 661 additions and 501 deletions

View file

@ -1,63 +1,47 @@
bram $__NX_PDP16K
init 1
ram block $__NX_DP16K_ {
abits 14;
widths 1 2 4 9 18 per_port;
byte 9;
cost 129;
init no_undef;
port srsw "A" "B" {
clock posedge;
clken;
wrbe_separate;
rdwr no_change;
portoption "RESETMODE" "SYNC" {
rdsrst zero gated_clken;
}
portoption "RESETMODE" "ASYNC" {
rdarst zero;
}
rdinit zero;
}
}
abits 9 @a9d36
dbits 36 @a9d36
abits 10 @a10d18
dbits 18 @a10d18
abits 11 @a11d9
dbits 9 @a11d9
abits 12 @a12d4
dbits 4 @a12d4
abits 13 @a13d2
dbits 2 @a13d2
abits 14 @a14d1
dbits 1 @a14d1
groups 2
ports 1 1
wrmode 1 0
enable 4 1 @a9d36
enable 2 1 @a10d18
enable 1 1 @a11d9 @a12d4 @a13d2 @a14d1
transp 0 0
clocks 2 3
clkpol 2 3
endbram
match $__NX_PDP16K
# implicitly requested RAM or ROM
attribute !syn_ramstyle syn_ramstyle=auto
attribute !syn_romstyle syn_romstyle=auto
attribute !ram_block
attribute !rom_block
attribute !logic_block
min bits 2048
min efficiency 5
shuffle_enable A
make_transp
or_next_if_better
endmatch
match $__NX_PDP16K
# explicitly requested RAM
attribute syn_ramstyle=block_ram ram_block
attribute !syn_romstyle
attribute !rom_block
attribute !logic_block
min wports 1
shuffle_enable A
make_transp
or_next_if_better
endmatch
match $__NX_PDP16K
# explicitly requested ROM
attribute syn_romstyle=ebr rom_block
attribute !syn_ramstyle
attribute !ram_block
attribute !logic_block
max wports 0
make_transp
shuffle_enable A
endmatch
ram block $__NX_PDP16K_ {
abits 14;
widths 1 2 4 9 18 36 per_port;
byte 9;
option "SAME_CLOCK" 1 cost 128;
option "SAME_CLOCK" 0 cost 129;
init no_undef;
port sr "R" {
option "SAME_CLOCK" 1 clock posedge "C";
option "SAME_CLOCK" 0 clock posedge;
clken;
portoption "RESETMODE" "SYNC" {
rdsrst zero gated_clken;
}
portoption "RESETMODE" "ASYNC" {
rdarst zero;
}
rdinit zero;
}
port sw "W" {
option "SAME_CLOCK" 1 clock posedge "C";
option "SAME_CLOCK" 0 clock posedge;
clken;
option "SAME_CLOCK" 1 wrtrans all old;
}
}