Resumen de la estructura UVM.

1. uvm_top

  • uvm_top es la única instancia de la clase uvm_root, creada y administrada por UVM, y su dominio es uvm_pkg.
  • uvm_top es el nivel superior de todos los componentes de prueba. Todos los componentes en el entorno de verificación deben especificar su nivel principal cuando se crean. Si algunos componentes especifican el parámetro principal como nulo cuando se crean, pertenecerán directamente a uvm_top.
  • uvm_top proporciona una serie de métodos para controlar la simulación, como el mecanismo de fase, objeciones para evitar que la simulación salga del mecanismo, etc.

 Dos, uvm_test

  • La clase de prueba es la estructura de nivel superior de clases personalizadas. Todas las clases de prueba deben heredar de uvm_test; de lo contrario, uvm_top no lo reconocerá y la prueba no se podrá iniciar.
  • Los objetivos de la prueba incluyen: proporcionar diferentes configuraciones, incluida la configuración de la estructura del entorno, la configuración del modo de prueba, etc., y luego crear un entorno de verificación; crear una instancia de una secuencia de prueba y montarla en el secuenciador de destino, para que pueda ordenar al controlador que enviar incentivos.
     

 3. Los principales componentes del entorno de construcción.

componente_uvm

  • Heredado de uvm_report_object(heredado adicionalmente del objeto), que proporciona métodos de mensaje.
  • Todos los componentes del entorno de validación heredan de uvm_component.
  • Administrar los niveles de autenticación.

uvm_env

  • Heredado de uvm_component.
  • No hay funciones adicionales.
  • Se utiliza para proporcionar un contenedor para la estructura del entorno de validación.

y mucho más_prueba

  • Heredado de uvm_component.
  • No hay funciones adicionales.
  • Se utiliza para proporcionar uvm_envconfiguración adicional y montar incentivos para el par.

Cuatro, uvm_component

Esta clase es una clase virtual, todos los componentes ambientales heredan de esta clase y todas las subclases heredadas de esta clase se denominan componentes o componentes ambientales. Dado que todos los componentes del entorno heredan de uvm_component, UVM también puede proporcionar una forma unificada de gestionar la jerarquía y los métodos de los componentes.

Esta clase proporciona las siguientes interfaces o API:

  • Estructuras como get_full_name(), get_parent(), get_num_children()
  • Mecanismo de fase, como build_phase(), connect_phase(), run_phase()
  • Mecanismo de configuración, como print_config(), print_override_info()
  • Mecanismo de informe (informe), como report_hook(), set_report_verbosity_level_hier()
  • registro de transacciones, como record()
  • Mecanismo de fábrica, como set_inst_override(), set_type_override()
     

Para el constructor de un componente, la forma fija es:

function new(string name, uvm_component parent);
  • El nombre de cadena se usa para declarar el nombre del componente instanciado actualmente, que se usa para combinarse automáticamente con su nivel principal para formar el nombre jerárquico completo del componente, que se puede obtener mediante el método get_full_name().
  • uvm_component parent se usa para indicar el identificador principal instanciado, generalmente al que esto hace referencia, es decir, instanciado en el componente principal actual.
  • uvm_object no participa en la construcción jerárquica de componentes, por lo que solo hay un nombre de cadena de parámetro formal.
     

Supongo que te gusta

Origin blog.csdn.net/Arvin_ing/article/details/127676137
Recomendado
Clasificación