Fundamentos del diseño digital:
Debe ser cuidadoso con el álgebra booleana, la lógica combinatoria y secuencial, las máquinas de estado, etc. Este es el fuerte principal de un ingeniero de diseño digital.
Características del transistor
Aunque la ingeniería de front-end directamente no requiere conocimiento de esto, es bueno tener información sobre esto como telón de fondo. Diversas metodologías de diseño, sus fortalezas y debilidades y por qué se ha elegido CMOS para implementar los bloques de construcción (puertas) de prácticamente todos los circuitos integrados. También ayuda saber el origen de los retrasos en las puertas, restricciones en los despliegues, etc.
Análisis de tiempo estático
Parte del trabajo del ingeniero front-end es interactuar con la gente del back-end para optimizar el diseño del área, el tiempo y la ubicación. Con frecuencia tenemos que ajustar el diseño para cumplir con las limitaciones de tiempo (configuración y retención), de lo que debe tener una buena comprensión.
- ¿La automatización matará el trabajo de ingeniería de software?
- ¿Cuánto pagan los 4 grandes socios?
- ¿Los oficiales de cumplimiento bancario ayudan a los bancos a seguir el cumplimiento o evitarlo sin romper la regulación?
- ¿Existe un avance profesional limitado después de convertirse en gerente de producto?
- Estoy absolutamente cansado de mi trabajo, pero no tengo el coraje de hacer algo al respecto, ¿algún consejo?
EDA herramientas / idiomas
Se espera que un ingeniero front-end cree un diseño usando su conocimiento de lo anterior y luego lo implemente usando lenguajes de descripción de hardware como Verilog. Con la práctica, llegamos a saber cómo cada declaración se asigna a la implementación física real. A veces, una herramienta de síntesis puede interpretar de manera diferente una declaración aparentemente inocua, arruinando el comportamiento (que con suerte podría quedar atrapado por la verificación).
Conocimiento del dominio
Debe tener conocimiento del dominio para el que desea crear ASIC, como ASIC de red que debe conocer sobre QoS, gestión de búfer, etc.
Además de esto, las habilidades generales son aplicables, como la persistencia, buenas habilidades interpersonales, pesimismo sobre el diseño, etc. ¡Espero haber cubierto suficiente terreno, si no lo he dicho en los comentarios!