Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

OVM : An OVM Register Package V 1.1(その5)

Verification Engineerの戯言

例題のIP-XACTファイルに対して、OVMのクラスは次のように対応しているようです。

    トップ階層からの<spirit:name>rgm_example_rdb</spirit:name> 
                      => class rgm_example_rdb extends rgm_rdb

    トップ階層からの<spirit:memoryMaps>

         <spirit:memoryMap>
          <spirit:name>xa0</spirit:name>

                  <spirit:vendorExtensions>

                  <vendorExtensions:type>xbus_am</vendorExtensions:type>

                      => class xbus_am extends  rgm_address_map

    トップ階層からの<spirit:memoryMaps>

         <spirit:memoryMap>
          <spirit:name>xa0</spirit:name>

          <spirit:addressBlock>
           <spirit:name>xbus_rf</spirit:name>

		   <vendorExtensions:type>xbus_rf_type</vendorExtensions:type>
                      => class xbus_rf_type extends rgm_reg_file

    トップ階層からの<spirit:memoryMaps>

	     <spirit:memoryMaps>
          <spirit:memoryMap>

           <spirit:name>xa0</spirit:name>

           <spirit:addressBlock>

			<spirit:register>

			 <spirit:name>data_reg</spirit:name>

			 <vendorExtensions:type>xbus_data_reg</vendorExtensions:type>

           = class xbus_data_reg extends rgm_reg

    トップ階層からの<spirit:memoryMaps>

	     <spirit:memoryMaps>
          <spirit:memoryMap>

           <spirit:name>xa0</spirit:name>

           <spirit:addressBlock>

			<spirit:register>

			 <spirit:name>config_reg</spirit:name>

			 <vendorExtensions:type>xbus_config_reg</vendorExtensions:type>

           = class xbus_config_reg extends rgm_reg

rgm_rdb以外は、すべて<vendorExtensions:type>で拡張しております。

<vendorExtensions:type>でクラス名を、<sprit:name>インスタンス名を指定しています。

    xbus_am xa0; 
    xbus_rf_type xbus_rf;
    xbus_data_reg data_reg; 
    xbus_config_reg config_reg; 

検証、Verification、SystemVerilog、OVM、Open Verification Methodology