system-verilog

    0热度

    1回答

    我想分配一个二维数组(特定的位[代码[我] [K])的值。这是一种网络类型。但未分配的值reg [3:0]代码[0:3]的值未知逻辑值为'X'。 这里是代码片段 for(k=0;k<len;k++) begin if (tc[k] == 1'b0) begin code[i][k]= 1'b0;//----> value is not assigning as

    0热度

    2回答

    我是新来的系统Verilog和UVM,我已经看到了这个线程:在 Regex in SV or UVM 我找不到任何地方一个适当的例子使用正则表达式/通配符,我应该使用什么样的语法来强制设计多个连线。 例如: 比方说,我有一个名为my_fifo模块,这是在设计中多次实例化: top.dut.my_fifo_in top.dut.master.my_fifo_a top.dut.slave.axi

    -1热度

    1回答

    我想将字符串转换为十六进制中的相同值。例如 如果string =“abc123”,它的十六进制值也应该是24'habc123。 串的长度是64,所以我将每个字符为十六进制,我会得到的十六进制值的64×4 = 256位 例如如果text_o_cplus.getc(I)=α即97,我应该为它分配一个十六进制值a i'e 4'ha; 但我没有得到正确的方式来做到这一点。这就是我试图 int j=255

    0热度

    1回答

    SystemVerilog中的整数类型与大多数语言一样,在溢出时进行回绕。我想知道这在限制条件下是否也是如此。例如: class Test; rand bit [3:0] a; rand bit [3:0] b; constraint c { a + b <= 4'h6; } endclass; 当随机化这个类的对象,是有可能得到一个解决方案,其中a == 7

    -1热度

    1回答

    我似乎无法读取一个十六进制文件的第4个字节: module file_read(); integer fd,file_char; logic [7:0] captured_data; initial begin fd = $fopen("README.lz4", "rb"); while (!$feof(fd)) begin

    -2热度

    1回答

    我在时序逻辑中有一个case语句(在时钟的posedge处激活一个always块)。该案例正在评估一个变量var,其位宽取决于参数PARAM。我需要涵盖var在案例陈述中可能采用的所有可能值,该值根据PARAM的值而不同。例如,如果PARAM是32,var是5位宽,所以必须有32个情况。如果PARAM是16,则var是4位宽,需要16个案例。这种情况下的陈述也嵌入了一系列陈述中,使我很难想出一种将

    0热度

    1回答

    是什么区别: forever begin **@posedge(clk) begin** if(vif.sof == 1) begin //some code here end end end forever begin **@posedge(clk);** if(vif.sof == 1) begin

    -1热度

    1回答

    我需要预定义的内置SystemVerilog类方法的列表,以更好地使用和理解可以使用SystemVerilog类完成的可能事情。

    0热度

    2回答

    我想连接systemverilog/verilog中的两个字符串来创建信号名称。 在我的下面的代码片段中,lhs方似乎工作正常,但rhs方面没有。 该工具给出错误“bitemp尚未声明”。 如果我通过一个hardcorded值说“0”为“clno”参数,那么它适用于lhs和rhs。 enter code here `define strcat_assign_macro(lhs_prestr,lh

    0热度

    1回答

    我试图实现一个计数模块。我的基本设置: FPGA(带有Xilinx Artix-35T的Digilent Arty)带有连接到信号发生器的IO端口的两条BNC电缆,并通过USB/UART连接到PC以读出数据。我的信号发生器产生1Hz的TTL信号。 我现在想要计算通道1中,通道2中的事件数量以及通道1和2的一致性。尽管基本原理起作用,但我将通道1和2分离,即使它们具有相同的输入(通过BNC-T连接器