La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Cómo escribir un banco de pruebas para el escáner de teclado Verilog?

¿Cómo escribir un banco de pruebas para el escáner de teclado Verilog?

modulemul3_testbench; //Definir una plataforma de prueba sin puertos de entrada y salida rega2, a1, a0, b2, b1, b0 //El puerto de entrada del módulo bajo prueba se cambia al registro de registro correspondiente como el cable de señal de entradap5, p4, p3, p2, p1, p0; //El puerto de salida del módulo bajo prueba se cambia al tipo de cable correspondiente. inicialcomienzo//Inicializa los valores de registro de todas las señales de entrada a2=0; =0; a0=0; b2 =0; b1=0; b0=0; #50//Generalmente, después de un largo retraso, la señal de reinicio no debería restablecer el sistema para que funcione normalmente, pero no tiene un final de señal de reinicio. //Una vez finalizado el módulo de inicialización, se genera la simulación del circuito secuencial general. Señal de reloj, //Esto es lógica combinacional pura y se omite sin señal de reloj //Luego puede escribir el bloque inicial o bloquear siempre en esta posición de acuerdo con el. función que necesita verificar para asignar la lógica relevante al tipo de registro //señal de entrada Observe el valor de la señal de entrada del tipo de cable //--------------------. ------Llame al objeto bajo prueba, el formato es como una llamada de componente general---- ---------------mul3DUT(.a2(a2),.a1( a2),.a0(a0),.b2(b2),.b1(b2),.b0( b0), .p5(p5), .p4(p4), .p3(p3), .p2(p2) , .p1(p1), .p0(p0)); endmodule // Aviso final, las variables de tipo entero de su programa se definen aquí, lo que en realidad es un mal uso y ni siquiera se puede sintetizar correctamente // Puede usar un tipo de registro equivalente. variables en su lugar. Incluso si lo define como un tipo entero, en realidad se sintetiza en un tipo reg. // Además, generalmente es mejor no usarlo para declaraciones en código sintetizado. Personalmente, creo que su código será completamente disfuncional.