system-verilog

    4热度

    2回答

    是否可以在SystemVerilog中将函数作为参数传递? 这段代码虽然不起作用,但很有希望。任何帮助?谢谢。 module funcparam; int result; function int xxx(int x, ref fun); return fun(x); endfunction function int y

    2热度

    1回答

    我不断收到这个错误,我尝试了各种方法来解决它,但它并没有帮助我。 我希望有人能帮助我。 有问题的代码片段低于: if((HR == AHR) and (MIN == AMIN)) To be exact. always @ (posedge CLK) begin case(state) NORMAL: begin DHR <= HR; DMIN <= MIN;

    4热度

    1回答

    对不起,这个问题不是特定的代码,我相信必须做更多的约定而不是技术上正确或错误的解决方案。可能它可以做到不止一种方式。 我想将一个SystemVerilog模型的内存控制器移植到SystemC,并且想知道什么是翻译run()类型函数(即使用永久循环进行连续处理)的最佳方法,它使用fork生成并加入到SystemC中。这些run()函数通常在仿真开始时产生。我的困惑是SystemC确实支持产卵线程,分

    6热度

    2回答

    返回队列,我不能编译此代码: function integer[$] get_register_name; integer ret[$]; ret.push_back(1); ret.push_back(2); return ret; endfunction 是否有可能从一个函数返回一个队列?

    0热度

    1回答

    我目前有问题,当试图将来自我的模块输入来自我的逻辑变量之一的16位数字。当我在测试台上设置所有位时,我得到一个值:0000000000000001.希望你能帮助! PS:对不起,不知道如何在这里插入代码.... 我的代码如下所示: http://pastebin.com/cZCYKJqV

    4热度

    2回答

    在Python,我可以这样选择偶数或奇数位: >>> bits = ['a','b','c','d']; >>> bits[0::2] ['a', 'c'] >>> bits[1::2] ['b', 'd'] 这将是,如果我能在Verilog中做到这一点非常实用,让我不会有扩大的表达,做手工。扩展版(即{a[0], a[2]}和{a[1], a[3]}),它显然不适用于我的其他参数化导

    6热度

    1回答

    的我已经有了一个寄存器声明为这样: logic signed [15:0][2:0][15:0] registers; 当我把一个2的补数到阵列和算术移位数,逻辑移位代替: registers[0][0] = 16'b1000000000000000; registers[0][0] = registers[0][0]>>>2; 显然,如果数字没有签名,系统将逻辑移位而不是算术移位。然而

    6热度

    3回答

    我有类似下面的伪代码的东西: for (lets say 10 iterations) begin // Do some configuration changes fork begin ///apply input to design end begin while (1) /// at particular

    4热度

    1回答

    我想用SystemVerilog中的标准化内存接口制作一个模块(在我的情况下是DSP),并希望模块中的变量根据所连接接口中的总线宽度自动调整大小。我的基本原理是:通过允许代码自动调整大小到任何连接的接口,代码更加便携,而不需要HDL编码器传入参数,告诉模块将连接到它的所有接口总线的宽度(而不是这将是可怕的,它看起来更干净,没有参数)。 但是,我似乎无法得到这个工作。这里有一个例子说明了这个问题。在

    0热度

    2回答

    类和结构之间的区别很简单,但程序包在哪里适合整个方案。我看到的大部分软件包都有从库文件导入,并在目录中包含其他的sv文件。更具体地说,什么时候软件包通常用于最优编码方案,如果在该级别没有添加特定变量,使用头文件是否更好?谢谢