DUT_API void InitBeforeTestFlow() { VDD.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_ON); VA.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_ON); VB.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_ON); delay_ms(1); VDD.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_OFF); VA.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_OFF); VB.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_OFF); cbit.SetOn(-1); delay_ms(1); }
时间: 2023-07-16 21:12:25 浏览: 32
这段代码看起来是在初始化一些测试设备和设置一些参数,可以看到有三个电压设备 VDD、VA、VB,分别被设置为 0V,电流保持在 100mA 以内,同时设置继电器为开启状态。接着延时 1ms,关闭继电器并设置电压为 0V。最后设置一个 cbit 的状态为 ON,再次延时 1ms。这个函数是在测试流程之前被调用的。
相关问题
DUT_API void InitAfterTestFlow() { VDD.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_ON); VA.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_ON); VB.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_ON); delay_ms(1); VDD.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_OFF); VA.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_OFF); VB.Set(FV,0,FOVI_10V,FOVI_100MA,RELAY_OFF); cbit.SetOn(-1); delay_ms(1);
这段代码看起来像是在进行测试流程的初始化操作,其中涉及到一些电压和继电器的控制。具体来说,它首先将VDD、VA和VB三个电压源设置为10V输出,电流限制为100mA,同时打开对应的继电器;然后等待1毫秒后再将这三个电压源关闭。最后,它将一个名为cbit的变量设置为-1,并再次等待1毫秒。具体这些操作是在做什么,需要根据上下文和代码的其他部分来判断。
sv中`assert_sig_val(tb_top.`DUT_TOP_NAME.`DUT_SUBSYS_WRAP.rcc.system_domain_rstn_o, 1'b0, 0);什么意思
这段 SystemVerilog 代码是一个断言语句,用于在仿真过程中检查系统复位信号的状态是否正确。
具体来说,`tb_top.`DUT_TOP_NAME.`DUT_SUBSYS_WRAP.rcc.system_domain_rstn_o`是一个系统复位信号的名称,其中`tb_top.`表示该信号位于名为`tb_top`的模块中,`DUT_TOP_NAME`是被测设计的顶层模块名称,`DUT_SUBSYS_WRAP`是一个名为`DUT_TOP_NAME`的模块中的子模块名称,`rcc.system_domain_rstn_o`是该子模块中的一个信号输出端口。
该断言语句的意思是,检查该系统复位信号的值是否为逻辑零(`1'b0`),如果不是,则仿真会停止,并输出一个错误信息。在这种情况下,断言会帮助设计人员及时发现并解决问题,提高设计的可靠性和稳定性。