enable specification of addresses for user-specified constructed objects
diff --git a/src/packages/xdc/rov/Model.xs b/src/packages/xdc/rov/Model.xs
index 7f02064..fcaf3cd 100644
--- a/src/packages/xdc/rov/Model.xs
+++ b/src/packages/xdc/rov/Model.xs
@@ -522,6 +522,7 @@
                 var varObj = {};
                 varObj.name = constructInst2[i].name;
                 varObj.type = constructInst2[i].type;
+                varObj.addr = constructInst2[i].addr;
                 varObj.offset = 0;
                 if (constructInst2[i].offset != undefined) {
                     varObj.offset = constructInst2[i].offset;
@@ -562,7 +563,6 @@
             var varList = ofReader.getGlobalVariablesByType(".*_Struct$");
             ofReader.close(); /* close file handle */
 
-
             /* Run through the list and add only constructed objects */
             for (var i = 0; i < varList.length; i++) {
                 var varObj = {};
diff --git a/src/packages/xdc/rov/StateReader.xs b/src/packages/xdc/rov/StateReader.xs
index a1c117c..63b03dc 100644
--- a/src/packages/xdc/rov/StateReader.xs
+++ b/src/packages/xdc/rov/StateReader.xs
@@ -143,12 +143,17 @@
                     symbolname = symbolname.substring(0,
                         symbolname.indexOf('.'));
                 }
-                var constructInstAddr = symTable.getSymbolValue(symbolname);
-                if (constructInstAddr != -1) {
-                    if ("offset" in constructInst) {
-                        constructInstAddr += constructInst.offset;
+                if ("addr" in constructInst && constructInst.addr != null) {
+                    tempArray.push(parseInt(constructInst.addr));
+                }
+                else {
+                    var constructInstAddr = symTable.getSymbolValue(symbolname);
+                    if (constructInstAddr != -1) {
+                        if ("offset" in constructInst) {
+                            constructInstAddr += constructInst.offset;
+                        }
+                        tempArray.push(constructInstAddr);
                     }
-                    tempArray.push(constructInstAddr);
                 }
             }
         }