¿Está simulando correctamente una puerta NAND? (Estoy construyendo una computadora en mi computadora)

3

Estoy a punto de embarcarme en un proyecto, inspirado por Nand2Tetris (http://www.nand2tetris.org/), para simular completamente una computadora, construyendo todo a partir de puertas NAND.

Quiero simular todo desde cero, comenzando con una implementación primitiva de una puerta NAND que simula cómo funcionaría una puerta NAND en el nivel físico , y luego conectarlos para construir una computadora.

El problema es que no entiendo lo suficiente sobre cómo funcionaría una puerta NAND en el nivel físico para escribir esto.

Para ser claros, esto ciertamente no es lo que estoy buscando:

def nand(a, b)
  return !(a && b)
end

Me gustaría implementar la puerta NAND como una clase, para que funcione más como un objeto real. Me gustaría tener pines, y me gustaría poder conectarlos y aplicar voltaje, etc.

¿Alguien me puede mostrar cómo podría implementar una simulación adecuada de una puerta física NAND, una que podría estar unida para construir una computadora?

    
pregunta

2 respuestas

1

La mejor manera es implementar una rueda de eventos y definir un retraso de propagación para la puerta. Sin este retraso es imposible simular cualquier tipo de elemento de memoria. Puede buscar el término "rueda de eventos" en google, es la base de los simuladores HDL. Alternativamente, puede escribir todo el contenido en verilog, que tiene la ventaja de realizar el hardware más tarde con las herramientas adecuadas y el simulador puede ser gratuito (busque "Ícaro").

Si realmente desea aplicar voltajes, tendrá que implementar un modelo de transistor o usar BSIM3 en algún tipo de simulador personalizado, pero finalmente tendrá que volver a implementar SPICE, ya que el modelo de objeto que propone no funcionará bien para circuitos donde " las entradas "son en realidad cables conectados a puertas que pueden cargar las salidas y cambiar el comportamiento del circuito.

Buena suerte.

    
respondido por el austere
0

Construir una computadora a partir de puertas NAND sería doloroso. Pero si desea bajar al nivel de voltajes y corrientes, necesita un simulador de nivel de transistor como spice . Tal vez una vez que tenga el transistor-uno en funcionamiento, puede asumir que funciona y cambiar a HDL como mostró y apalopoapa sugirió.

    
respondido por el Brian Carlton

Lea otras preguntas en las etiquetas