Disculpas por este título vago, pero mi pregunta es un poco específica.
Tengo dos preocupaciones:
Durante mi clase de electrónica digital, me dijeron que el diseño del procesador se lleva primero en una placa FPGA y se verifica. Sólo entonces se finaliza. Para diseñar los procesadores en la placa FPGA, utiliza Verilog y VHDL, y luego deja que las herramientas hagan el trabajo pesado. Estas herramientas luego deducen o deducen un esquema / diseño de nuestro programa. Además, a la vez, otro equipo de ingenieros está ocupado programando bancos de pruebas y realizando verificación y simulación, etc.
Mi primera pregunta:
If you let the tools do the designing portion of your processor (or microprocessor),
then wont it always infer the same circuit, or at least nearly same circuit
for your processor ?
Por ejemplo, como uno de los ejercicios de laboratorio, tuvimos que programar una ALU de 4 bits en xilinx ISE en verilog. Mientras tengamos las mismas instrucciones / operaciones / funcionalidad para nuestra ALU, si dejamos que las herramientas diseñen la ALU, ¿no diseñará siempre el mismo circuito? Creo esto porque, en última instancia, en el nivel de transistores, una compuerta AND (solo un ejemplo) siempre estará compuesta por, digamos, transistores de 5 meses (como se proporciona en la biblioteca de componentes). Además, la ALU siempre contendrá los mismos bloques / casi los mismos bloques como el sumador, el restador, etc. (En otras palabras, se deducirá el mismo diseño).
Mi segunda pregunta:
If I am correct above ( which obviously I doubt ), then how would the designs differ ?
In other words, where lies the role of a human / engineer if everything is
done by the tools .
Como otro ejemplo, Intel produce procesadores. Si por el momento asumimos que producen en 28 nm, y continuaremos haciéndolo durante otros 5 años (solo un ejemplo). Entonces, ¿cómo es posible que produzcan procesadores rápidos cada año? Estoy confundido porque al final del día, la propia Intel obviamente utilizará este tipo de herramientas (verilog / vhdl) para diseñar sus chips. Por lo tanto, siempre que tengan una funcionalidad que no cambie, siempre deben tener el mismo diseño.
Comprende que esta no es una pregunta amplia. Se enfoca en los aspectos de automatización / diseño utilizando solo herramientas. Tampoco me preocupan los avances en conceptos de informática, como la introducción de tuberías, etc. que mejoraron el rendimiento. Solo me interesan los aspectos mencionados arriba.
Estoy preguntando esto porque estoy poco interesado en diseñar un pequeño microprocesador antes de mi graduación. Pero programar un par de líneas en Verilog / vhdl y dejar que las herramientas hagan el trabajo no parece que me emocione en absoluto.
Gracias.