1) Generalmente sí, pero eso dependerá del dispositivo. A veces, tiene dispositivos que solo tienen unos pocos pines habilitados para la Exploración de límites (y es decir, muchos pines de alimentación / gnd / analógicos) y luego el tamaño del registro de límites puede ser menor que el número de pines. Pero eso es raro.
2) La estructura más común detrás de un pin bidireccional son 3 celdas de Barrido de límites: 1 celda de entrada (para leer el pin), 1 celda de salida (output3 - lo que significa que puede estar desactivada) para escribir el pin y 1 control -célula para habilitar / deshabilitar la celda de salida3. También puede haber celdas bidireccionales y celdas puramente internas cuando, por ejemplo, se utiliza la misma arquitectura para varios paquetes. Si tiene un pin de salida o entrada puro, puede encontrar una celda de entrada o salida detrás del pin.
3) Esa información generalmente la proporciona el fabricante del dispositivo. Hay maneras de aplicar ingeniería inversa a un archivo BSDL, pero son mucho trabajo. Por lo general, eso significa que necesita el dispositivo en una placa, encendido y funcional sin nada alrededor (para que pueda alternar libremente todos los pines). Primero debe averiguar el tamaño y los comandos del registro de instrucciones y el tamaño del registro de límites. Luego, cambia el patrón conocido al registro de límites para cambiar los estados de pin y trata de encontrar el pin que realmente cambia de estado y construye su archivo BSDL basándose en esa información. Como se dijo anteriormente: ¡Trabajo tedioso!