Cuando queremos probar un sistema digital y verificar su funcionamiento, simplemente escribimos un banco de pruebas y ponemos un poco de estímulo para un DUT. Básicamente, esto implicaría asignar un valor a una señal seguida de una instrucción de espera seguida de otra asignación de señal y una instrucción de espera, y así sucesivamente, hasta que hayamos intentado todas las entradas posibles que deseamos, luego de lo cual la simulación llega a su fin.
Ahora me he topado con algo llamado BFM y quiero saber dónde encaja en el escenario. ¿Existen diferentes tipos de BFM que existen para diferentes tipos de pruebas, ya que habrá (ocasionalmente) docenas de señales en un DUT? Lo que espero es que un BFM (que significa modelo funcional de bus) contiene instrucciones para estimular las señales del DUT. Por lo tanto, en un banco de pruebas simplemente instanciaremos el BFM y su correspondiente DUT y los conectaremos. No se necesita hacer nada más y se debe simular el DUT sin que tengamos que escribir ninguna línea para las asignaciones de señales o declaraciones de espera, ¿es correcto (supongo) mi comprensión?