PrashanthP
-
Posts
17 -
Joined
-
Last visited
Reputation Activity
-
PrashanthP reacted to Jason H in How to create the backdoor access for memory wrto IPXACT
Sorry about that, my example was the simpleAccessHandle schema, and an addressBlock accessHandle uses the slicedAccessHandle schema.
The slicedAccessHandle allows you to specify an optional range that would correspond to a part/bit select (e.g. mem[msb:lsb]). You shouldn't need that here. So the more accurate example:
<addressBlock> <accessHandles> <accessHandle> <slices> <slice> <pathSegments> <pathSegment> <pathSegmentName>mem</pathSegmentName> </pathSegment> </pathSegments> <!-- this is allowed, but likely not useful <range> <left>some_msb</left> <right>some_lsb</left> </range> --> </slice> </slices> </accessHandle> </accessHandles> </addressBlock> I don't know why they chose to give the accessHandle element three different schemas depending on its parent element, but there is fundamentally no difference in the construction of the path in this scenario. Just more complex XML.
-
PrashanthP reacted to Jason H in How to replicate multiple register sets using parameters or any other feature in IPXACT
@PrashanthP you might want to check out simple built-in sequences like the bit bash sequence as a baseline for whether your (presumably generated from IP-XACT) UVM RAL model matches the design.
Details beyond that could be answered in UVM forums or other docs.
-
PrashanthP reacted to kock in How to replicate multiple register sets using parameters or any other feature in IPXACT
Sorry for the confusion. You do not need to "add" anything. The next occurrence of the register file is at offset + 0x20 (the range). So the register file array element are at 0x2000, 0x2020, 0x2040 .... Within each register file element you have the registers at offsets 0x0, 0x4, 0x8 and 0xC. The XML snippet is the same as yours above.
-
PrashanthP reacted to kock in what are the fields to be added in IPXACT xml file for memory verification
Please refer to the IEEE 1685 standard for the meaning of all elements. The range element describes the number of elements in the address block. Each element is an addressable unit. The number of bits in the addressable unit is describe by the memoryMap/addressableUnits element.
I cannot answer question 2. This depends on which tools you use. That is not a topic of discussion in this forum.
-
PrashanthP reacted to kock in what are the fields to be added in IPXACT xml file for memory verification
Hi Prashanth,
Like I indicated you need to describe an addressBlock element with its sub-elements then. No register or registerFile elements are required. Here is the example from the 1685-2014 standard:
<!-- LINK: addressBlock: see 6.9.2, Address block --> <ipxact:addressBlock> <ipxact:name>SimpleAddressBlock</ipxact:name> <ipxact:baseAddress>0x0</ipxact:baseAddress> <!-- LINK: addressBlockDefinitionGroup: see 6.9.3, Address block definition group --> <ipxact:range>2**10</ipxact:range> <ipxact:width>32</ipxact:width> <!-- LINK: memoryBlockData: see 6.9.4, memoryBlockData group --> <ipxact:usage>memory</ipxact:usage> <ipxact:volatile>false</ipxact:volatile> <ipxact:access>read-write</ipxact:access> </ipxact:addressBlock>