在verilog代码设计中,经常会碰见inout的io信号,验证平台中如何连接这类inout信号呢?sim_top中inout信号的连接:
- inout信号意思是有一段是平台激励dut,有一段是dut发送出来的数据,所以不能单纯的按照dut的输入信号,进行force激励,也不能单纯的按照dut的输出信号,进行assign连接,如果单纯的连接为force、assign,会导致仿真结果异常(已通过波形确认);
- 下代码是sim_top中的连接代码,第一种方式可以实现既定的inout功能,第二种方式不能实现既定的inout功能;
- 问题:到底这两种连接方式有何不同?(估计inout 使用assign不行--L大佬所说)
- ps:io_data是A模块中一个inout的单bit信号,比如mdio时序中的mdio信号;
//正确
A A_inst(.io_data(mo_intf.io_data_tmp));
//错误
assign A_inst.io_data = mo_intf.io_data_tmp;