specman

    2热度

    1回答

    我已经建立了一个(正常工作)记分牌/监视器环境: // Scoreboard : like uvm_scoreboard scbd_port packet_add : add packet_s; scbd_port packet_match : match packet_s; 我添加流: // Monitor: expected_packet_o : out in

    0热度

    2回答

    我有两个事件@A和@B。我想检查在@A出现时,@B是在同一时间发射还是在一些周期后发射。 expect my_check is ((@A and @B) or (@A => {[0..N]; @B}))@clk exec { message(NONE, "my_check"); }; 但是,我可以看到(从消息)TE从仿真开始每个时钟周期成功。这令人费解,因为在这段时间内,A和B都没

    0热度

    1回答

    我熟悉Specman中的collect命令,它返回所有指定方法的扩展。但是,某个结构的show source仅返回基本结构定义,而不是所有扩展。 在Specman中是否有相当于collect的命令,但是对于结构体/单元?

    0热度

    1回答

    我有相同的采样事件@sim两个事件: unit monitor_a_u is { sample_a : interface_port of tlm_analysis of data_item_s is instance; data_a : simple_port of uint(bits:32) is instance; keep data_a.hdl_path()

    0热度

    1回答

    我有一个结构,它有两个字段X和Y,我有几个保持在他们身上,我想在结构本身内同时生成它们多次。 我的需求比较复杂,但这是我面临的主要问题。 我们怎样才能同时生成两个字段? 例子: struct example { X : int; Y : int; keep X < Y; keep Y < 10; keep X+Y > 5; do_so

    1热度

    1回答

    我可以在Specman中的C中定义一个变量吗? 无法从Specman uint发送(位:64)gcc指示错误。 谢谢。

    0热度

    2回答

    我正在Specman E中开发一些RTL检查器,并使用类型转换来处理命令行参数。 的代码如下, if(get_symbol("SWITCH").as_a(uint) > 10) { do something; }; 命令行有一个选项SWITCH = 10。问题是如果没有错误的开关,则测试失败。 *** Error: Looking for a number but found

    0热度

    1回答

    我试图验证两个模块之间的一个非常简单的握手。一个模块处于慢速时钟并提高“请求”,较快的模块应该在下一个快速时钟上提高“确认”并保持它,直到下一个慢速时钟为止。最终的结果是这样的: 这是我写的期待: expect expect_ack_when_req_go is (@req_rise_e) => @ack_rise_e else dut_error("ERROR: ack

    1热度

    1回答

    我有一个单位my_unit与布尔字段my_bool。我需要在my_bool == FALSE时向my_unit添加特定的逻辑。可能吗? unit my_unit { my_bool : bool; when my_bool { // Works fine, I can add logic to my_unit }; when not my_b

    1热度

    1回答

    如果我有一个以'__'开头的字段,那么deep_compare将忽略此字段。为什么? 〔实施例: struct example { a : uint; __b : uint; }; extend sys { var item_1 : example = new; var item_2 : example = new; item_1.a =