Ir al contenido principal

Placa de desarrollo FPGA EP1C3T144 (III)

Para finalizar la serie de tres artículos sobre esta placa de desarrollo vamos a ver como está conectada la cabecera de pines de entrada y salida, sin la que la FPGA no podría comunicarse con el mundo exterior. Para ello vamos a aprovechar el mismo circuito semisumador que ya hicimos en la primera parte y, en vez de usar los botones y los leds de la placa, vamos a montarlos en una protoboard. 

Placa de desarrollo FPGA EP1C3T144

La asignación de pines entre la FPGA y la cabecera de E/S es la siguiente.

PIN FPGA Conector E/S PIN FPGA
PIN 7 - 01 02 - PIN 6
PIN 5 - 03 04 - PIN 4
PIN 3 - 05 06 - PIN 2
PIN 1 - 07 08 - PIN 144
PIN 143 - 09 10 - PIN 142
PIN 141 - 11 12 - PIN 140
PIN 139 - 13 14 - PIN 134
PIN 133 - 15 16 - PIN 132
PIN 131 - 17 18 - PIN 130
PIN 129 - 19 20 - PIN 128
PIN 127 - 21 22 - PIN 126
PIN 125 - 23 24 - PIN 124
PIN 123 - 25 26 - PIN 122
PIN 121 - 27 28 - PIN 120

Vamos a conectar los LEDs a los pines 27 (PIN 121 de la FPGA) y 28 (PIN 120 de la FPGA), y los botones a los pines 25 (PIN 123 de la FPGA) y 26 (PIN 122 de la FPGA). Para alimentar el circuito lo conectaremos a la salida de 3.3V de la placa que está en la esquina inferior derecha (bajo el puerto serie), y como necesitamos una tierra común, conectaremos el pin GND de la placa al circuito.

Esquema protoboard

Tras montar el circuito en la protoboard y conectarlo a la cabecera de E/S, sólo hay que abrir el proyecto de Quartus II que hicimos en la primera entrega de esta serie y cambiar la asignación de pines en el pin planner.

Asignación de pines

Sólo nos resta comprobar que todo funciona bien.

Comentarios

Entradas populares de este blog

Creando firmas de virus para ClamAV

ClamAv es un antivirus opensource y multiplataforma creado por Tomasz Kojm muy utilizado en los servidores de correo Linux. Este antivirus es desarrollado por la comunidad, y su utilidad práctica depende de que su base de datos de firmas sea lo suficientemente grande y actualizado. Para ello es necesario que voluntarios contribuyan activamente aportando firmas. El presente artículo pretende describir de manera sencilla cómo crear firmas de virus para ClamAV y contribuir con ellas a la comunidad.

Manejo de grafos con NetworkX en Python

El aprendizaje computacional es un área de investigación que en los últimos años ha tenido un auge importante, sobre todo gracias al aprendizaje profundo (Deep Learning). Pero no todo son redes neuronales. Paralelamente a estas técnicas, más bien basadas en el aprendizaje de patrones, también hay un auge de otras técnicas, digamos, más basadas en el aprendizaje simbólico. Si echamos la vista algunos años atrás, podemos considerar que quizá, la promesa de la web semántica como gran base de conocimiento ha fracasado, pero no es tan así. Ha ido transmutándose y evolucionando hacia bases de conocimiento basadas en ontologías a partir de las cuales es posible obtener nuevo conocimiento. Es lo que llamamos razonamiento automático y empresas como Google ya lo utilizan para ofrecerte información adicional sobre tus búsquedas. Ellos lo llaman Grafos de Conocimiento o Knowledge Graphs . Gracias a estos grafos de conocimiento, Google puede ofrecerte información adicional sobre tu búsqueda, ad...

Scripts en NMAP

Cuando pensamos en NMAP, pensamos en el escaneo de puertos de un host objetivo al que estamos relizando una prueba de intrusión, pero gracias a las posibilidades que nos ofrecen su Scripting Engine , NMAP es mucho más que eso. Antes de continuar, un aviso: algunas de posibilidades que nos ofrecen los scripts de NMAP son bastante intrusivas, por lo que recomiendo hacerlas contra hosts propios, máquinas virtuales como las de Metasploitable, o contrato de pentesting mediante. Para este artículo voy a usar las máquinas de Metasploitable3 . No voy a entrar en los detalles sobre el uso básico de NMAP, ya que hay miles de tutoriales en Internet que hablan sobre ello. Lo cierto es que NMAP tiene algunas opciones que permiten obtener información extra, además de qué puertos están abiertos y cuales no. Por ejemplo, la opción -sV trata de obtener el servicio concreto, e incluso la versión del servicio que está corriendo en cada puerto. Otro ejemplo es la opción -O, que intenta averiguar el ...