Red de conocimiento informático - Material del sitio web - Cómo aprender FPGA

Cómo aprender FPGA

Cómo aprender FPGA

Dominar FPGA puede ser un buen trabajo para los trabajadores experimentados, usar FPGA puede hacer que el diseño sea muy flexible. Una vez que domine el diseño de FPGA, el diseño de hardware de placa única es muy fácil (no el diseño de sistemas), especialmente los diagramas de tiempo lógicos que eran como una biblia en la universidad, que parecen muy amigables. Sin embargo, es difícil comenzar con FPGA porque no es como el diseño de software. Siempre que tenga una computadora, puede completar casi todos los diseños. El diseño de FPGA está directamente relacionado con el hardware y requiere instrumentos de depuración reales, como los osciloscopios. Estos dispositivos de hardware son generalmente relativamente caros, lo que crea una cierta barrera de entrada si los recién llegados encuentran algunos problemas o dificultades al comenzar, no pueden localizar el problema. De hecho, si alguien da un poco de orientación en este momento, este umbral se puede superar fácilmente. He estado diseñando con FPGA durante muchos años y estoy lejos de dominarlo. Simplemente estoy familiarizado con su uso. Aquí escribiré mi comprensión de los pasos de aprendizaje de FPGA, solo como referencia. , todos pueden discutir y corregirme.

Pasos de aprendizaje de FPGA 1. Si quieres hacer bien tu trabajo, primero debes afinar tus herramientas

Las computadoras son esenciales. Actualmente, Altera y xilinx son las dos empresas que tienen más aplicaciones FPGA. Puede optar por instalar el software quartusII o ISE. Este es un entorno de software imprescindible. El entorno de hardware también requiere un descargador y una placa de destino. Aunque algunas personas dicen que se puede aprender FPGA sin un descargador ni una placa de destino, eso siempre es solo una charla en papel. Es como hablar de una novia. Siempre hablas de eso, hablas por teléfono y ni siquiera te tomas de la mano. Aunque construir un entorno de hardware cuesta dinero, piénselo: el entorno de hardware cuesta como máximo unos cientos de yuanes. Si realmente domina el diseño de FPGA, su salario inicial será mucho más alto que el de otros. ¿Para qué cuenta este gasto?

Paso 2 del aprendizaje de FPGA. Familiarícese con el lenguaje verilog o vhdl y sea competente en el uso del software quartusII o ISE.

VHDL y verilog tienen sus propias ventajas. Y se recomienda elegir verilog. Ser competente en el uso de software de diseño y saber cómo compilar, simular, descargar y otros procesos. Al principio no quiero apuntarte a algunos cursos de formación, a menos que tengas dinero o tengas la suerte de conocer a un profesor de formación de alto nivel que quiera compartir su experiencia con los demás, de lo contrario, siempre te sentirás como tú. No están bien después del entrenamiento. Es un gran error. La etapa de entrada se puede completar utilizando recursos de la red.

Paso 3 del aprendizaje de FPGA. Diseñe un pequeño código, descárguelo a la placa de destino y vea los resultados.

En este momento, puede diseñar el programa más simple, como encender una lámpara. . Si la luz parpadea, significa que básicamente estás comenzando. Si puede descargar el complemento flash FPGA en este momento y el programa FPGA se puede iniciar desde el flash, significa que ha logrado el diseño más simple de FPGA y puede pasar al siguiente paso.

Paso 4 del aprendizaje de FPGA. Diseñe un código ligeramente complejo, descárguelo al tablero de destino y vea los resultados.

Puede diseñar un programa UART, hay referencias en línea, necesita Comprenda el protocolo RS232 y el analizador lógico integrado FPGA. Descargue un asistente de depuración de puerto serie en línea y depurelo. Si la comunicación es exitosa, felicidades, su nivel ha mejorado.

Paso 5 de aprendizaje de FPGA: diseñar código complejo, descargarlo en la placa de destino y ver los resultados

Por ejemplo, hay referencias en Internet para programas sdram. un poco difícil. Puede usar el puerto serie para depurar sdram, almacenar los datos del puerto serie en sdram y luego volver a leerlos, si tiene éxito, estará más familiarizado con el diseño de FPGA.

Paso 6 del aprendizaje de FPGA. Diseñar interfaces de alta velocidad, como ddr2 o interfaces serie de alta velocidad

Esto requiere una buena comprensión de las características físicas de FPGA y comprensión del diseño. Métodos como restricciones de tiempo. Debe leer muchos documentos originales de fábrica. Si tiene éxito en esta parte, tendrá un conocimiento profundo de la interfaz física de FPGA y será un experto en diseño.

