]> AND Private Git Repository - blast.git/blobdiff - BlockParameterGeneric.cpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
finished VHDL gen. (but have to test further
[blast.git] / BlockParameterGeneric.cpp
index d652c3740d90c18632128304320125a7effd1a3e..14b8c595f20d7ef5105504ed16949e2c5740d285 100644 (file)
@@ -59,14 +59,33 @@ QString BlockParameterGeneric::toVHDL(int context, int flags) {
       formatNoValue.append(";");\r
     }\r
 \r
-    if (!userValue.isNull()) {\r
-      ret = formatValue.arg(name).arg(getTypeString()).arg(userValue.toString());\r
-    }\r
-    else if (!defaultValue.isNull()) {\r
-      ret = formatValue.arg(name).arg(getTypeString()).arg(defaultValue.toString());\r
+    QString typeStr = "";\r
+    QString valueStr = "";\r
+    if ((type == Boolean)||(type == Bit)) {\r
+      typeStr = "std_logic";\r
+      if (!userValue.isNull()) {\r
+        valueStr = "'"+userValue.toString()+"'";\r
+        ret = formatValue.arg(name).arg(typeStr).arg(valueStr);\r
+      }\r
+      else if (!defaultValue.isNull()) {\r
+        valueStr = "'"+defaultValue.toString()+"'";\r
+        ret = formatValue.arg(name).arg(typeStr).arg(valueStr);\r
+      }\r
+      else {\r
+        ret = formatNoValue.arg(name).arg(typeStr);\r
+      }\r
     }\r
     else {\r
-      ret = formatNoValue.arg(name).arg(getTypeString());\r
+      typeStr = getTypeString();\r
+      if (!userValue.isNull()) {\r
+        ret = formatValue.arg(name).arg(typeStr).arg(userValue.toString());\r
+      }\r
+      else if (!defaultValue.isNull()) {\r
+        ret = formatValue.arg(name).arg(typeStr).arg(defaultValue.toString());\r
+      }\r
+      else {\r
+        ret = formatNoValue.arg(name).arg(typeStr);\r
+      }\r
     }\r
   }\r
   else if (context == BlockParameter::Instance) {\r
@@ -87,10 +106,20 @@ QString BlockParameterGeneric::toVHDL(int context, int flags) {
     }\r
     else {\r
       if (!userValue.isNull()) {\r
-        ret = format.arg(name).arg(userValue.toString());\r
+        if ((type == Boolean)||(type == Bit)) {\r
+          ret = format.arg(name).arg("'"+userValue.toString()+"'");\r
+        }\r
+        else {\r
+          ret = format.arg(name).arg(userValue.toString());\r
+        }\r
       }\r
       else if (!defaultValue.isNull()) {\r
-        ret = format.arg(name).arg(defaultValue.toString());\r
+        if ((type == Boolean)||(type == Bit)) {\r
+          ret = format.arg(name).arg("'"+defaultValue.toString()+"'");\r
+        }\r
+        else {\r
+          ret = format.arg(name).arg(defaultValue.toString());\r
+        }\r
       }\r
       else {\r
         // abnormal case\r