PrashanthP Posted May 16, 2023 Report Share Posted May 16, 2023 Hello, I have created a memory in IPXACT using below fields. Now i need backdoor access for this memory piece. What are the fields that i need to add in addition for enabling backdoor access. Please help me in this context. thanks in advance. Quote Link to comment Share on other sites More sharing options...
Jason H Posted May 16, 2023 Report Share Posted May 16, 2023 This could depend on what tooling you are using to generate your UVM RAL model from the IP-XACT, but the addressBlock accessHandles is what you want. See section 6.9.2.2 in the 1685-2014 standard, and C.1 for accessHandles specifically. As an example: <addressBlock> <accessHandles> <accessHandle> <pathSegments> <pathSegment> <pathSegmentName>partialpathto</pathSegmentName> </pathSegment> <pathSegment> <pathSegmentName>thememory</pathSegmentName> </pathSegment> </pathSegments> </accessHandle> </accessHandles> </addressBlock> This is equivalent to setting an HDL Path of "partialpathto.thememory" on the uvm_mem instance. Each node (e.g. the addressBlock) should only set its related partial path. Assuming this is right at the top of the RTL module, then there isn't much "path" to specify. It may just be a single name, such as MemoryBlock in your example. Some tools will allow use of the IP-XACT hierarchy of addressable elements if that matches the RTL implementation already. Quote Link to comment Share on other sites More sharing options...
PrashanthP Posted May 17, 2023 Author Report Share Posted May 17, 2023 7 hours ago, Jason H said: <addressblock> <accessHandles> <accessHandle> <pathslices> <pathslice> <pathSegments> <pathSegment> <pathSegmentName>mem</pathSegmentName> </pathSegment> </pathSegments> </pathslice> </pathslices> </accessHandle> </accessHandles> <!-- Added the fields like addressoffset,range,width,usage,access policy--> </addressBlock> If i do not add the fields "slices" and "slice", it is throwing error saying it is expecting slices field or viewref field. So i have added slices and it got resolved. what is the purpose of slices and does it create any difference wrto backdoor access ? Quote Link to comment Share on other sites More sharing options...
Jason H Posted May 17, 2023 Report Share Posted May 17, 2023 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 1 Quote Link to comment Share on other sites More sharing options...
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.