# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: circuit.proto

from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from . import utils_pb2 as utils__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
    name="circuit.proto",
    package="vlsir.circuit",
    syntax="proto3",
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
    serialized_pb=b'\n\rcircuit.proto\x12\rvlsir.circuit\x1a\x0butils.proto"\x83\x01\n\x07Package\x12\x0e\n\x06\x64omain\x18\x01 \x01(\t\x12&\n\x07modules\x18\x02 \x03(\x0b\x32\x15.vlsir.circuit.Module\x12\x32\n\x0b\x65xt_modules\x18\x03 \x03(\x0b\x32\x1d.vlsir.circuit.ExternalModule\x12\x0c\n\x04\x64\x65sc\x18\n \x01(\t"\x98\x01\n\x04Port\x12%\n\x06signal\x18\x01 \x01(\x0b\x32\x15.vlsir.circuit.Signal\x12\x30\n\tdirection\x18\x02 \x01(\x0e\x32\x1d.vlsir.circuit.Port.Direction"7\n\tDirection\x12\t\n\x05INPUT\x10\x00\x12\n\n\x06OUTPUT\x10\x01\x12\t\n\x05INOUT\x10\x02\x12\x08\n\x04NONE\x10\x03"%\n\x06Signal\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05width\x18\x02 \x01(\x03"1\n\x05Slice\x12\x0e\n\x06signal\x18\x01 \x01(\t\x12\x0b\n\x03top\x18\x02 \x01(\x03\x12\x0b\n\x03\x62ot\x18\x03 \x01(\x03"2\n\x06\x43oncat\x12(\n\x05parts\x18\x01 \x03(\x0b\x32\x19.vlsir.circuit.Connection"\x8b\x01\n\nConnection\x12$\n\x03sig\x18\x01 \x01(\x0b\x32\x15.vlsir.circuit.SignalH\x00\x12%\n\x05slice\x18\x02 \x01(\x0b\x32\x14.vlsir.circuit.SliceH\x00\x12\'\n\x06\x63oncat\x18\x03 \x01(\x0b\x32\x15.vlsir.circuit.ConcatH\x00\x42\x07\n\x05stype"\xd7\x02\n\x08Instance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12&\n\x06module\x18\x02 \x01(\x0b\x32\x16.vlsir.utils.Reference\x12;\n\nparameters\x18\x03 \x03(\x0b\x32\'.vlsir.circuit.Instance.ParametersEntry\x12=\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32(.vlsir.circuit.Instance.ConnectionsEntry\x1aJ\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.vlsir.utils.ParamValue:\x02\x38\x01\x1aM\n\x10\x43onnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.vlsir.circuit.Connection:\x02\x38\x01"\xb6\x01\n\x06Module\x12\x0c\n\x04name\x18\x01 \x01(\t\x12"\n\x05ports\x18\x02 \x03(\x0b\x32\x13.vlsir.circuit.Port\x12&\n\x07signals\x18\x03 \x03(\x0b\x32\x15.vlsir.circuit.Signal\x12*\n\tinstances\x18\x04 \x03(\x0b\x32\x17.vlsir.circuit.Instance\x12&\n\nparameters\x18\x05 \x03(\x0b\x32\x12.vlsir.utils.Param"\x94\x01\n\x0e\x45xternalModule\x12(\n\x04name\x18\x01 \x01(\x0b\x32\x1a.vlsir.utils.QualifiedName\x12\x0c\n\x04\x64\x65sc\x18\x02 \x01(\t\x12"\n\x05ports\x18\x03 \x03(\x0b\x32\x13.vlsir.circuit.Port\x12&\n\nparameters\x18\x05 \x03(\x0b\x32\x12.vlsir.utils.Param"=\n\tInterface\x12\x0c\n\x04name\x18\x01 \x01(\t\x12"\n\x05ports\x18\n \x03(\x0b\x32\x13.vlsir.circuit.Portb\x06proto3',
    dependencies=[utils__pb2.DESCRIPTOR,],
)


