aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/gowin/brams.txt
diff options
context:
space:
mode:
Diffstat (limited to 'techlibs/gowin/brams.txt')
-rw-r--r--techlibs/gowin/brams.txt110
1 files changed, 80 insertions, 30 deletions
diff --git a/techlibs/gowin/brams.txt b/techlibs/gowin/brams.txt
index e406f9c51..0c0d8fa3e 100644
--- a/techlibs/gowin/brams.txt
+++ b/techlibs/gowin/brams.txt
@@ -1,31 +1,81 @@
-bram $__GW1NR_SDP
- init 1
- abits 9 @a9d36
- dbits 32 @a9d36
- abits 10 @a10d18
- dbits 16 @a10d18
- abits 11 @a11d9
- dbits 8 @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
+ram block $__GOWIN_SP_ {
+ abits 14;
+ widths 1 2 4 9 18 36 per_port;
+ byte 9;
+ cost 128;
+ init no_undef;
+ port srsw "A" {
+ clock posedge;
+ clken;
+ wrbe_separate;
+ option "RESET_MODE" "SYNC" {
+ rdsrst zero ungated;
+ }
+ option "RESET_MODE" "ASYNC" {
+ rdarst zero;
+ }
+ rdinit zero;
+ portoption "WRITE_MODE" 0 {
+ rdwr no_change;
+ }
+ portoption "WRITE_MODE" 1 {
+ rdwr new;
+ }
+ portoption "WRITE_MODE" 2 {
+ rdwr old;
+ }
+ }
+}
-match $__GW1NR_SDP
- min bits 2048
- min efficiency 5
- shuffle_enable A
- make_transp
-endmatch
+ram block $__GOWIN_DP_ {
+ abits 14;
+ widths 1 2 4 9 18 per_port;
+ byte 9;
+ cost 128;
+ init no_undef;
+ port srsw "A" "B" {
+ clock posedge;
+ clken;
+ wrbe_separate;
+ option "RESET_MODE" "SYNC" {
+ rdsrst zero ungated;
+ }
+ option "RESET_MODE" "ASYNC" {
+ rdarst zero;
+ }
+ rdinit zero;
+ portoption "WRITE_MODE" 0 {
+ rdwr no_change;
+ }
+ portoption "WRITE_MODE" 1 {
+ rdwr new;
+ }
+ portoption "WRITE_MODE" 2 {
+ rdwr old;
+ }
+ }
+}
+
+ram block $__GOWIN_SDP_ {
+ abits 14;
+ widths 1 2 4 9 18 36 per_port;
+ byte 9;
+ cost 128;
+ init no_undef;
+ port sr "R" {
+ clock posedge;
+ clken;
+ option "RESET_MODE" "SYNC" {
+ rdsrst zero ungated;
+ }
+ option "RESET_MODE" "ASYNC" {
+ rdarst zero;
+ }
+ rdinit zero;
+ }
+ port sw "W" {
+ clock posedge;
+ clken;
+ wrbe_separate;
+ }
+}