zoukankan      html  css  js  c++  java
  • how to set interface arrays : Illegal index into array of interfaces

    error information

    Illegal index into array of interfaces

     

    the reason 

    link 

    http://forums.accellera.org/topic/677-ies-102-using-config-db-to-set-array-of-interfaces/
     

    https://forum.verificationacademy.com/forum/verification-methodology-discussion-forum/uvm-forum/24462-setting-array-interfaces-uvm-config-database
    copy as

    The problem is that an array of instances (module, interface, or program), is not the same as an aggregate data type you know as an array variable. An array variable is a collection of identically typed elements.

    With an array variable, you know what arrayvar[1].somthing refers to is identical in definition to arrayvar[2].something, except that is located somewhere else memory. You can simply multiply the variable index value by some constant value to find the offset in memory where it is located.

    An array of instances is just a shortcut for declaring a set of numbered instances. Because of Verilog generate and parameter overrides statements, with an array of instances, you don't necessarily have a regular array. It's possible what arrayinst[1].something refers to something completely different than what arrayinst[2].something does. So the compiler requires a constant index value to know what that particular something is. You typically use a generate/for_loop to do this.

     

    and please note

    What you need to do is pull the loop outside the initial block

    code snippet
    for(genvar i=0;i<N;i++) begin : for_loop 
    initial begin : config
    string if_name;
    $sformat(if_name, "IF[%0d]", i);
    uvm_config_db#(virtual my_if_type)::set(uvm_root::get(), "*", if_name, my_if[i]);
    end : config
    end : for_loop
  • 相关阅读:
    android基本架构
    c#编辑框只接受数字
    listbox数据源绑定问题
    QQ在线客服代码
    用VB生成DLL封装ASP代码例子
    C#,关于DataGridView的一些方法
    转:ASP.NET中引用dll“找不到指定模块"的完美解决办法
    编译asp.net文件为dll文件
    好看的表格样式
    网站IIS日志解读
  • 原文地址:https://www.cnblogs.com/testset/p/3447590.html
Copyright © 2011-2022 走看看