public virtual string TransformText() { this.GenerationEnvironment = null; #line 6 "" this.Write(@" library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; -- library SYSTEM_TYPES; use work.SYSTEM_TYPES.ALL; -- User defined packages here -- #### USER-DATA-IMPORTS-START -- #### USER-DATA-IMPORTS-END package CUSTOM_TYPES is -- User defined types here -- #### USER-DATA-CORETYPES-START -- #### USER-DATA-CORETYPES-END "); #line default #line hidden #line 24 "" if (RS.CustomTypes.Any()) { #line default #line hidden #line 25 "" this.Write(" -- Types for processes\n"); #line default #line hidden #line 26 "" foreach (var t in RS.CustomTypes) { #line default #line hidden #line 27 "" this.Write(" type "); #line default #line hidden #line 27 "" this.Write(this.ToStringHelper.ToStringWithCulture(t.ToSafeVHDLName())); #line default #line hidden #line 27 "" this.Write(" is\n"); #line default #line hidden #line 28 "" foreach (var f in RS.ListMembers(t)) { #line default #line hidden #line 29 "" this.Write(" "); #line default #line hidden #line 29 "" this.Write(this.ToStringHelper.ToStringWithCulture(f)); #line default #line hidden #line 29 "" this.Write("\n"); #line default #line hidden #line 30 "" } #line default #line hidden #line 31 "" this.Write("\n"); #line default #line hidden #line 32 "" } #line default #line hidden #line 33 "" this.Write("\n"); #line default #line hidden #line 34 "" } #line default #line hidden #line 35 "" foreach (var t in RS.TypeDefinitions) { #line default #line hidden #line 36 "" this.Write(" "); #line default #line hidden #line 36 "" this.Write(this.ToStringHelper.ToStringWithCulture(t)); #line default #line hidden #line 36 "" this.Write(";\n"); #line default #line hidden #line 37 "" } #line default #line hidden #line 38 "" this.Write("\n"); #line default #line hidden #line 39 "" foreach (var enumtype in RS.EnumTypes.Where(x => x.IsIrregularEnum)) { #line default #line hidden #line 40 "" this.Write(" -- Converts an integer to "); #line default #line hidden #line 40 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 40 "" this.Write("\n pure function fromValue_"); #line default #line hidden #line 41 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 41 "" this.Write("(v: INTEGER) return "); #line default #line hidden #line 41 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 41 "" this.Write(";\n -- Converts a "); #line default #line hidden #line 42 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 42 "" this.Write(" to an integer\n pure function toValue_"); #line default #line hidden #line 43 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 43 "" this.Write("(v: "); #line default #line hidden #line 43 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 43 "" this.Write(") return INTEGER;\n"); #line default #line hidden #line 44 "" } #line default #line hidden #line 45 "" this.Write("\n"); #line default #line hidden #line 46 "" if (RS.BusArrays.Any()) { #line default #line hidden #line 47 "" this.Write(" -- Bus array definitions\n"); #line default #line hidden #line 48 "" foreach (var signal in RS.BusArrays) { var vhdltype = RS.VHDLType(signal); var elementtype = RS.TypeScope.GetByName(vhdltype.ElementName); var bus = signal.Parent as AST.Bus; var arraylength = RS.GetArrayLength(signal); if (elementtype.IsSystemType) { #line default #line hidden #line 55 "" this.Write(" subtype "); #line default #line hidden #line 55 "" this.Write(this.ToStringHelper.ToStringWithCulture(bus.Name)); #line default #line hidden #line 55 "" this.Write("_"); #line default #line hidden #line 55 "" this.Write(this.ToStringHelper.ToStringWithCulture(signal.Name)); #line default #line hidden #line 55 "" this.Write("_type is "); #line default #line hidden #line 55 "" this.Write(this.ToStringHelper.ToStringWithCulture(elementtype.ToSafeVHDLName())); #line default #line hidden #line 55 "" this.Write("_ARRAY(0 to "); #line default #line hidden #line 55 "" this.Write(this.ToStringHelper.ToStringWithCulture(arraylength)); #line default #line hidden #line 55 "" this.Write(" - 1);\n"); #line default #line hidden #line 56 "" } else if (RS.Config.USE_EXPLICIT_LITERAL_ARRAY_LENGTH) { #line default #line hidden #line 57 "" this.Write(" type "); #line default #line hidden #line 57 "" this.Write(this.ToStringHelper.ToStringWithCulture(bus.Name)); #line default #line hidden #line 57 "" this.Write("_"); #line default #line hidden #line 57 "" this.Write(this.ToStringHelper.ToStringWithCulture(signal.Name)); #line default #line hidden #line 57 "" this.Write("_type is array (0 to "); #line default #line hidden #line 57 "" this.Write(this.ToStringHelper.ToStringWithCulture(arraylength - 1)); #line default #line hidden #line 57 "" this.Write(") of "); #line default #line hidden #line 57 "" this.Write(this.ToStringHelper.ToStringWithCulture(elementtype.ToSafeVHDLName())); #line default #line hidden #line 57 "" this.Write(";\n"); #line default #line hidden #line 58 "" } else { #line default #line hidden #line 59 "" this.Write(" type "); #line default #line hidden #line 59 "" this.Write(this.ToStringHelper.ToStringWithCulture(bus.Name)); #line default #line hidden #line 59 "" this.Write("_"); #line default #line hidden #line 59 "" this.Write(this.ToStringHelper.ToStringWithCulture(signal.Name)); #line default #line hidden #line 59 "" this.Write("_type is array (0 to "); #line default #line hidden #line 59 "" this.Write(this.ToStringHelper.ToStringWithCulture(arraylength)); #line default #line hidden #line 59 "" this.Write(" - 1) of "); #line default #line hidden #line 59 "" this.Write(this.ToStringHelper.ToStringWithCulture(elementtype.ToSafeVHDLName())); #line default #line hidden #line 59 "" this.Write(";\n"); #line default #line hidden #line 60 "" } #line default #line hidden #line 61 "" } #line default #line hidden #line 62 "" } #line default #line hidden #line 63 "" this.Write("\n"); #line default #line hidden #line 64 "" foreach (var enumtype in RS.EnumTypes) { #line default #line hidden #line 65 "" this.Write(" -- converts "); #line default #line hidden #line 65 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.Name)); #line default #line hidden #line 65 "" this.Write(" into a string\n pure function str(b: "); #line default #line hidden #line 66 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 66 "" this.Write(") return string;\n"); #line default #line hidden #line 67 "" } #line default #line hidden #line 68 "" this.Write("\n"); #line default #line hidden #line 69 "" if (RS.Constants.Any()) { #line default #line hidden #line 70 "" this.Write(" -- Constant definitions\n"); #line default #line hidden #line 71 "" } #line default #line hidden #line 72 "" foreach (var c in RS.Constants) { #line default #line hidden #line 73 "" this.Write(" "); #line default #line hidden #line 73 "" this.Write(this.ToStringHelper.ToStringWithCulture(c)); #line default #line hidden #line 73 "" this.Write(";\n"); #line default #line hidden #line 74 "" } #line default #line hidden #line 75 "" this.Write("\n\n-- User defined types here\n-- #### USER-DATA-TRAILTYPES-START\n-- #### USER-DATA" + "-TRAILTYPES-END\n\n\nend CUSTOM_TYPES;\n\n"); #line default #line hidden #line 84 "" if (RS.EnumTypes.Any()) { #line default #line hidden #line 85 "" this.Write("package body CUSTOM_TYPES is\n"); #line default #line hidden #line 86 "" foreach (var enumtype in RS.EnumTypes) { #line default #line hidden #line 87 "" this.Write(" -- converts "); #line default #line hidden #line 87 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype)); #line default #line hidden #line 87 "" this.Write(" into a string\n pure function str(b: "); #line default #line hidden #line 88 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 88 "" this.Write(") return string is\n begin\n return "); #line default #line hidden #line 90 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 90 "" this.Write("\'image(b);\n end str;\n\n"); #line default #line hidden #line 93 "" if (enumtype.IsIrregularEnum) { #line default #line hidden #line 94 "" this.Write(" -- Converts an integer to "); #line default #line hidden #line 94 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 94 "" this.Write("\n pure function fromValue_"); #line default #line hidden #line 95 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 95 "" this.Write("(v: INTEGER) return "); #line default #line hidden #line 95 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 95 "" this.Write(" is\n begin\n case v is\n"); #line default #line hidden #line 98 "" foreach (var f in RS.GetEnumValues(enumtype)) { #line default #line hidden #line 99 "" this.Write(" when "); #line default #line hidden #line 99 "" this.Write(this.ToStringHelper.ToStringWithCulture(f.Value)); #line default #line hidden #line 99 "" this.Write(" =>\n return "); #line default #line hidden #line 100 "" this.Write(this.ToStringHelper.ToStringWithCulture(f.Key)); #line default #line hidden #line 100 "" this.Write(";\n"); #line default #line hidden #line 101 "" } #line default #line hidden #line 102 "" this.Write(" when others =>\n return "); #line default #line hidden #line 103 "" this.Write(this.ToStringHelper.ToStringWithCulture(RS.GetEnumValues(enumtype).First().Key)); #line default #line hidden #line 103 "" this.Write(";\n end case;\n end fromValue_"); #line default #line hidden #line 105 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 105 "" this.Write(";\n\n -- Converts a "); #line default #line hidden #line 107 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 107 "" this.Write(" to an integer\n pure function toValue_"); #line default #line hidden #line 108 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 108 "" this.Write("(v: "); #line default #line hidden #line 108 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 108 "" this.Write(") return INTEGER is\n begin\n case v is\n"); #line default #line hidden #line 111 "" foreach (var f in RS.GetEnumValues(enumtype)) { #line default #line hidden #line 112 "" this.Write(" when "); #line default #line hidden #line 112 "" this.Write(this.ToStringHelper.ToStringWithCulture(f.Key)); #line default #line hidden #line 112 "" this.Write(" =>\n return "); #line default #line hidden #line 113 "" this.Write(this.ToStringHelper.ToStringWithCulture(f.Value)); #line default #line hidden #line 113 "" this.Write(";\n"); #line default #line hidden #line 114 "" } #line default #line hidden #line 115 "" this.Write(" when others =>\n return "); #line default #line hidden #line 116 "" this.Write(this.ToStringHelper.ToStringWithCulture(RS.GetEnumValues(enumtype).First().Value)); #line default #line hidden #line 116 "" this.Write(";\n end case;\n end toValue_"); #line default #line hidden #line 118 "" this.Write(this.ToStringHelper.ToStringWithCulture(enumtype.ToSafeVHDLName())); #line default #line hidden #line 118 "" this.Write(";\n\n"); #line default #line hidden #line 120 "" } #line default #line hidden #line 121 "" } #line default #line hidden #line 122 "" this.Write("\n\n-- User defined bodies here\n-- #### USER-DATA-BODY-START\n-- #### USER-DATA-BODY" + "-END\n\nend CUSTOM_TYPES;\n"); #line default #line hidden #line 129 "" } #line default #line hidden return(this.GenerationEnvironment.ToString()); }