¿A qué tipo de empresa debería unirme para experimentar todo el flujo de diseño de un chip como ingeniero eléctrico de nivel básico?

No estoy en desacuerdo con Simon Kinahan y Quora User.

Ahora trabajo en Oracle. También hice una pasantía en Qualcomm e Intel. Aquí están mis $ 0.02

En las 3 compañías, solo un puñado de personas conocía los detalles de todo lo que entraba en el chip. Estas personas son los arquitectos de sistemas que tienen años de experiencia en la construcción de un chip, así como un conocimiento complejo de varias unidades dentro del chip.

Un chip hecho hoy es tan increíblemente complejo que es realmente difícil entender cómo una sola persona puede comprender cada detalle de todo lo que entra en un chip. Entonces, la forma natural de resolver este problema es tener “Grupos de trabajo” de arquitectos y diseñadores. Cada miembro de este grupo de trabajo maneja un área paraguas específica.

La respuesta de Simon describe cómo se hace un chip en estos días y es mucho mejor de lo que podría haber explicado.

En todas las empresas, hay ciertos equipos que tienen una visibilidad mucho mayor de lo que se necesita para hacer el chip. Rendimiento / Modelado funcional en C / C ++, equipos de verificación y arquitectura a nivel SOC, por nombrar algunos. Además, las personas que trabajan en el núcleo del sistema operativo, los compiladores y los dispositivos a menudo necesitan conocer detalles complejos del chip para utilizar correctamente sus funciones.

Desde mi punto de vista, compañías como Apple y Oracle tienen la ventaja de crear una solución integrada de chip + sistema, lo que les da mucha influencia en la construcción de soluciones sólidas de semiconductores. Si bien no puedo comentar sobre Apple, puedo decir con confianza que en Oracle, el enfoque está en integrar el software perfectamente con el hardware. La visibilidad de la “pila completa” significa que exprimir las ganancias de rendimiento se ha vuelto más fácil y más dirigido hacia lo que los clientes están pidiendo. Se está cruzando bastante información entre los equipos de software del sistema, los equipos de hardware y los arquitectos de sistemas. Entonces, hay muchas más personas que conocen los detalles del chip de lo normal.

Sin embargo, lo mismo podría decirse de Intel, Qualcomm y Nvidia. Vmware, Microsoft, RedHat también merecen menciones notables. Lo mismo ocurre con muchas empresas de sistemas integrados.

No tendría la oportunidad de comprender detalles complejos de cada decisión de diseño en cualquier lugar. Pero, puede obtener una buena imagen de lo que realmente está sucediendo debajo del capó. El equipo en el que trabaja importa más que el nombre de la empresa.

TL; DR Para determinar cuánto aprendería sobre un chip, la empresa que lo emplea no importa. Tu papel en la empresa sí.

No es tanto la empresa como tu trabajo específico lo que determina lo que ves. Sin embargo, nadie que realmente haga un trabajo de diseño práctico generalmente verá todo el flujo de diseño, excepto tal vez en empresas muy pequeñas, de las cuales quedan pocas. Un dispositivo SoC moderno con miles de millones de transistores es equivalente a un mainframe de la década de 1980, y aunque es mucho más barato de fabricar, requiere aproximadamente la misma cantidad de esfuerzo para diseñar, programar e integrar en el sistema para el que fue construido. Es demasiado trabajo para que una persona se involucre en todo. Las únicas personas que realmente tienen una visión general del proceso son los gerentes de alto nivel y, desde cierto punto de vista, las personas en los equipos internos de CAD que proporcionan automatización a los equipos de diseño y, por supuesto, esas opiniones son muy abstractas.

Hay al menos tres grupos distintos de personas involucradas en el diseño de estos monstruos, y tienen conjuntos de habilidades muy diferentes. Al principio, un arquitecto de sistemas trabajará con el lado comercial para decidir los objetivos de velocidad, proceso, tamaño, potencia y funcionalidad. Si se necesita una nueva funcionalidad (en realidad es bastante rara ahora), puede escribir modelos C ++ para ella. Todo esto se trata de dedos mojados y generalmente se maneja principalmente por experiencia. Una vez que el proyecto está realmente comprometido, alguien tiene que escribir el código RTL que realmente se convertirá en hardware. Esta es la mayor parte del trabajo, y aunque en la mayoría de los casos se utilizarán componentes estándar, se necesitará una gran cantidad de codificación personalizada para la integración. La codificación RTL es como la programación, excepto que utiliza un lenguaje de programación muy limitante con una semántica muy molesta que tiene que verificarse con minuciosidad. Un equipo más pequeño toma el RTL y lo convierte en un diseño real que se puede implementar en silicio. Esto necesita un gran conjunto de software muy costoso (y lento, que requiere mucha computación), y aún requiere una guía manual intensiva (lo siento, estamos trabajando en ello) y una verificación meticulosa por parte de un software más costoso. Las personas de diseño y las personas que escriben RTL tienen conjuntos de habilidades muy diferentes y se comunican principalmente (como estoy seguro que se pueden imaginar) presionando órdenes de cambio de un lado a otro.

El único lugar donde me imagino que podría obtener una visión general sería en una empresa muy pequeña que fabrica un dispositivo pequeño pero avanzado. Sin embargo, no estoy realmente seguro de que tales compañías realmente existan. Hubo unos 5 años atrás, realmente no sé ninguno ahora.

Si está interesado en el flujo de diseño a nivel de chip, preferiría estar en una empresa de fabricación de semiconductores adecuada como ADI, TI, LT, Qualcomm, etc.
Allí, podrá ver todo el flujo del diseño del chip desde la conceptualización del sistema, decidir qué proceso usar, diseñar y simular, grabar, recibir el silicio y ejecutar pruebas, evaluación / prueba de silicio, hasta la entrega al cliente.
Si el chip es un microcontrolador, entonces también podría ver algo de código ejecutándose en el silicio que ayudó a desarrollar.

Las empresas integradas de software / hardware trabajan a nivel de sistema. Estarían más orientados al software y la participación del hardware sería a nivel de la placa, es decir, la construcción del sistema en su conjunto al reunir múltiples chips y otras partes.

Como diseñador de nivel de entrada, probablemente tendrá una gama más amplia de experiencia en un lugar más pequeño porque los equipos son más pequeños y los proyectos son de menor duración. Por ejemplo, en Intel podrías estar haciendo solo una parte del diseño durante un par de años. Ciertamente, estaría expuesto (y capacitado) en el proceso de diseño general, pero probablemente no lo realizaría de extremo a extremo.

Sin embargo, donde quiera que vaya, probablemente terminará especializándose en uno o dos aspectos. La fabricación de semiconductores complejos requiere muchos tipos diferentes de experiencia, por lo que las personas tienden a profundizar en un área porque es demasiado difícil hacerlo todo.

El flujo de trabajo de diseño también será diferente, según el tipo de diseño que hagan. El diseño analógico y la RF son diferentes de los digitales.

¿Qué tipo de proyectos y diseño te inspiran? Puede ser un trabajo duro, por lo que agradar el producto en el que está trabajando es un tipo de motivación útil.