_PORT_DIRECTION = _descriptor.EnumDescriptor(
    name="Direction",
    full_name="vlsir.circuit.Port.Direction",
    filename=None,
    file=DESCRIPTOR,
    create_key=_descriptor._internal_create_key,
    values=[
        _descriptor.EnumValueDescriptor(
            name="INPUT",
            index=0,
            number=0,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.EnumValueDescriptor(
            name="OUTPUT",
            index=1,
            number=1,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.EnumValueDescriptor(
            name="INOUT",
            index=2,
            number=2,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.EnumValueDescriptor(
            name="NONE",
            index=3,
            number=3,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    containing_type=None,
    serialized_options=None,
    serialized_start=277,
    serialized_end=332,
)
_sym_db.RegisterEnumDescriptor(_PORT_DIRECTION)


_PACKAGE = _descriptor.Descriptor(
    name="Package",
    full_name="vlsir.circuit.Package",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="domain",
            full_name="vlsir.circuit.Package.domain",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="modules",
            full_name="vlsir.circuit.Package.modules",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="ext_modules",
            full_name="vlsir.circuit.Package.ext_modules",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="desc",
            full_name="vlsir.circuit.Package.desc",
            index=3,
            number=10,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=46,
    serialized_end=177,
)


_PORT = _descriptor.Descriptor(
    name="Port",
    full_name="vlsir.circuit.Port",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="signal",
            full_name="vlsir.circuit.Port.signal",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="direction",
            full_name="vlsir.circuit.Port.direction",
            index=1,
            number=2,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[_PORT_DIRECTION,],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=180,
    serialized_end=332,
)


_SIGNAL = _descriptor.Descriptor(
    name="Signal",
    full_name="vlsir.circuit.Signal",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="vlsir.circuit.Signal.name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="width",
            full_name="vlsir.circuit.Signal.width",
            index=1,
            number=2,
            type=3,
            cpp_type=2,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=334,
    serialized_end=371,
)


_SLICE = _descriptor.Descriptor(
    name="Slice",
    full_name="vlsir.circuit.Slice",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="signal",
            full_name="vlsir.circuit.Slice.signal",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="top",
            full_name="vlsir.circuit.Slice.top",
            index=1,
            number=2,
            type=3,
            cpp_type=2,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="bot",
            full_name="vlsir.circuit.Slice.bot",
            index=2,
            number=3,
            type=3,
            cpp_type=2,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=373,
    serialized_end=422,
)


_CONCAT = _descriptor.Descriptor(
    name="Concat",
    full_name="vlsir.circuit.Concat",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="parts",
            full_name="vlsir.circuit.Concat.parts",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=424,
    serialized_end=474,
)


_CONNECTION = _descriptor.Descriptor(
    name="Connection",
    full_name="vlsir.circuit.Connection",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="sig",
            full_name="vlsir.circuit.Connection.sig",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="slice",
            full_name="vlsir.circuit.Connection.slice",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="concat",
            full_name="vlsir.circuit.Connection.concat",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="stype",
            full_name="vlsir.circuit.Connection.stype",
            index=0,
            containing_type=None,
            create_key=_descriptor._internal_create_key,
            fields=[],
        ),
    ],
    serialized_start=477,
    serialized_end=616,
)


_INSTANCE_PARAMETERSENTRY = _descriptor.Descriptor(
    name="ParametersEntry",
    full_name="vlsir.circuit.Instance.ParametersEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="vlsir.circuit.Instance.ParametersEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="vlsir.circuit.Instance.ParametersEntry.value",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=b"8\001",
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=809,
    serialized_end=883,
)

_INSTANCE_CONNECTIONSENTRY = _descriptor.Descriptor(
    name="ConnectionsEntry",
    full_name="vlsir.circuit.Instance.ConnectionsEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="vlsir.circuit.Instance.ConnectionsEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="vlsir.circuit.Instance.ConnectionsEntry.value",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=b"8\001",
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=885,
    serialized_end=962,
)

_INSTANCE = _descriptor.Descriptor(
    name="Instance",
    full_name="vlsir.circuit.Instance",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="vlsir.circuit.Instance.name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="module",
            full_name="vlsir.circuit.Instance.module",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="parameters",
            full_name="vlsir.circuit.Instance.parameters",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="connections",
            full_name="vlsir.circuit.Instance.connections",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[_INSTANCE_PARAMETERSENTRY, _INSTANCE_CONNECTIONSENTRY,],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=619,
    serialized_end=962,
)


_MODULE = _descriptor.Descriptor(
    name="Module",
    full_name="vlsir.circuit.Module",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="vlsir.circuit.Module.name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="ports",
            full_name="vlsir.circuit.Module.ports",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="signals",
            full_name="vlsir.circuit.Module.signals",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="instances",
            full_name="vlsir.circuit.Module.instances",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="parameters",
            full_name="vlsir.circuit.Module.parameters",
            index=4,
            number=5,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=965,
    serialized_end=1147,
)


_EXTERNALMODULE = _descriptor.Descriptor(
    name="ExternalModule",
    full_name="vlsir.circuit.ExternalModule",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="vlsir.circuit.ExternalModule.name",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="desc",
            full_name="vlsir.circuit.ExternalModule.desc",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="ports",
            full_name="vlsir.circuit.ExternalModule.ports",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="parameters",
            full_name="vlsir.circuit.ExternalModule.parameters",
            index=3,
            number=5,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1150,
    serialized_end=1298,
)


_INTERFACE = _descriptor.Descriptor(
    name="Interface",
    full_name="vlsir.circuit.Interface",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="vlsir.circuit.Interface.name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
        _descriptor.FieldDescriptor(
            name="ports",
            full_name="vlsir.circuit.Interface.ports",
            index=1,
            number=10,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1300,
    serialized_end=1361,
)

_PACKAGE.fields_by_name["modules"].message_type = _MODULE
_PACKAGE.fields_by_name["ext_modules"].message_type = _EXTERNALMODULE
_PORT.fields_by_name["signal"].message_type = _SIGNAL
_PORT.fields_by_name["direction"].enum_type = _PORT_DIRECTION
_PORT_DIRECTION.containing_type = _PORT
_CONCAT.fields_by_name["parts"].message_type = _CONNECTION
_CONNECTION.fields_by_name["sig"].message_type = _SIGNAL
_CONNECTION.fields_by_name["slice"].message_type = _SLICE
_CONNECTION.fields_by_name["concat"].message_type = _CONCAT
_CONNECTION.oneofs_by_name["stype"].fields.append(_CONNECTION.fields_by_name["sig"])
_CONNECTION.fields_by_name["sig"].containing_oneof = _CONNECTION.oneofs_by_name["stype"]
_CONNECTION.oneofs_by_name["stype"].fields.append(_CONNECTION.fields_by_name["slice"])
_CONNECTION.fields_by_name["slice"].containing_oneof = _CONNECTION.oneofs_by_name[
    "stype"
]
_CONNECTION.oneofs_by_name["stype"].fields.append(_CONNECTION.fields_by_name["concat"])
_CONNECTION.fields_by_name["concat"].containing_oneof = _CONNECTION.oneofs_by_name[
    "stype"
]
_INSTANCE_PARAMETERSENTRY.fields_by_name["value"].message_type = utils__pb2._PARAMVALUE
_INSTANCE_PARAMETERSENTRY.containing_type = _INSTANCE
_INSTANCE_CONNECTIONSENTRY.fields_by_name["value"].message_type = _CONNECTION
_INSTANCE_CONNECTIONSENTRY.containing_type = _INSTANCE
_INSTANCE.fields_by_name["module"].message_type = utils__pb2._REFERENCE
_INSTANCE.fields_by_name["parameters"].message_type = _INSTANCE_PARAMETERSENTRY
_INSTANCE.fields_by_name["connections"].message_type = _INSTANCE_CONNECTIONSENTRY
_MODULE.fields_by_name["ports"].message_type = _PORT
_MODULE.fields_by_name["signals"].message_type = _SIGNAL
_MODULE.fields_by_name["instances"].message_type = _INSTANCE
_MODULE.fields_by_name["parameters"].message_type = utils__pb2._PARAM
_EXTERNALMODULE.fields_by_name["name"].message_type = utils__pb2._QUALIFIEDNAME
_EXTERNALMODULE.fields_by_name["ports"].message_type = _PORT
_EXTERNALMODULE.fields_by_name["parameters"].message_type = utils__pb2._PARAM
_INTERFACE.fields_by_name["ports"].message_type = _PORT
DESCRIPTOR.message_types_by_name["Package"] = _PACKAGE
DESCRIPTOR.message_types_by_name["Port"] = _PORT
DESCRIPTOR.message_types_by_name["Signal"] = _SIGNAL
DESCRIPTOR.message_types_by_name["Slice"] = _SLICE
DESCRIPTOR.message_types_by_name["Concat"] = _CONCAT
DESCRIPTOR.message_types_by_name["Connection"] = _CONNECTION
DESCRIPTOR.message_types_by_name["Instance"] = _INSTANCE
DESCRIPTOR.message_types_by_name["Module"] = _MODULE
DESCRIPTOR.message_types_by_name["ExternalModule"] = _EXTERNALMODULE
DESCRIPTOR.message_types_by_name["Interface"] = _INTERFACE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Package = _reflection.GeneratedProtocolMessageType(
    "Package",
    (_message.Message,),
    {
        "DESCRIPTOR": _PACKAGE,
        "__module__": "circuit_pb2"
        # @@protoc_insertion_point(class_scope:vlsir.circuit.Package)
    },
)
_sym_db.RegisterMessage(Package)

Port = _reflection.GeneratedProtocolMessageType(
    "Port",
    (_message.Message,),
    {
        "DESCRIPTOR": _PORT,
        "__module__": "circuit_pb2"
        # @@protoc_insertion_point(class_scope:vlsir.circuit.Port)
    },
)
_sym_db.RegisterMessage(Port)

Signal = _reflection.GeneratedProtocolMessageType(
    "Signal",
    (_message.Message,),
    {
        "DESCRIPTOR": _SIGNAL,
        "__module__": "circuit_pb2"
        # @@protoc_insertion_point(class_scope:vlsir.circuit.Signal)
    },
)
_sym_db.RegisterMessage(Signal)

Slice = _reflection.GeneratedProtocolMessageType(
    "Slice",
    (_message.Message,),
    {
        "DESCRIPTOR": _SLICE,
        "__module__": "circuit_pb2"
        # @@protoc_insertion_point(class_scope:vlsir.circuit.Slice)
    },
)
_sym_db.RegisterMessage(Slice)

Concat = _reflection.GeneratedProtocolMessageType(
    "Concat",
    (_message.Message,),
    {
        "DESCRIPTOR": _CONCAT,
        "__module__": "circuit_pb2"
        # @@protoc_insertion_point(class_scope:vlsir.circuit.Concat)
    },
)
_sym_db.RegisterMessage(Concat)

Connection = _reflection.GeneratedProtocolMessageType(
    "Connection",
    (_message.Message,),
    {
        "DESCRIPTOR": _CONNECTION,
        "__module__": "circuit_pb2"
        # @@protoc_insertion_point(class_scope:vlsir.circuit.Connection)
    },
)
_sym_db.RegisterMessage(Connection)

Instance = _reflection.GeneratedProtocolMessageType(
    "Instance",
    (_message.Message,),
    {
        "ParametersEntry": _reflection.GeneratedProtocolMessageType(
            "ParametersEntry",
            (_message.Message,),
            {
                "DESCRIPTOR": _INSTANCE_PARAMETERSENTRY,
                "__module__": "circuit_pb2"
                # @@protoc_insertion_point(class_scope:vlsir.circuit.Instance.ParametersEntry)
            },
        ),
        "ConnectionsEntry": _reflection.GeneratedProtocolMessageType(
            "ConnectionsEntry",
            (_message.Message,),
            {
                "DESCRIPTOR": _INSTANCE_CONNECTIONSENTRY,
                "__module__": "circuit_pb2"
                # @@protoc_insertion_point(class_scope:vlsir.circuit.Instance.ConnectionsEntry)
            },
        ),
        "DESCRIPTOR": _INSTANCE,
        "__module__": "circuit_pb2"
        # @@protoc_insertion_point(class_scope:vlsir.circuit.Instance)
    },
)
_sym_db.RegisterMessage(Instance)
_sym_db.RegisterMessage(Instance.ParametersEntry)
_sym_db.RegisterMessage(Instance.ConnectionsEntry)

Module = _reflection.GeneratedProtocolMessageType(
    "Module",
    (_message.Message,),
    {
        "DESCRIPTOR": _MODULE,
        "__module__": "circuit_pb2"
        # @@protoc_insertion_point(class_scope:vlsir.circuit.Module)
    },
)
_sym_db.RegisterMessage(Module)

ExternalModule = _reflection.GeneratedProtocolMessageType(
    "ExternalModule",
    (_message.Message,),
    {
        "DESCRIPTOR": _EXTERNALMODULE,
        "__module__": "circuit_pb2"
        # @@protoc_insertion_point(class_scope:vlsir.circuit.ExternalModule)
    },
)
_sym_db.RegisterMessage(ExternalModule)

Interface = _reflection.GeneratedProtocolMessageType(
    "Interface",
    (_message.Message,),
    {
        "DESCRIPTOR": _INTERFACE,
        "__module__": "circuit_pb2"
        # @@protoc_insertion_point(class_scope:vlsir.circuit.Interface)
    },
)
_sym_db.RegisterMessage(Interface)


_INSTANCE_PARAMETERSENTRY._options = None
_INSTANCE_CONNECTIONSENTRY._options = None
# @@protoc_insertion_point(module_scope)
