在systemverilog中,我可以定义struct,因此可以创建自己的链表 例如,
struct node{
int a;
bit my_assoc_array[string];
node* nextNode;
};
如果我这样做,如何为该结构分配内存?如果这是32位系统,则将为int a分配4个字节。为动态关联数组分配了多少内存以及内存从何处开始?例如,通常一个char数组[10]的初始指针指向头部。
__ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
array| -|-->|...|...|...|...|...|...|...|...|...|...|
-- --- --- --- --- --- --- --- --- --- ---
0 1 2 3 4 5 6 7 8 9
感谢您的帮助。
答案 0 :(得分:1)
SystemVerilog不允许您查看结构的内部表示或与此相关的任何其他数据类型。最接近的是提供对类对象的句柄。但是它确实提供了许多内置数据类型,从而减少了对此类知识的需求。例如,它有一个队列,可为您提供链表的功能。