Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Qué conocimientos necesitas para aprender a diseñar chips?

¿Qué conocimientos necesitas para aprender a diseñar chips?

Si realmente quieres dedicarte al diseño de chips, te sugiero que primero averigües qué es el diseño de chips, cuál es tu trabajo diario y si te gusta.

El diseño de chips se puede dividir a grandes rasgos en tres categorías principales: digital, analógico y de radiofrecuencia. Si existe alguna conexión entre lo analógico y la radiofrecuencia, entonces los contenidos del trabajo diario de lo digital y lo analógico son básicamente completamente diferentes.

Como estoy en la dirección digital, puedo hablar brevemente sobre el trabajo en la dirección digital. El diseño de chips digitales se divide principalmente en varias direcciones generales: modelado de arquitectura, diseño de front-end, verificación de front-end y back-end.

El modelado de arquitectura utiliza principalmente C/C o SystemC para modelar algoritmos y arquitecturas, un modelo y un modelo f para la simulación temprana del software y un modelo de referencia para su verificación posterior. Los conocimientos básicos que debe tener son la arquitectura de la computadora, los sistemas operativos básicos, la estructura de datos y el conocimiento de algoritmos, así como el conocimiento del dominio de los chips que fabrica. Por supuesto, esto se puede aprender más adelante en el trabajo, como algunos conocimientos de protocolo. Sería mejor si tuviera algún conocimiento relacionado con el hardware de chips. Un arquitecto de sistemas real debe tener conocimientos sólidos de hardware sobre circuitos digitales.

El diseño del front-end utiliza principalmente el lenguaje verilog/vhdl para describir el hardware. Un buen ingeniero debe ser muy competente en los principios subyacentes del hardware y en cómo el código se asigna al hardware. El concepto de sincronización, etc., son básicamente conocimientos relacionados con los circuitos profesionales de microelectrónica.

La verificación frontal utiliza principalmente systemverilog/uvm para el trabajo de verificación y, por supuesto, existen varios scripts. Aunque este puesto de trabajo requiere muchos conocimientos de hardware, en realidad es más similar al trabajo de software. Es necesario comprender muy bien el concepto de programación orientada a objetos. La mayoría de las personas hacen esto en microelectrónica y otras especialidades relacionadas, por lo que muchas personas en realidad no tienen una buena comprensión de UVM y otros marcos, y es difícil escribir un mejor código. Entonces, si miras en esta dirección, no solo necesitas tener una buena base de hardware, sino también preferiblemente tener muy buenos conocimientos de software.

No he tenido mucho contacto con el backend, básicamente varios scripts. Una base de circuito de hardware muy sólida, especialmente sincronización, e incluso conocimiento de dispositivos/procesos (expertos). Para esta dirección, la especialización en microelectrónica debería ser la más adecuada.

Entonces, si realmente quieres diseñar chips, supongo que te refieres a chips grandes como CPU y GPU, entonces deberías querer trabajar en la dirección digital. Bueno, de hecho, cada una de las cuatro direcciones requiere una base de circuito de hardware muy sólida, y algunas de ellas también requieren que tengas muy buenos conocimientos de software y sistemas.

Así que te sugiero que elijas la dirección de microelectrónica (preferiblemente vayas a una de las mejores escuelas y debes ir a la escuela de posgrado) y tomes un curso de autoaprendizaje en dirección de software.

Pero la pregunta más importante es: ¿realmente quieres dedicarte al diseño de chips?