Specifying RAM Initial Contents in an External Data File - 2022.1 English

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2022-06-06
Version
2022.1 English

Use the file read function in the HDL source code to load the RAM initial contents from an external data file.

The external data file is an ASCII text file with any name.

Each line in the external data file describes the initial content at an address position in the RAM.

There must be as many lines in the external data file as there are rows in the RAM array. An insufficient number of lines is flagged.

The addressable position related to a given line is defined by the direction of the primary range of the signal modeling the RAM.

You can represent RAM content in either binary or hexadecimal. You cannot mix both.

The external data file cannot contain any other content, such as comments.

The following external data file initializes an 8 x 32-bit RAM with binary values:

00001110110000011001111011000110

00101011001011010101001000100011

01110100010100011000011100001111

01000001010000100101001110010100

00001001101001111111101000101011

00101101001011111110101010100111

11101111000100111000111101101101

10001111010010011001000011101111

00000001100011100011110010011111

11011111001110101011111001001010

11100111010100111110110011001010

11000100001001101100111100101001

10001011100101011111111111100001

11110101110110010000010110111010

01001011000000111001010110101110

11100001111111001010111010011110

01101111011010010100001101110001

01010100011011111000011000100100

11110000111101101111001100001011

10101101001111010100100100011100

01011100001010111111101110101110

01011101000100100111010010110101

11110111000100000101011101101101

11100111110001111010101100001101

01110100000011101111111000011111

00010011110101111000111001011101

01101110001111100011010101101111

10111100000000010011101011011011

11000001001101001101111100010000

00011111110010110110011111010101

01100100100000011100100101110000

10001000000100111011001010001111

11001000100011101001010001100001

10000000100111010011100111100011

11011111010010100010101010000111

10000000110111101000111110111011

10110011010111101111000110011001

00010111100001001010110111011100

10011100101110101111011010110011

01010011101101010001110110011010

01111011011100010101000101000001

10001000000110010110111001101010

11101000001101010000111001010110

11100011111100000111110101110101

01001010000000001111111101101111

00100011000011001000000010001111

10011000111010110001001011100100

11111111111011110101000101000111

11000011000101000011100110100000

01101101001011111010100011101001

10000111101100101001110011010111

11010110100100101110110010100100

01001111111001101101011111001011

11011001001101110110000100110111

10110110110111100101110011100110

10011100111001000010111111010110

00000000001011011111001010110010

10100110011010000010001000011011

11001010111111001001110001110101

00100001100010000111000101001000

00111100101111110001101101111010

11000010001010000000010100100001

11000001000110001101000101001110

10010011010100010001100100100111