Khushi Posted June 15, 2022 Report Posted June 15, 2022 In 1685-2009 standard pdf at page 484, there is an example of registerFile with 8 registers combined in an array with 32 bit gap. There the range mentioned is 0x10 which I think is incorrect, it should be 8. Am I right ? Here is how the example is specified in the above pdf <!-- 8 registers combined in an array with 32 bit gap --> <!-- LINK: registerFile: see 6.11.6, Register file --> <ipxact:registerFile> <ipxact:name>RegisterArray</ipxact:name> <ipxact:dim>8</ipxact:dim> <ipxact:addressOffset>0x200</ipxact:addressOffset><ipxact:range>0x10</ipxact:range> <ipxact:register> <ipxact:name>RegArrayEntry</ipxact:name> <ipxact:addressOffset>0x0</ipxact:addressOffset> <ipxact:size>32</ipxact:size> <ipxact:field> <ipxact:name>MandatoryField</ipxact:name> <ipxact:bitOffset>0</ipxact:bitOffset> <ipxact:bitWidth>32</ipxact:bitWidth> </ipxact:field> </ipxact:register> </ipxact:registerFile> </ipxact:addressBlock> Thank you Khushi Quote
kock Posted June 16, 2022 Report Posted June 16, 2022 Hi Kushi, The example is correct. The range value shall be such that the whole content of the register file fits. This register file contains 1 register of size 32. The memory map has addressUnitBits with value 8. Hence, the range shall be at least 4. The range value also determines the distance between two consecutive elements of the register file array. In the example, the register file range is 0x10, so the 8 elements of the register file array are located at address offsets 0x200, 0x210, 0x220, ... , 0x270. Best regards, Erwin Quote
kock Posted June 16, 2022 Report Posted June 16, 2022 Hi again Kushi, You are right that the example indeed does not show a 32 bit gap. For that, the range value has to be 8. Thanks and best regards, Erwin Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.