Author Topic: Altera ROM M9k [Solved]  (Read 1343 times)

0 Members and 1 Guest are viewing this topic.

Offline WiljanTopic starter

  • Regular Contributor
  • *
  • Posts: 230
  • Country: dk
Altera ROM M9k [Solved]
« on: March 12, 2019, 04:29:05 pm »
Hi
I have been using the Altera Rom M9k and M10k  many times with and external Intel hex file and it have been working straight out of the box as 8 bit

Now I deal with project with a M9k Rom 8 bit input and 9 bit output

My question is how are the init memory map layout as 9 bit?

When using 8 bit it just take a bin file eg in HxD and export it as Intel hex file and then use it in the M9k and it work straight for each 8 bit address

Now with the 9 bit I did find that it uses 8 bit from byte 0 and 1 bit (the 9. bit) from byte 1 so = 2 bytes for 9 bit... it makes some sense

So if my hex file looks like

Code: [Select]
00 12 00 34 00 56 00 78 00 9A 00 BC 00 DE 00 01
01 12 01 34 01 56 01 78 01 9A 01 BC 01 DE 01 01

and I save it as Intel hex and use it in Quartus for the M9k and run fpga (I does send the data out by a simple counter going though the rom I get

Code: [Select]
0x000
0x012
0x034
0x056
0x078
0x09A
0x0BC
0x0DE
0x001
0x000
0x000
0x000
0x000
0x000
0x000
0x000
0x000
0x112
0x134
0x156
0x178
0x19A
0x1BC
0x1DE
0x101

I do NOT expect all the  0x000's

So basic my question is if the layout of the Intels hex are straight 2 bytes per 9 bit or is it packet in a different way?



« Last Edit: March 13, 2019, 10:35:59 am by Wiljan »
 

Offline WiljanTopic starter

  • Regular Contributor
  • *
  • Posts: 230
  • Country: dk
Re: Altera ROM M9k
« Reply #1 on: March 13, 2019, 10:11:28 am »
Some more investigation, if I make a memory file manually as 9 bit in quartus and save it as Intel Hex file it does work in the FPGA as expected, that great.

Here is the Intelhex code for the 9bit data
Code: [Select]
:020000000011ED
:020001000022DB
:020002000033C9
:020003000044B7
:020004000055A5
:02000500006693
:02000600007781
:0200070000886F
:0200080000995D
:0200090000AA4B
:02000A0000BB39
:02000B0000CC27
:02000C0000DD15
:02000D0000EE03
:02000E0000FFF1
:02000F000000EF
:020010000111DC
:020011000122CA
:020012000133B8
:020013000144A6
:02001400015594
:02001500016682
:02001600017770
:0200170001885E
:0200180001994C
:0200190001AA3A
:02001A0001BB28
:02001B0001CC16
:02001C0001DD04
:02001D0001EEF2
:02001E0001FFE0
:02001F000100DE
:02002000015588
:02002100015587
:02002200015586
:02002300015585
:02002400015584
:02002500015583
:02002600015582
:02002700015581
:02002800015580
:0200290001557F
:02002A0001557E
:02002B0001557D
:02002C0001557C


: 02 0000 00 0011 ED
: 02 0010 00 0111 DC
 Start code   Byte count   Address   Record type   Data   Checksum

 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf