9-bit Write Port Width

Consider the following Intel HEX memory file.

Figure 1. Memory File Data - Intel HEX Memory File

The binary stream of bits for above memory file data is:

If the memory port width is 9 bits, you must pad 7 zeros to every 9 bits of data from the binary stream to create 16 bits (byte-aligned), as shown in the following figure.
Figure 2. Padding Zeros to Create 16 Bits

The following figure shows the equivalent memory file data padded with zeros to achieve a 9-bit write port width.

Figure 3. Equivalent Memory File Data Padded with Zeros (9-bit Write Port Width)

When the tool parses the above memory file data (padded with zeros), the tool converts the data to binary and reads it as a stream of bits. If the port width is 9 bits, the tool reads 16 bits (byte-aligned), ignores the upper 7 bits, and stores the lower 9 bits of actual data in RAM, as shown in the following table.

Table 1. 16-bit Write Port Width
Address Data
0 0x1FF
1 0x108
2 0x0BB
3 0x1A4
4 0x13D
5 0x061
6 0x113
7 0x176
8 0x055
9 0x100
A 0x004
B 0x000