コード例 #1
0
 public SignalDeclarationNode(string signal, ArrayTypeDefinitionNode arrayType = null, string arrayTypeName = null, int bits = ProtoCore.VHDL.Constants.Numeric.SignalBitCount)
 {
     SignalName    = signal;
     BitCount      = bits;
     ArrayType     = arrayType;
     ArrayTypeName = arrayTypeName;
 }
コード例 #2
0
        public static List <ProtoCore.VHDL.AST.SignalDeclarationNode> GenerateSignalsDeclarationList(ProtoCore.DSASM.SymbolTable symbolTable)
        {
            List <ProtoCore.VHDL.AST.SignalDeclarationNode> signalDeclList = new List <ProtoCore.VHDL.AST.SignalDeclarationNode>();

            foreach (KeyValuePair <int, ProtoCore.DSASM.SymbolNode> kvp in symbolTable.symbolList)
            {
                ProtoCore.DSASM.SymbolNode symbol = kvp.Value;
                ProtoCore.VHDL.AST.ArrayTypeDefinitionNode arrayType = null;
                if (symbol.size > 1)
                {
                    arrayType = new AST.ArrayTypeDefinitionNode(new List <int>(symbol.size));
                }
                ProtoCore.VHDL.AST.SignalDeclarationNode signalDecl = new ProtoCore.VHDL.AST.SignalDeclarationNode(symbol, arrayType);

                signalDeclList.Add(signalDecl);
            }
            return(signalDeclList);
        }
コード例 #3
0
        public SignalDeclarationNode(ProtoCore.DSASM.SymbolNode symbol, ArrayTypeDefinitionNode arrayType = null, string arrayTypeName = null, int bits = ProtoCore.VHDL.Constants.Numeric.SignalBitCount)
        {
            DSSymbol      = symbol;
            SignalName    = DSSymbol.name;
            BitCount      = ProtoCore.VHDL.Constants.Numeric.SignalBitCount;
            ArrayTypeName = arrayTypeName;

            int elements = DSSymbol.size;

            ArrayType = arrayType;

            if (DSSymbol.staticType.UID == (int)ProtoCore.PrimitiveType.kTypeBool)
            {
                BitCount = 1;
            }
            else
            {
                // Handle other data type size here
                BitCount = ProtoCore.VHDL.Constants.Numeric.SignalBitCount;
            }
        }