prjxray/fuzzers/027-bram36-config
Keith Rothman 88fc1f1b40 Fix new BRAM36 features.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-10-28 13:44:49 -07:00
..
Makefile Fix new BRAM36 features. 2020-10-28 13:44:49 -07:00
README.md Fix new BRAM36 features. 2020-10-28 13:44:49 -07:00
bits.dbf Add RAM extension bits for 1 bit cascades. 2019-01-29 18:21:34 -08:00
generate.py Fix new BRAM36 features. 2020-10-28 13:44:49 -07:00
generate.tcl Add license headers to tcl files 2020-05-26 07:33:12 -07:00
top.py Fix new BRAM36 features. 2020-10-28 13:44:49 -07:00

README.md

RAMB36 features

This fuzzer emits features that only are used in the RAMB36E1 cell. There are 3 categories:

  • ECC
  • RAM extension
  • Odd address modes

Odd address modes

Most RAMB36E1 address widths are expressed by configuring the underlying RAMB18E1 to handle half of the data. So RAMB36.READ_WIDTH = 4 is expressed as RAM18_Y0.READ_WIDTH = 2 and RAM18_Y1.READ_WIDTH = 2. However two address widths (1 and 9) are odd (e.g. not divisible by 2). In these cases, a RAMB36E1 specific feature is used. So RAMB36.READ_WIDTH = 9 is expressed as:

  • RAMB18_Y0.READ_WIDTH_4
  • RAMB18_Y1.READ_WIDTH_4
  • RAMB36.BRAM36_READ_WIDTH_1

and RAMB36.READ_WIDTH = 1 is expressed as:

  • RAMB18_Y0.READ_WIDTH_1
  • RAMB18_Y1.READ_WIDTH_1
  • RAMB36.BRAM36_READ_WIDTH_1