abc9: generate $abc9_holes design instead of <name>$holes
[yosys.git] / techlibs / ecp5 / brams.txt
1 bram $__ECP5_PDPW16KD
2 init 1
3
4 abits 9
5 dbits 36
6
7 groups 2
8 ports 1 1
9 wrmode 1 0
10 enable 4 1
11 transp 0 0
12 clocks 2 3
13 clkpol 2 3
14 endbram
15
16 bram $__ECP5_DP16KD
17 init 1
18
19 abits 10 @a10d18
20 dbits 18 @a10d18
21 abits 11 @a11d9
22 dbits 9 @a11d9
23 abits 12 @a12d4
24 dbits 4 @a12d4
25 abits 13 @a13d2
26 dbits 2 @a13d2
27 abits 14 @a14d1
28 dbits 1 @a14d1
29
30 groups 2
31 ports 1 1
32 wrmode 1 0
33 enable 2 1 @a10d18
34 enable 1 1 @a11d9 @a12d4 @a13d2 @a14d1
35 transp 0 2
36 clocks 2 3
37 clkpol 2 3
38 endbram
39
40 # The syn_* attributes are described in:
41 # https://www.latticesemi.com/-/media/LatticeSemi/Documents/Tutorials/AK/LatticeDiamondTutorial311.ashx
42 attr_icase 1
43
44 match $__ECP5_PDPW16KD
45 # implicitly requested RAM or ROM
46 attribute !syn_ramstyle syn_ramstyle=auto
47 attribute !syn_romstyle syn_romstyle=auto
48 attribute !ram_block
49 attribute !rom_block
50 attribute !logic_block
51 min bits 2048
52 min efficiency 5
53 shuffle_enable A
54 make_transp
55 or_next_if_better
56 endmatch
57
58 match $__ECP5_PDPW16KD
59 # explicitly requested RAM
60 attribute syn_ramstyle=block_ram ram_block
61 attribute !syn_romstyle
62 attribute !rom_block
63 attribute !logic_block
64 min wports 1
65 shuffle_enable A
66 make_transp
67 or_next_if_better
68 endmatch
69
70 match $__ECP5_PDPW16KD
71 # explicitly requested ROM
72 attribute syn_romstyle=ebr rom_block
73 attribute !syn_ramstyle
74 attribute !ram_block
75 attribute !logic_block
76 max wports 0
77 shuffle_enable A
78 make_transp
79 or_next_if_better
80 endmatch
81
82 match $__ECP5_DP16KD
83 # implicitly requested RAM or ROM
84 attribute !syn_ramstyle syn_ramstyle=auto
85 attribute !syn_romstyle syn_romstyle=auto
86 attribute !ram_block
87 attribute !rom_block
88 attribute !logic_block
89 min bits 2048
90 min efficiency 5
91 shuffle_enable A
92 or_next_if_better
93 endmatch
94
95 match $__ECP5_DP16KD
96 # explicitly requested RAM
97 attribute syn_ramstyle=block_ram ram_block
98 attribute !syn_romstyle
99 attribute !rom_block
100 attribute !logic_block
101 min wports 1
102 shuffle_enable A
103 or_next_if_better
104 endmatch
105
106 match $__ECP5_DP16KD
107 # explicitly requested ROM
108 attribute syn_romstyle=ebr rom_block
109 attribute !syn_ramstyle
110 attribute !ram_block
111 attribute !logic_block
112 max wports 0
113 shuffle_enable A
114 endmatch