All ports are optional, with the exception that at least one input and one output clock are required. Availability of ports is controlled by user-selected parameters. Any port that is not exposed is either tied off or connected to a signal labeled unused in the delivered source code.