// Do not edit this file; automatically generated by build.py.
'use strict';


Blockly.VHDL=new Blockly.Generator("VHDL");Blockly.VHDL.addReservedWords("and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,not,or,pass,print,raise,return,try,while,with,yield,True,False,None,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,abs,divmod,input,open,staticmethod,all,enumerate,int,ord,str,any,eval,isinstance,pow,sum,basestring,execfile,issubclass,print,super,bin,file,iter,property,tuple,bool,filter,len,range,type,bytearray,float,list,raw_input,unichr,callable,format,locals,reduce,unicode,chr,frozenset,long,reload,vars,classmethod,getattr,map,repr,xrange,cmp,globals,max,reversed,zip,compile,hasattr,memoryview,round,__import__,complex,hash,min,set,apply,delattr,help,next,setattr,buffer,dict,hex,object,slice,coerce,dir,id,oct,sorted,intern");
Blockly.VHDL.ORDER_ATOMIC=0;Blockly.VHDL.ORDER_COLLECTION=1;Blockly.VHDL.ORDER_STRING_CONVERSION=1;Blockly.VHDL.ORDER_MEMBER=2;Blockly.VHDL.ORDER_FUNCTION_CALL=2;Blockly.VHDL.ORDER_EXPONENTIATION=3;Blockly.VHDL.ORDER_UNARY_SIGN=4;Blockly.VHDL.ORDER_BITWISE_NOT=4;Blockly.VHDL.ORDER_MULTIPLICATIVE=5;Blockly.VHDL.ORDER_ADDITIVE=6;Blockly.VHDL.ORDER_BITWISE_SHIFT=7;Blockly.VHDL.ORDER_BITWISE_AND=8;Blockly.VHDL.ORDER_BITWISE_XOR=9;Blockly.VHDL.ORDER_BITWISE_OR=10;Blockly.VHDL.ORDER_RELATIONAL=11;
Blockly.VHDL.ORDER_LOGICAL_NOT=12;Blockly.VHDL.ORDER_LOGICAL_AND=13;Blockly.VHDL.ORDER_LOGICAL_OR=14;Blockly.VHDL.ORDER_CONDITIONAL=15;Blockly.VHDL.ORDER_LAMBDA=16;Blockly.VHDL.ORDER_NONE=99;
Blockly.VHDL.init=function(a){Blockly.VHDL.PASS=this.INDENT+"pass\n";Blockly.VHDL.definitions_=Object.create(null);Blockly.VHDL.functionNames_=Object.create(null);Blockly.VHDL.variableDB_?Blockly.VHDL.variableDB_.reset():Blockly.VHDL.variableDB_=new Blockly.Names(Blockly.VHDL.RESERVED_WORDS_);var b=[];a=Blockly.Variables.allVariables(a);for(var c=0;c<a.length;c++)b[c]=Blockly.VHDL.variableDB_.getName(a[c],Blockly.Variables.NAME_TYPE)+" = None";Blockly.VHDL.definitions_.variables=b.join("\n")};
Blockly.VHDL.finish=function(a){var b=[],c=[],d;for(d in Blockly.VHDL.definitions_){var e=Blockly.VHDL.definitions_[d];e.match(/^(from\s+\S+\s+)?import\s+\S+/)?b.push(e):c.push(e)}delete Blockly.VHDL.definitions_;delete Blockly.VHDL.functionNames_;Blockly.VHDL.variableDB_.reset();return(b.join("\n")+"\n\n"+c.join("\n\n")).replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n\n")+a};Blockly.VHDL.scrubNakedValue=function(a){return a+"\n"};
Blockly.VHDL.quote_=function(a){a=a.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/%/g,"\\%").replace(/'/g,"\\'");return"'"+a+"'"};
Blockly.VHDL.scrub_=function(a,b){var c="";if(!a.outputConnection||!a.outputConnection.targetConnection){var d=a.getCommentText();d&&(c+=Blockly.VHDL.prefixLines(d,"# ")+"\n");for(var e=0;e<a.inputList.length;e++)a.inputList[e].type==Blockly.INPUT_VALUE&&(d=a.inputList[e].connection.targetBlock())&&(d=Blockly.VHDL.allNestedComments(d))&&(c+=Blockly.VHDL.prefixLines(d,"# "))}e=a.nextConnection&&a.nextConnection.targetBlock();e=Blockly.VHDL.blockToCode(e);return c+b+e};Blockly.VHDL.name=function(a){return[a.getFieldValue("Name"),Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.generate_if=function(a){var b=a.getFieldValue("label"),c=Blockly.VHDL.valueToCode(a,"label",Blockly.VHDL.ORDER_NONE),d=Blockly.VHDL.statementToCode(a,"NAME");a=a.getFieldValue("endgenerate");return b+": if "+c+" generate\n"+d+"end "+a+";\n"};
Blockly.VHDL.architecture=function(a){var b=a.getFieldValue("architecture_name"),c=a.getFieldValue("entity_name"),d=Blockly.VHDL.statementToCode(a,"declarations"),e=Blockly.VHDL.statementToCode(a,"concurent_statements");a=a.getFieldValue("end_arch_name");b="architecture "+b+" of "+c+" is\n"+d+"begin\n";b+=e;return b=b+"end "+a+";\n"};
Blockly.VHDL.port_map=function(a){var b=a.getFieldValue("label"),c=a.getFieldValue("component");a=Blockly.VHDL.statementToCode(a,"NAME");a=a.substring(0,a.length-0);return b+": "+c+a+";\n"};Blockly.VHDL.map_list=function(a){var b=a.getFieldValue("map");a=Blockly.VHDL.valueToCode(a,"port",Blockly.VHDL.ORDER_ATOMIC);return"\n"+b+a};
Blockly.VHDL.map_association=function(a){var b=Blockly.VHDL.valueToCode(a,"signal_name",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"signal_type",Blockly.VHDL.ORDER_NONE);return b+" => "+a+",\n"};Blockly.VHDL.constant2=function(a){var b=Blockly.VHDL.valueToCode(a,"constant_name",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"constant_type",Blockly.VHDL.ORDER_NONE);return"constant "+b+" : "+a+"\n"};Blockly.VHDL.process=function(a){var b=a.getFieldValue("label_begin"),c=Blockly.VHDL.statementToCode(a,"declarations"),d=Blockly.VHDL.statementToCode(a,"begin"),e=a.getFieldValue("label_end");a=a.getFieldValue("sens")?"("+a.getFieldValue("sens")+")\n":"\n";return b+": process"+a+c+"begin\n"+d+"end process "+e+";\n"};
Blockly.VHDL.procedure_call=function(a){var b=Blockly.VHDL.valueToCode(a,"procedurename",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"values",Blockly.VHDL.ORDER_NONE);return b+" ("+a+");\n"};
Blockly.VHDL.generate=function(a){var b=a.getFieldValue("generate_label"),c=Blockly.VHDL.valueToCode(a,"start",Blockly.VHDL.ORDER_NONE),d=Blockly.VHDL.valueToCode(a,"end",Blockly.VHDL.ORDER_NONE),e=Blockly.VHDL.statementToCode(a,"generate");a=a.getFieldValue("end_label");return b+": for "+c+" in "+d+" generate\n"+e+"end generate "+a+";\n"};Blockly.VHDL.configuration=function(a){var b=a.getFieldValue("name"),c=a.getFieldValue("type"),d=Blockly.VHDL.statementToCode(a,"config_state");a=a.getFieldValue("end_name");return"configuration "+b+" of "+c+" is\n"+d+"end "+a+"\n"};Blockly.VHDL.forconfig=function(a){var b=a.getFieldValue("name");a=Blockly.VHDL.statementToCode(a,"for_config");return"for "+b+"\n"+a+"end for\n"};
Blockly.VHDL.for_arch=function(a){var b=a.getFieldValue("label"),c=a.getFieldValue("comp_name");a=Blockly.VHDL.statementToCode(a,"comp_conf");return"for "+b+" : "+c+"\n"+a+"end for\n"};
Blockly.VHDL.controls_case=function(a){var b=a.getFieldValue("case_name");var c=a.getFieldValue("Q"),d=Blockly.VHDL.statementToCode(a,"ADD0");var e="case "+b+" is\n"+("when "+c+" =>\n")+d;for(b=1;b<=a.elseifCount_;b++)c=a.getFieldValue("Q"+b),d=Blockly.VHDL.statementToCode(a,"DO"+b),e+="when "+c+" =>\n",e+=d;a.elseCount_&&(d=Blockly.VHDL.statementToCode(a,"ELSE"),e+="when others =>\n",e+=d);return e+="end case;\n"};Blockly.VHDL.controls_if=function(a){var b=0,c=Blockly.VHDL.valueToCode(a,"IF"+b,Blockly.VHDL.ORDER_NONE)||"false",d=Blockly.VHDL.statementToCode(a,"DO"+b),e="if "+c+" then\n"+d;for(b=1;b<=a.elseifCount_;b++)c=Blockly.VHDL.valueToCode(a,"IF"+b,Blockly.VHDL.ORDER_NONE)||"false",d=Blockly.VHDL.statementToCode(a,"DO"+b),e+="elsif "+c+" then\n"+d;a.elseCount_&&(d=Blockly.VHDL.statementToCode(a,"ELSEDO"),e+="else\n"+d);return e+"end if;\n"};
Blockly.VHDL.logic_compare=function(a){var b={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[a.getFieldValue("OP")],c="=="==b||"!="==b?Blockly.VHDL.ORDER_EQUALITY:Blockly.VHDL.ORDER_RELATIONAL,d=Blockly.VHDL.valueToCode(a,"A",c)||"0";a=Blockly.VHDL.valueToCode(a,"B",c)||"0";return[d+" "+b+" "+a,c]};
Blockly.VHDL.logic_operation=function(a){var b="AND"==a.getFieldValue("OP")?"&&":"||",c="&&"==b?Blockly.VHDL.ORDER_LOGICAL_AND:Blockly.VHDL.ORDER_LOGICAL_OR,d=Blockly.VHDL.valueToCode(a,"A",c);a=Blockly.VHDL.valueToCode(a,"B",c);if(d||a){var e="&&"==b?"true":"false";d||(d=e);a||(a=e)}else a=d="false";return[d+" "+b+" "+a,c]};Blockly.VHDL.logic_negate=function(a){var b=Blockly.VHDL.ORDER_LOGICAL_NOT;return["!"+(Blockly.VHDL.valueToCode(a,"BOOL",b)||"true"),b]};
Blockly.VHDL.logic_boolean=function(a){return["TRUE"==a.getFieldValue("BOOL")?"true":"false",Blockly.VHDL.ORDER_ATOMIC]};Blockly.VHDL.logic_null=function(a){return["null",Blockly.VHDL.ORDER_ATOMIC]};Blockly.VHDL.logic_ternary=function(a){var b=Blockly.VHDL.valueToCode(a,"IF",Blockly.VHDL.ORDER_CONDITIONAL)||"false",c=Blockly.VHDL.valueToCode(a,"THEN",Blockly.VHDL.ORDER_CONDITIONAL)||"null";a=Blockly.VHDL.valueToCode(a,"ELSE",Blockly.VHDL.ORDER_CONDITIONAL)||"null";return[b+" ? "+c+" : "+a,Blockly.VHDL.ORDER_CONDITIONAL]};
Blockly.VHDL.operator=function(a){var b=Blockly.VHDL.valueToCode(a,"in_a",Blockly.VHDL.ORDER_NONE),c=a.getFieldValue("operator");a=Blockly.VHDL.valueToCode(a,"in_b",Blockly.VHDL.ORDER_NONE);return["("+b+" "+c+" "+a+")",Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.procedure=function(a){var b=a.getFieldValue("procedure_name"),c=Blockly.VHDL.statementToCode(a,"parameter_list"),d=Blockly.VHDL.statementToCode(a,"declaration"),e=Blockly.VHDL.statementToCode(a,"sequential");a=a.getFieldValue("end_name");b="procedure "+b+"(\n"+c+") is\nbegin"+d+"\n";return b=b+e+"end "+a+";\n"};
Blockly.VHDL.function_pack=function(a){var b=a.getFieldValue("name"),c=Blockly.VHDL.statementToCode(a,"declaration");a=Blockly.VHDL.valueToCode(a,"return",Blockly.VHDL.ORDER_NONE);c=c.substring(0,c.length-1);return"function "+b+" (\n"+c+")\n  return "+a+";\n"};Blockly.VHDL.component_instantiation=function(a){var b=a.getFieldValue("component_name"),c=Blockly.VHDL.statementToCode(a,"generic_port");a=a.getFieldValue("end_name");return"component "+b+"\n"+c+"end component "+a+";\n"};
Blockly.VHDL.alias=function(a){var b=Blockly.VHDL.valueToCode(a,"alias",Blockly.VHDL.ORDER_NONE);Blockly.VHDL.valueToCode(a,"name",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"type",Blockly.VHDL.ORDER_NONE);return"alias "+b+": "+b+" is "+a+";\n"};Blockly.VHDL.signal=function(a){var b=a.getFieldValue("signal"),c=Blockly.VHDL.valueToCode(a,"signal_name",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"signal_type",Blockly.VHDL.ORDER_NONE);return b+" "+c+": "+a+";\n"};
Blockly.VHDL.signal_init=function(a){var b=a.getFieldValue("signal"),c=Blockly.VHDL.valueToCode(a,"signal_name",Blockly.VHDL.ORDER_NONE),d=Blockly.VHDL.valueToCode(a,"signal_type",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"signal_init",Blockly.VHDL.ORDER_NONE);return b+" "+c+": "+d+" := "+a+";\n"};
Blockly.VHDL.variable=function(a){var b=Blockly.VHDL.valueToCode(a,"variable",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"list",Blockly.VHDL.ORDER_NONE);return"variable "+b+": "+a+";\n"};Blockly.VHDL.association=function(a){var b=Blockly.VHDL.valueToCode(a,"signal_name",Blockly.VHDL.ORDER_NONE),c=a.getFieldValue("association");a=Blockly.VHDL.valueToCode(a,"variable",Blockly.VHDL.ORDER_NONE);return b+" "+c+" "+a+";\n"};
Blockly.VHDL.name_type=function(a){var b=Blockly.VHDL.valueToCode(a,"name",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"type",Blockly.VHDL.ORDER_NONE);return b+" : "+a+";\n"};Blockly.VHDL.association_delay=function(a){var b=Blockly.VHDL.valueToCode(a,"signal_name",Blockly.VHDL.ORDER_NONE),c=Blockly.VHDL.valueToCode(a,"variable",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"delay",Blockly.VHDL.ORDER_NONE);return b+" <= "+c+" after "+a+";\n"};
Blockly.VHDL.attribute=function(a){var b=Blockly.VHDL.valueToCode(a,"atribute_name",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"type_name",Blockly.VHDL.ORDER_NONE);return"attribute "+b+": "+a+";\n"};
Blockly.VHDL.attribute_of=function(a){var b=Blockly.VHDL.valueToCode(a,"atribute_name",Blockly.VHDL.ORDER_NONE),c=Blockly.VHDL.valueToCode(a,"variable",Blockly.VHDL.ORDER_NONE),d=Blockly.VHDL.valueToCode(a,"type_name",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"value",Blockly.VHDL.ORDER_NONE);return"attribute "+b+" of "+c+": "+d+" is "+a+";\n"};
Blockly.VHDL.type=function(a){var b=Blockly.VHDL.valueToCode(a,"type",Blockly.VHDL.ORDER_NONE),c=a.getFieldValue("type_list");a=Blockly.VHDL.valueToCode(a,"list",Blockly.VHDL.ORDER_NONE);return"type "+b+" "+c+" ("+a+");\n"};Blockly.VHDL.subtype=function(a){var b=Blockly.VHDL.valueToCode(a,"subtype",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"base_type",Blockly.VHDL.ORDER_NONE);return"subtype "+b+" is "+a+";\n"};
Blockly.VHDL.subtype_range=function(a){var b=Blockly.VHDL.valueToCode(a,"subtype",Blockly.VHDL.ORDER_NONE),c=Blockly.VHDL.valueToCode(a,"base_type",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"type",Blockly.VHDL.ORDER_NONE);return"subtype "+b+" is "+c+" range "+a+";\n"};
Blockly.VHDL.type_array=function(a){var b=Blockly.VHDL.valueToCode(a,"type1",Blockly.VHDL.ORDER_NONE),c=Blockly.VHDL.valueToCode(a,"type2",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"range",Blockly.VHDL.ORDER_NONE);return"type "+b+" is array ("+c+") of "+a+";\n"};
Blockly.VHDL.array_type_type=function(a){var b=Blockly.VHDL.valueToCode(a,"type",Blockly.VHDL.ORDER_NONE),c=Blockly.VHDL.valueToCode(a,"index_type",Blockly.VHDL.ORDER_NONE),d=Blockly.VHDL.valueToCode(a,"range",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"data_type",Blockly.VHDL.ORDER_NONE);return"type "+b+" is array ("+c+" "+d+") of "+a+";\n"};
Blockly.VHDL.alias=function(a){var b=Blockly.VHDL.valueToCode(a,"alias_name",Blockly.VHDL.ORDER_NONE),c=Blockly.VHDL.valueToCode(a,"type",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"name",Blockly.VHDL.ORDER_NONE);return"alias "+b+" : "+c+" is "+a+";\n"};
Blockly.VHDL.disconnect=function(a){var b=Blockly.VHDL.valueToCode(a,"signal",Blockly.VHDL.ORDER_NONE),c=Blockly.VHDL.valueToCode(a,"type",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"time",Blockly.VHDL.ORDER_NONE);return"disconnect "+b+": "+c+" after "+a+";\n"};Blockly.VHDL.record=function(a){var b=a.getFieldValue("record_name"),c=Blockly.VHDL.statementToCode(a,"record");a=a.getFieldValue("record_name_end");return"type "+b+" is record\n"+c+"end record "+a+";\n"};
Blockly.VHDL.proc_pin_name=function(a){var b=a.getFieldValue("type"),c=Blockly.VHDL.valueToCode(a,"pin_name",Blockly.VHDL.ORDER_NONE),d=a.getFieldValue("in_out");a=Blockly.VHDL.valueToCode(a,"pin_type",Blockly.VHDL.ORDER_NONE);return b+" "+c+" "+d+" "+a+";\n"};Blockly.VHDL.entity=function(a){var b=a.getFieldValue("entity"),c=Blockly.VHDL.statementToCode(a,"generic_port");a=a.getFieldValue("end_entity");return b="entity "+b+" is\n"+c+"end "+a+";\n"};Blockly.VHDL.generic=function(a){var b=a.getFieldValue("port_list");a=Blockly.VHDL.statementToCode(a,"generic_inputs");return b+" (\n"+a+");\n"};
Blockly.VHDL.port_pin_name=function(a){var b=Blockly.VHDL.valueToCode(a,"pin_name",Blockly.VHDL.ORDER_NONE),c=a.getFieldValue("in_out");a=Blockly.VHDL.valueToCode(a,"pin_type",Blockly.VHDL.ORDER_NONE);return b+" : "+c+" "+a+";\n"};Blockly.VHDL.operator=function(a){var b=Blockly.VHDL.valueToCode(a,"in_a",Blockly.VHDL.ORDER_NONE),c=a.getFieldValue("operator");a=Blockly.VHDL.valueToCode(a,"in_b",Blockly.VHDL.ORDER_NONE);return["("+b+" "+c+" "+a+")",Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.qualified=function(a){var b=Blockly.VHDL.valueToCode(a,"name",Blockly.VHDL.ORDER_NONE);a=a.getFieldValue("range");return[b+"'"+a,Blockly.VHDL.ORDER_NONE]};
Blockly.VHDL.not=function(a){return["not "+Blockly.VHDL.valueToCode(a,"not_value",Blockly.VHDL.ORDER_NONE),Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.others=function(a){return["others => "+Blockly.VHDL.valueToCode(a,"others",Blockly.VHDL.ORDER_NONE),Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.condition=function(a){var b=Blockly.VHDL.valueToCode(a,"A",Blockly.VHDL.ORDER_NONE),c=a.getFieldValue("condition");a=Blockly.VHDL.valueToCode(a,"B",Blockly.VHDL.ORDER_NONE);return[b+" "+c+" "+a,Blockly.VHDL.ORDER_NONE]};
Blockly.VHDL.type_conversion=function(a){var b=a.getFieldValue("conversion"),c=Blockly.VHDL.valueToCode(a,"variable",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"to_integer",Blockly.VHDL.ORDER_NONE);return[c+"("+b+"("+a+"))",Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.conversion=function(a){var b=a.getFieldValue("std_logic");a=Blockly.VHDL.valueToCode(a,"NAME",Blockly.VHDL.ORDER_ATOMIC);return[b+a,Blockly.VHDL.ORDER_NONE]};
Blockly.VHDL.std_match=function(a){var b=Blockly.VHDL.valueToCode(a,"left",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"right",Blockly.VHDL.ORDER_NONE);return"std_match("+b+", "+a+");\n"};Blockly.VHDL.range_type=function(a){return["range "+Blockly.VHDL.valueToCode(a,"type",Blockly.VHDL.ORDER_NONE),Blockly.VHDL.ORDER_NONE]};
Blockly.VHDL.range1=function(a){var b=Blockly.VHDL.valueToCode(a,"msb",Blockly.VHDL.ORDER_NONE),c=a.getFieldValue("downto");a=Blockly.VHDL.valueToCode(a,"lsb",Blockly.VHDL.ORDER_NONE);return[b+" "+c+" "+a,Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.range2=function(a){var b=Blockly.VHDL.valueToCode(a,"name",Blockly.VHDL.ORDER_NONE),c=a.getFieldValue("range");b=b+"'"+c;a.getFieldValue("N");return[b,Blockly.VHDL.ORDER_NONE]};
Blockly.VHDL.range2_index=function(a){var b=Blockly.VHDL.valueToCode(a,"name",Blockly.VHDL.ORDER_NONE),c=a.getFieldValue("range");a=Blockly.VHDL.valueToCode(a,"N",Blockly.VHDL.ORDER_NONE);b=b+"'"+c;a&&(b=b+"("+a+")");return[b,Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.range_var=function(a){var b=Blockly.VHDL.valueToCode(a,"variable",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"range",Blockly.VHDL.ORDER_NONE);return[b+" range "+a,Blockly.VHDL.ORDER_NONE]};
Blockly.VHDL.index=function(a){var b=Blockly.VHDL.valueToCode(a,"index_name",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"index_list",Blockly.VHDL.ORDER_NONE);return[b+"("+a+")",Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.all=function(a){return["<>",Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.time_association=function(a){var b=Blockly.VHDL.valueToCode(a,"time",Blockly.VHDL.ORDER_NONE);a=a.getFieldValue("unit");return[b+" "+a,Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.file=function(a){var b=Blockly.VHDL.valueToCode(a,"filevar",Blockly.VHDL.ORDER_NONE),c=Blockly.VHDL.valueToCode(a,"filetype",Blockly.VHDL.ORDER_NONE),d=a.getFieldValue("filemode");a=Blockly.VHDL.valueToCode(a,"filename",Blockly.VHDL.ORDER_NONE);return"file "+b+": "+c+" open "+d+" is "+a+";\n"};Blockly.VHDL.write=function(a){var b=Blockly.VHDL.valueToCode(a,"write1",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"write2",Blockly.VHDL.ORDER_NONE);return"write ("+b+", "+a+");\n"};
Blockly.VHDL.write2=function(a){var b=Blockly.VHDL.valueToCode(a,"write1",Blockly.VHDL.ORDER_NONE),c=Blockly.VHDL.valueToCode(a,"write2",Blockly.VHDL.ORDER_NONE),d=Blockly.VHDL.valueToCode(a,"write3",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"write4",Blockly.VHDL.ORDER_NONE);return"write ("+b+", "+c+", "+d+", "+a+");\n"};
Blockly.VHDL.writeline=function(a){var b=Blockly.VHDL.valueToCode(a,"write1",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"write2",Blockly.VHDL.ORDER_NONE);return"writeline ("+b+", "+a+");\n"};Blockly.VHDL.read=function(a){var b=Blockly.VHDL.valueToCode(a,"read1",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"read2",Blockly.VHDL.ORDER_NONE);return"read ("+b+", "+a+");\n"};
Blockly.VHDL.readline=function(a){var b=Blockly.VHDL.valueToCode(a,"read1",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"read2",Blockly.VHDL.ORDER_NONE);return"readline ("+b+", "+a+");\n"};Blockly.VHDL["function"]=function(a){var b=a.getFieldValue("function_name"),c=Blockly.VHDL.statementToCode(a,"parameters");c=c.substring(0,c.length-1);var d=Blockly.VHDL.valueToCode(a,"return",Blockly.VHDL.ORDER_NONE),e=Blockly.VHDL.statementToCode(a,"declaration"),f=Blockly.VHDL.statementToCode(a,"sequential"),g=a.getFieldValue("end_name");a=Blockly.VHDL.valueToCode(a,"return2",Blockly.VHDL.ORDER_NONE);return"function "+b+" (\n"+c+")\n  return "+d+" is\n"+e+"begin\n"+f+"return "+a+";\nend "+g+";\n"};
Blockly.VHDL.function_call=function(a){var b=Blockly.VHDL.valueToCode(a,"function_name",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"parameter_list",Blockly.VHDL.ORDER_NONE);return[b+"("+a+");\n",Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.library=function(a){var b=Blockly.VHDL.statementToCode(a,"declarations");return"library "+a.getFieldValue("library")+";\n"+b};Blockly.VHDL.ieee=function(a){return"use IEEE."+a.getFieldValue("IEEE")+".all;\n"};Blockly.VHDL.std_textio=function(a){return"use STD.textio;\n"};Blockly.VHDL.use=function(a){var b=Blockly.VHDL.valueToCode(a,"use",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"library",Blockly.VHDL.ORDER_NONE);return"use "+b+"."+a+";\n"};
Blockly.VHDL.std_logic=function(a){return[a.getFieldValue("std_bit"),Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.std_logic_init=function(a){var b=a.getFieldValue("std_bit");a=Blockly.VHDL.valueToCode(a,"bit_value",Blockly.VHDL.ORDER_NONE);return[b+" := "+a,Blockly.VHDL.ORDER_NONE]};
Blockly.VHDL.vector=function(a){var b=a.getFieldValue("vector"),c=Blockly.VHDL.valueToCode(a,"msb",Blockly.VHDL.ORDER_NONE),d=a.getFieldValue("range");a=Blockly.VHDL.valueToCode(a,"lsb",Blockly.VHDL.ORDER_NONE);return[b+"("+c+" "+d+" "+a+")",Blockly.VHDL.ORDER_NONE]};
Blockly.VHDL.vector_init=function(a){var b=a.getFieldValue("vector"),c=Blockly.VHDL.valueToCode(a,"msb",Blockly.VHDL.ORDER_NONE),d=a.getFieldValue("range"),e=Blockly.VHDL.valueToCode(a,"lsb",Blockly.VHDL.ORDER_NONE);a=Blockly.VHDL.valueToCode(a,"init",Blockly.VHDL.ORDER_NONE);return[b+"("+c+" "+d+" "+e+") :="+a,Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.integer=function(a){return[a.getFieldValue("integer"),Blockly.VHDL.ORDER_NONE]};
Blockly.VHDL.integer_init=function(a){var b=a.getFieldValue("integer");a=Blockly.VHDL.valueToCode(a,"integer_value",Blockly.VHDL.ORDER_NONE);return[b+" := "+a,Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.lists_create_empty=function(a){return["[]",Blockly.VHDL.ORDER_ATOMIC]};Blockly.VHDL.lists_positional1=function(a){var b="";for(var c=0;c<a.itemCount_;c++)b=0==c?b+Blockly.VHDL.valueToCode(a,"ADD"+c,Blockly.VHDL.ORDER_NONE)||"null":b+", "+Blockly.VHDL.valueToCode(a,"ADD"+c,Blockly.VHDL.ORDER_NONE)||"null";return[b,Blockly.VHDL.ORDER_NONE]};
Blockly.VHDL.lists_named=function(a){var b="";for(var c=0;c<a.itemCount_;c++)0==c?(b+="\n",b=b+a.getFieldValue("b0")+" => "):b=b+",\n"+a.getFieldValue("b"+c)+" => ",b=b+Blockly.VHDL.valueToCode(a,"ADD"+c,Blockly.VHDL.ORDER_NONE)||"null";return[b,Blockly.VHDL.ORDER_NONE]};
Blockly.VHDL.lists_repeat=function(a){var b=Blockly.VHDL.provideFunction_("lists_repeat",["function "+Blockly.VHDL.FUNCTION_NAME_PLACEHOLDER_+"(value, n) {","  var array = [];","  for (var i = 0; i < n; i++) {","    array[i] = value;","  }","  return array;","}"]),c=Blockly.VHDL.valueToCode(a,"ITEM",Blockly.VHDL.ORDER_COMMA)||"null";a=Blockly.VHDL.valueToCode(a,"NUM",Blockly.VHDL.ORDER_COMMA)||"0";return[b+"("+c+", "+a+")",Blockly.VHDL.ORDER_FUNCTION_CALL]};
Blockly.VHDL.lists_length=function(a){return[(Blockly.VHDL.valueToCode(a,"VALUE",Blockly.VHDL.ORDER_FUNCTION_CALL)||"[]")+".length",Blockly.VHDL.ORDER_MEMBER]};Blockly.VHDL.lists_isEmpty=function(a){return["!"+(Blockly.VHDL.valueToCode(a,"VALUE",Blockly.VHDL.ORDER_MEMBER)||"[]")+".length",Blockly.VHDL.ORDER_LOGICAL_NOT]};
Blockly.VHDL.lists_indexOf=function(a){var b="FIRST"==a.getFieldValue("END")?"indexOf":"lastIndexOf",c=Blockly.VHDL.valueToCode(a,"FIND",Blockly.VHDL.ORDER_NONE)||"''";return[(Blockly.VHDL.valueToCode(a,"VALUE",Blockly.VHDL.ORDER_MEMBER)||"[]")+"."+b+"("+c+") + 1",Blockly.VHDL.ORDER_MEMBER]};
Blockly.VHDL.lists_getIndex=function(a){var b=a.getFieldValue("MODE")||"GET",c=a.getFieldValue("WHERE")||"FROM_START",d=Blockly.VHDL.valueToCode(a,"AT",Blockly.VHDL.ORDER_UNARY_NEGATION)||"1";a=Blockly.VHDL.valueToCode(a,"VALUE",Blockly.VHDL.ORDER_MEMBER)||"[]";if("FIRST"==c){if("GET"==b)return[a+"[0]",Blockly.VHDL.ORDER_MEMBER];if("GET_REMOVE"==b)return[a+".shift()",Blockly.VHDL.ORDER_MEMBER];if("REMOVE"==b)return a+".shift();\n"}else if("LAST"==c){if("GET"==b)return[a+".slice(-1)[0]",Blockly.VHDL.ORDER_MEMBER];
if("GET_REMOVE"==b)return[a+".pop()",Blockly.VHDL.ORDER_MEMBER];if("REMOVE"==b)return a+".pop();\n"}else if("FROM_START"==c){d=Blockly.isNumber(d)?parseFloat(d)-1:d+" - 1";if("GET"==b)return[a+"["+d+"]",Blockly.VHDL.ORDER_MEMBER];if("GET_REMOVE"==b)return[a+".splice("+d+", 1)[0]",Blockly.VHDL.ORDER_FUNCTION_CALL];if("REMOVE"==b)return a+".splice("+d+", 1);\n"}else if("FROM_END"==c){if("GET"==b)return[a+".slice(-"+d+")[0]",Blockly.VHDL.ORDER_FUNCTION_CALL];if("GET_REMOVE"==b||"REMOVE"==b){c=Blockly.VHDL.provideFunction_("lists_remove_from_end",
["function "+Blockly.VHDL.FUNCTION_NAME_PLACEHOLDER_+"(list, x) {","  x = list.length - x;","  return list.splice(x, 1)[0];","}"]);d=c+"("+a+", "+d+")";if("GET_REMOVE"==b)return[d,Blockly.VHDL.ORDER_FUNCTION_CALL];if("REMOVE"==b)return d+";\n"}}else if("RANDOM"==c){c=Blockly.VHDL.provideFunction_("lists_get_random_item",["function "+Blockly.VHDL.FUNCTION_NAME_PLACEHOLDER_+"(list, remove) {","  var x = Math.floor(Math.random() * list.length);","  if (remove) {","    return list.splice(x, 1)[0];","  } else {",
"    return list[x];","  }","}"]);d=c+"("+a+", "+("GET"!=b)+")";if("GET"==b||"GET_REMOVE"==b)return[d,Blockly.VHDL.ORDER_FUNCTION_CALL];if("REMOVE"==b)return d+";\n"}throw"Unhandled combination (lists_getIndex).";};
Blockly.VHDL.lists_setIndex=function(a){function b(){if(c.match(/^\w+$/))return"";var a=Blockly.VHDL.variableDB_.getDistinctName("tmp_list",Blockly.Variables.NAME_TYPE),b="var "+a+" = "+c+";\n";c=a;return b}var c=Blockly.VHDL.valueToCode(a,"LIST",Blockly.VHDL.ORDER_MEMBER)||"[]",d=a.getFieldValue("MODE")||"GET",e=a.getFieldValue("WHERE")||"FROM_START",f=Blockly.VHDL.valueToCode(a,"AT",Blockly.VHDL.ORDER_NONE)||"1";a=Blockly.VHDL.valueToCode(a,"TO",Blockly.VHDL.ORDER_ASSIGNMENT)||"null";if("FIRST"==
e){if("SET"==d)return c+"[0] = "+a+";\n";if("INSERT"==d)return c+".unshift("+a+");\n"}else if("LAST"==e){if("SET"==d)return e=b(),e+(c+"["+c+".length - 1] = "+a+";\n");if("INSERT"==d)return c+".push("+a+");\n"}else if("FROM_START"==e){f=Blockly.isNumber(f)?parseFloat(f)-1:f+" - 1";if("SET"==d)return c+"["+f+"] = "+a+";\n";if("INSERT"==d)return c+".splice("+f+", 0, "+a+");\n"}else if("FROM_END"==e){e=b();if("SET"==d)return e+(c+"["+c+".length - "+f+"] = "+a+";\n");if("INSERT"==d)return e+(c+".splice("+
c+".length - "+f+", 0, "+a+");\n")}else if("RANDOM"==e){e=b();f=Blockly.VHDL.variableDB_.getDistinctName("tmp_x",Blockly.Variables.NAME_TYPE);e+="var "+f+" = Math.floor(Math.random() * "+c+".length);\n";if("SET"==d)return e+(c+"["+f+"] = "+a+";\n");if("INSERT"==d)return e+(c+".splice("+f+", 0, "+a+");\n")}throw"Unhandled combination (lists_setIndex).";};
Blockly.VHDL.lists_getSublist=function(a){var b=Blockly.VHDL.valueToCode(a,"LIST",Blockly.VHDL.ORDER_MEMBER)||"[]",c=a.getFieldValue("WHERE1"),d=a.getFieldValue("WHERE2"),e=Blockly.VHDL.valueToCode(a,"AT1",Blockly.VHDL.ORDER_NONE)||"1";a=Blockly.VHDL.valueToCode(a,"AT2",Blockly.VHDL.ORDER_NONE)||"1";return["FIRST"==c&&"LAST"==d?b+".concat()":Blockly.VHDL.provideFunction_("lists_get_sublist",["function "+Blockly.VHDL.FUNCTION_NAME_PLACEHOLDER_+"(list, where1, at1, where2, at2) {","  function getAt(where, at) {",
"    if (where == 'FROM_START') {","      at--;","    } else if (where == 'FROM_END') {","      at = list.length - at;","    } else if (where == 'FIRST') {","      at = 0;","    } else if (where == 'LAST') {","      at = list.length - 1;","    } else {","      throw 'Unhandled option (lists_getSublist).';","    }","    return at;","  }","  at1 = getAt(where1, at1);","  at2 = getAt(where2, at2) + 1;","  return list.slice(at1, at2);","}"])+"("+b+", '"+c+"', "+e+", '"+d+"', "+a+")",Blockly.VHDL.ORDER_FUNCTION_CALL]};
Blockly.VHDL.lists_split=function(a){var b=Blockly.VHDL.valueToCode(a,"INPUT",Blockly.VHDL.ORDER_MEMBER),c=Blockly.VHDL.valueToCode(a,"DELIM",Blockly.VHDL.ORDER_NONE)||"''";a=a.getFieldValue("MODE");if("SPLIT"==a)b||(b="''"),a="split";else if("JOIN"==a)b||(b="[]"),a="join";else throw"Unknown mode: "+a;return[b+"."+a+"("+c+")",Blockly.VHDL.ORDER_FUNCTION_CALL]};Blockly.VHDL.counter=function(a){var b=a.getFieldValue("width"),c=a.getFieldValue("clockname"),d=a.getFieldValue("resetname"),e=a.getFieldValue("enablename");a=a.getFieldValue("outputname");var f="library ieee ;\nuse ieee.std_logic_1164.all;\nuse ieee.std_logic_unsigned.all;\n\nentity counter is;\n"+("   generic(n: natural :="+b+");\n")+("   port("+c+":   in std_logic;\n")+("        "+d+":   in std_logic;\n");f+="        "+e+":  in std_logic;\n";f=f+("        "+a+":  out std_logic_vector("+b+"-1 downto 0)\n")+
"   );\n";f+="end counter;\n";f+="\n";f+="architecture behv of counter is\n";f+="signal Pre_Q: std_logic_vector("+b+"n-1 downto 0);\n";f+="\n";f+="begin\n";f+="process("+c+", "+d+")\n";f+="begin\n";f+="if "+d+" = '1' then\n";f+="  Pre_Q <= Pre_Q - Pre_Q\n";f+="elsif ("+c+"='1' and "+c+"'event) then\n";f+="  Pre_Q <= Pre_Q + 1;\n";f+="end if;\n";f+="end process;\n";f+=a+"<= Pre_Q;\n";return f+="end behv;\n"};Blockly.VHDL["package"]=function(a){var b=a.getFieldValue("name"),c=a.getFieldValue("package"),d=VHDL.Blocks.statementToCode(a,"declarations");a=a.getFieldValue("end_name");return c+" "+b+" is \n"+d+"end "+a+";\n"};Blockly.VHDL.controls_select=function(a){var b=a.getFieldValue("label"),c=a.getFieldValue("A"),d=a.getFieldValue("Q"),e=a.getFieldValue("Y"),f=Blockly.VHDL.valueToCode(a,"ADD0",Blockly.VHDL.ORDER_NONE);a.getFieldValue("NAME");Blockly.VHDL.valueToCode(a,"NAME",Blockly.VHDL.ORDER_NONE);var g=c.length+b.length+3;b=(""!=b?b+": with "+c+" select\n":"with"+c+" select\n")+d+" <= "+e+" when "+f+",\n";for(d=1;d<a.itemCount_;d++)e=a.getFieldValue("B"+d),c=Blockly.VHDL.valueToCode(a,"ADD"+d,Blockly.VHDL.ORDER_NONE)||
"false",b+=" ".repeat(g)+e+" when "+c,b=d==a.itemCount_-1?b+";\n":b+",\n";return b+"\n"};Blockly.VHDL.for_loop=function(a){var b=a.getFieldValue("label_name"),c=Blockly.VHDL.valueToCode(a,"loop",Blockly.VHDL.ORDER_NONE),d=Blockly.VHDL.valueToCode(a,"range",Blockly.VHDL.ORDER_NONE),e=Blockly.VHDL.statementToCode(a,"NAME"),f=a.getFieldValue("end_loop"),g="";""!=a.getFieldValue("label_name")&&(g=b+": ");return g=g+"for "+c+" in "+d+" loop\n"+e+"end loop "+f+";\n"};
Blockly.VHDL.loop=function(a){var b=a.getFieldValue("label_name"),c=Blockly.VHDL.statementToCode(a,"NAME");a=a.getFieldValue("end_loop");return b+": loop\n"+c+"end loop "+a+";\n"};Blockly.VHDL.while_loop=function(a){var b=a.getFieldValue("label_name"),c=Blockly.VHDL.valueToCode(a,"range",Blockly.VHDL.ORDER_NONE),d=Blockly.VHDL.statementToCode(a,"NAME");a=a.getFieldValue("end_loop");return""!=b?b+": while "+c+" loop\n"+d+"end loop "+a+";\n":"while "+c+" loop\n"+d+"end loop "+a+";\n"};
Blockly.VHDL["return"]=function(a){Blockly.VHDL.valueToCode(a,"condition",Blockly.VHDL.ORDER_ATOMIC);return"return;\n"};Blockly.VHDL.exit=function(a){return"exit;\n"};Blockly.VHDL.exit_label=function(a){return"exit "+a.getFieldValue("exit_label")+";\n"};Blockly.VHDL.exit_when=function(a){var b=a.getFieldValue("exit_when");a=Blockly.VHDL.valueToCode(a,"exit_when",Blockly.VHDL.ORDER_NONE);return"exit "+b+" when "+a+";\n"};Blockly.VHDL.wait=function(a){return"wait;\n"};
Blockly.VHDL.wait_list=function(a){var b=a.getFieldValue("wait_list2");a=Blockly.VHDL.valueToCode(a,"wait_list3",Blockly.VHDL.ORDER_NONE);return"wait "+b+" "+a+";\n"};Blockly.VHDL["null"]=function(a){return"null;\n"};Blockly.VHDL.assert=function(a){Blockly.VHDL.valueToCode(a,"condition",Blockly.VHDL.ORDER_NONE);Blockly.VHDL.valueToCode(a,"test_String",Blockly.VHDL.ORDER_NONE);a.getFieldValue("severity");return""};Blockly.VHDL.testbench=function(a){a.getFieldValue("testbench");Blockly.VHDL.statementToCode(a,"testbench").split(";");return""};Blockly.VHDL.tb_clockgen=function(a){var b=a.getFieldValue("clockname");a=a.getFieldValue("periods");b="{name: '"+b+"', wave: 'p";for(var c=0;c<a;c++)b+=".";return b+"'},\n"};
Blockly.VHDL.tb_signal=function(a){var b=a.getFieldValue("signalname");a=a.getFieldValue("trace");return"var inp_"+b+" = '"+a+"';\n"};Blockly.VHDL.testbench_out=function(a){return"var out_"+a.getFieldValue("output")+" = ''"};Blockly.VHDL.for_loop=function(a){var b=a.getFieldValue("label_name"),c=Blockly.VHDL.valueToCode(a,"loop",Blockly.VHDL.ORDER_NONE),d=Blockly.VHDL.valueToCode(a,"range",Blockly.VHDL.ORDER_NONE),e=Blockly.VHDL.statementToCode(a,"NAME"),f=a.getFieldValue("end_loop"),g="";""!=a.getFieldValue("label_name")&&(g=b+": ");return g=g+"for "+c+" in "+d+" loop\n"+e+"end loop "+f+";\n"};
Blockly.VHDL.loop=function(a){var b=a.getFieldValue("label_name"),c=Blockly.VHDL.statementToCode(a,"NAME");a=a.getFieldValue("end_loop");return b+": loop\n"+c+"end loop "+a+";\n"};Blockly.VHDL.while_loop=function(a){var b=a.getFieldValue("label_name"),c=Blockly.VHDL.valueToCode(a,"range",Blockly.VHDL.ORDER_NONE),d=Blockly.VHDL.statementToCode(a,"NAME");a=a.getFieldValue("end_loop");return""!=b?b+": while "+c+" loop\n"+d+"end loop "+a+";\n":"while "+c+" loop\n"+d+"end loop "+a+";\n"};
Blockly.VHDL.exit=function(a){return"exit;\n"};Blockly.VHDL.exit_label=function(a){return"exit "+a.getFieldValue("exit_label")+";\n"};Blockly.VHDL.exit_when=function(a){var b=a.getFieldValue("exit_when");a=Blockly.VHDL.valueToCode(a,"exit_when",Blockly.VHDL.ORDER_NONE);return"exit "+b+" when "+a+";\n"};
Blockly.VHDL.generate=function(a){var b=a.getFieldValue("generate_label"),c=Blockly.VHDL.valueToCode(a,"start",Blockly.VHDL.ORDER_NONE),d=Blockly.VHDL.valueToCode(a,"end",Blockly.VHDL.ORDER_NONE),e=Blockly.VHDL.statementToCode(a,"generate");a=a.getFieldValue("end_label");return b+": for "+c+" in "+d+" generate\n"+e+"end generate "+a+";\n"};Blockly.VHDL.signal_index=function(a){var b=Blockly.VHDL.valueToCode(a,"signal",Blockly.VHDL.ORDER_NONE);a=a.getFieldValue("index");return[b+"("+a+")",Blockly.VHDL.ORDER_NONE]};Blockly.VHDL.controls_when=function(a){var b=a.getFieldValue("label");var c=a.getFieldValue("A"),d=a.getFieldValue("B"),e=c.length+b.length+4,f=Blockly.VHDL.valueToCode(a,"ADD0",Blockly.VHDL.ORDER_NONE)||"false";c=""!=b?b+": "+c+" <= "+d+" when "+f:c+" <= "+d+" when "+f;a.elseCount_&&(f=Blockly.VHDL.valueToCode(a,"ELSE",Blockly.VHDL.ORDER_NONE)||"false",c+="else \n"+f);for(b=1;b<a.itemCount_;b++)a.getFieldValue("A"+b),d=a.getFieldValue("B"+b),f=Blockly.VHDL.valueToCode(a,"ADD"+b,Blockly.VHDL.ORDER_NONE)||
"false",c+=" else \n"+" ".repeat(e)+d+" when "+f;Blockly.VHDL.valueToCode(a,"ELSE"+b,Blockly.VHDL.ORDER_NONE);return c+";\n"};