aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/ecp5/brams.txt
diff options
context:
space:
mode:
authorwhitequark <whitequark@whitequark.org>2020-01-01 12:30:00 +0000
committerwhitequark <whitequark@whitequark.org>2020-01-01 12:30:00 +0000
commit550310e2647c7aac1e49b79d9ff912436103062f (patch)
tree7627eab28fcd68104522d1623108ebb478c9aa84 /techlibs/ecp5/brams.txt
parent22fe931c861aa3f557327baf9d12ec57006308d9 (diff)
downloadyosys-550310e2647c7aac1e49b79d9ff912436103062f.tar.gz
yosys-550310e2647c7aac1e49b79d9ff912436103062f.tar.bz2
yosys-550310e2647c7aac1e49b79d9ff912436103062f.zip
Harmonize BRAM/LUTRAM descriptions across all of Yosys.
This commit: * renames all remaining instances of "DRAM" (which is ambiguous) to "LUTRAM" (which is not), finishing the work started in the commit 698ab9be; * renames memory rule files to brams.txt/lutrams.txt; * adds/renames script labels map_bram/map_lutram; * extracts where necessary script labels map_ffram and map_gates; * adds where necessary options -nobram/-nolutram. The end result is that BRAM/LUTRAM/FFRAM aspects of every target are now consistent with each other. Per architecture: * anlogic: rename drams.txt→lutrams.txt, add -nolutram, add :map_lutram, :map_ffram, :map_gates * ecp5: rename bram.txt→brams.txt, lutram.txt→lutrams.txt * efinix: rename bram.txt→brams.txt, add -nobram, add :map_ffram, :map_gates * gowin: rename bram.txt→brams.txt, dram.txt→lutrams.txt, rename -nodram→-nolutram (-nodram still recognized), rename :bram→:map_bram, :dram→:map_lutram, add :map_ffram, :map_gates
Diffstat (limited to 'techlibs/ecp5/brams.txt')
-rw-r--r--techlibs/ecp5/brams.txt52
1 files changed, 52 insertions, 0 deletions
diff --git a/techlibs/ecp5/brams.txt b/techlibs/ecp5/brams.txt
new file mode 100644
index 000000000..777ccaa2e
--- /dev/null
+++ b/techlibs/ecp5/brams.txt
@@ -0,0 +1,52 @@
+bram $__ECP5_PDPW16KD
+ init 1
+
+ abits 9
+ dbits 36
+
+ groups 2
+ ports 1 1
+ wrmode 1 0
+ enable 4 1
+ transp 0 0
+ clocks 2 3
+ clkpol 2 3
+endbram
+
+bram $__ECP5_DP16KD
+ init 1
+
+ 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 2 1 @a10d18
+ enable 1 1 @a11d9 @a12d4 @a13d2 @a14d1
+ transp 0 2
+ clocks 2 3
+ clkpol 2 3
+endbram
+
+match $__ECP5_PDPW16KD
+ min bits 2048
+ min efficiency 5
+ shuffle_enable A
+ make_transp
+ or_next_if_better
+endmatch
+
+match $__ECP5_DP16KD
+ min bits 2048
+ min efficiency 5
+ shuffle_enable A
+endmatch