Paso 7 del aprendizaje de FPGA. Diseñe un protocolo complejo

Por ejemplo, USB, PCI Express, codificación y decodificación de imágenes, etc., para ejercitar la comprensión general y la división lógica del sistema. . Después de completarlos, serás un maestro de primera clase.

Aprendizaje FPGA paso 8, aprende y vuelve a aprender

No sé qué aprender, solo sé que "el aprendizaje es infinito y hay montañas más allá de las montañas".

Hoy en día, muchos ingenieros de FPGA no han encontrado el correcto. Creo que muchas personas se han descarriado desde el principio. También me gustaría dar mi opinión sobre los principiantes que aprenden el diseño de FPGA. Creo que sólo partiendo de lo básico y teniendo una base sólida puedes llegar a ser un maestro.

Creo que se deben seguir los siguientes pasos al aprender FPGA:

El primer paso: aprender y comprender la estructura de FPGA, ¿qué es exactamente un FPGA y qué hay en el chip? No empieces con eso. Consigue una placa de desarrollo y un programa basado en el material de otras personas. Muchos programas de placas de desarrollo están mal escritos. También he estado diseñando placas de desarrollo durante un tiempo y siento que, en gran medida, las placas de desarrollo son engañosas. Sin embargo, la placa de desarrollo genuina proporcionada por el fabricante original tiene un código excelente y puede usarse como referencia. Solo comprendiendo la estructura interna de FPGA podemos entender por qué las ideas generales de escribir Verilog y C son diferentes.

Paso 2: Dominar el proceso de diseño de FPGA. ¿Entiendes lo que estás haciendo en cada paso y por qué lo estás haciendo? Mucha gente simplemente da esos pocos pasos. Jaja, creo que al menos la mitad de la gente no sabe la diferencia entre sintetizar y traducir.

Solo comprendiendo la estructura y el proceso de diseño de FPGA se puede saber cómo optimizar el diseño, aumentar la velocidad y reducir recursos. No seas impaciente y te preocupes por qué idioma elegir y qué chip de empresa elegir. El lenguaje es sólo una forma de expresión. Lo que importa es tu pensamiento. Sin una buena ideología que te guíe, no importa qué tan bien uses el lenguaje, eres sólo una persona que entiende el lenguaje.

Paso 3: Comienza a aprender el código. Sugiero que cualquiera que quiera aprender a codificar vaya al sitio web de Altera o Xilinx para aprender el código de los ingenieros originales. No cometas el error desde el principio.

Paso 4: la plantilla es muy importante. Para poder hacer un uso eficiente de los recursos de FPGA es necesario, en primer lugar, comprender la estructura de FPGA, en segundo lugar, comprender las funciones lógicas y los mecanismos básicos que se implementarán y, en tercer lugar, utilizar la plantilla correcta. Los tipos de dispositivos internos de FPGA son relativamente simples. Con buenas plantillas, su lógica se puede sintetizar de manera eficiente en una estructura que FPGA expresa bien.

Lo principal para hacer FPGA es tener la idea del circuito. Como principiante, es posible que no esté familiarizado con el dispositivo, por lo que debe estar familiarizado con el conocimiento de los circuitos digitales. FPGA se compone de flip-flops, tablas de búsqueda y líneas de interconexión. De hecho, lo que puedes ver en nuestro código son puertas NAND y flip-flops.

No compares Verilog y el lenguaje C. Son cosas fundamentalmente diferentes y no hay comparación.

Al escribir un programa, ¿qué tipo de circuito se debe considerar, como contadores, selectores, puertas de tres estados, etc. Comprender la sincronización y la lógica es algo que se debe pensar paso a paso? En las primeras etapas del diseño, cuando no esté muy claro, puede dibujar un diagrama de tiempo para que la idea quede más clara. Además, la simulación es muy importante. No cargue el programa en el FPGA después de escribirlo. Debe simularlo primero, especialmente para programas más grandes. No hay una segunda oportunidad para hacerlo. está bien hecho, todavía hay muchos novatos que no saben si vhdl o verilog son mejores para aprender idiomas. Yo personalmente prefiero verilog. Por supuesto, eso no significa que vhdl no sea bueno, lo que está escrito son circuitos. Así que, por supuesto, no dedique demasiado tiempo a la gramática del idioma. Verilog es conciso y conciso, siempre puede escribir casi el 90% de los circuitos. Mis humildes opiniones sobre el aprendizaje de FPGA espero que sean de ayuda para todos.