system-verilog

    -2热度

    1回答

    VCS选项目录 我在一个生成文件的工作让我给你快速查看 VCS是工具,+incdir+<dir_path>是语法 当我这样做+incdir+${[email protected]_${seed}}它不工作 ${seed}是变量,我在我的生成文件开始定义 Regards, Vinay

    2热度

    3回答

    我正在将一些SystemVerilog移植到SystemC/C++,并且遇到了多维关联数组的问题。考虑在SV中声明这个数组。 // assume typ_one, typ_two, typ_three are struct or enum types typ_one mda[typ_two][typ_two][typ_three]; 我知道与1-d关联数组我可以用一张地图,并与2-d阵列的嵌

    2热度

    2回答

    我试图将一些SystemVerilog代码移植到C++/SystemC,并且在一些行中我看到奇怪的数组索引。这是我看到的简化版本。 typedef enum bit [2:0] {enu_red, enu_blue, enu_green} typ_enum; typedef struct packed { bit [3:0] field1; bit [3:0] field2

    3热度

    2回答

    我正在将一些SystemVerilog代码移植到SystemC/C++。我使用std :: bitset来表示位向量,但我可以看到它已经不能提供访问切片的方法。 例如,如果我想设置REG1至位REG2的4-8 SystemVerilog的代码: bit [3:0] reg1; bit [15:0] reg2; reg1 = reg2[7:4]; 我怎么能做到这一点用的std :: bits

    1热度

    4回答

    在ModelSim的用细绳连接一个字节,下面的代码工作得很好: string r; string s; // ...assign some string to s... integer i; r = ""; for (i=s.len()-1; i>=0; i=i-1) begin if (s[i] != "\n") begin r = {s[i], r};

    0热度

    1回答

    我正在写左移寄存器的verilog代码,它在每个子寄存器移位后存储它的值。我可以定义输出寄存器,这样阵列,所提供的代码只是一个简单的例子来说明该概念不我的代码, module test(a,b,c); input a,b; output [7:0] c [3:0]; endmodule 代替 module test(a,b,c1,c2,c3,c4); input a,b; outpu

    1热度

    3回答

    这是一个简单的SystemVerilog问题,我很难找到答案。 在这种位阵列初始化语法中,b [0]部分是分配给最高有效位还是最低有效位? bit a[7:0]; bit b[7:0] = 8'hff; bit c[7:0] = 8'h00; a = {b[0], c[6:0]}; 那么[0] == 1或[7] == 1?

    12热度

    2回答

    运行在verilog中的$size和$bits运算符有什么区别? 如果我有变数,[9:0]a,[6:0]b,[31:0]c。 c <= [($size(a)+$size(b)-1]-:$bits(b)]; 从上述表达式'c'的输出是什么?

    1热度

    3回答

    我在那里类param0和param1声明一个包。 有人能解释我为什么这些类 (ex:param0 = new()) 的实例应该在顶层模块上进行,并包本身不直接里面? 我想在包内部做的原因是在类param1中使用param0类的一些参数。

    3热度

    3回答

    我将SystemVerilog中的代码移植到SystemC。 SV很容易将位/逻辑的压缩结构解释为单个位/逻辑向量。例如: typedef struct logic { logic [31:0] blk1; //63:32 logic [4:0] blk2; //31:27 logic [2:0] blk3; //26:24 logic [4:0] blk4