Tengo un módulo Verilog que puede hacer que mi FPGA parpadee sus LED en las frecuencias de acuerdo con ciertas variables / constantes que he establecido dentro del código. Sin embargo, me gustaría cambiar estas variables externamente, para poder alterar el patrón de parpadeo sobre la marcha sin tener que reprogramar el FPGA cada vez. Es por eso que he considerado tratar de averiguar cómo transferir datos a la placa FPGA tal vez a través del puerto Ethernet.
La placa de FPGA que tengo es la Digilent Nexys 3 con la Spartan-6 FPGA. Estoy usando la licencia Xilinx ISE con Webpack para hacer el diseño y la programación.
He leído algo de la documentación, pero mucha de ella es difícil de entender. Por lo que entiendo, necesito usar crear un núcleo IP de Ethernet. Lo hice en ISE agregando un IP Core como fuente y seleccionando "Ethernet 1000BASE-X PCS / PMA o SGMII". Al hacerlo, creó un archivo .xco en la jerarquía de diseño. Hice clic en "Ver modelo funcional HDL" y vi que hay un módulo definido junto con muchos puertos. Sin embargo, los puertos no parecen coincidir con los pines listados en el manual de referencia de Nexys 3. La Ethernet en la placa Nexys 3 tiene el número de pieza SMCS LAN8710.
Otro método que he considerado es usar el software Digilent Adept para escribir datos en los registros en la pestaña Registro de E / S. Aparentemente, el rango de valores que se pueden ingresar para las direcciones es de 0 a 255 (8 bits). El problema es que no sé cómo asignar estos registros a las variables dentro del módulo (si es posible).
Esta es la primera vez que trabajo con FPGA (llevo casi un mes), con poca o ninguna experiencia en electrónica digital (soy estudiante de licenciatura en física), aunque tengo cierta experiencia en programación como así como hardware informático y experiencia en redes (certificación CompTIA N +). Cualquier información que pueda dar para ayudar a un novato a lo largo sería apreciada.