/// <summary> /// Creates an instance. /// </summary> /// <param name="userLogic">component under test</param> public AXIMasterUserLogicTestbench(AXIMasterUserLogic userLogic) { user_logic = userLogic; _sig_Bus2IP_Clk = new SLSignal(); _sig_Bus2IP_Resetn = new SLSignal() { InitialValue = '0' }; _sig_Bus2IP_Data = new SLVSignal(userLogic.SLVDWidth) { InitialValue = StdLogicVector.Xs(userLogic.SLVDWidth) }; _sig_Bus2IP_BE = new SLVSignal(userLogic.SLVDWidth / 8) { InitialValue = StdLogicVector._0s(userLogic.SLVDWidth / 8) }; _sig_Bus2IP_RdCE = new SLVSignal(userLogic.NumRegs) { InitialValue = StdLogicVector._0s(userLogic.NumRegs) }; _sig_Bus2IP_WrCE = new SLVSignal(userLogic.NumRegs) { InitialValue = StdLogicVector._0s(userLogic.NumRegs) }; _sig_IP2Bus_Data = new SLVSignal(userLogic.SLVDWidth) { InitialValue = StdLogicVector._0s(userLogic.SLVDWidth) }; _sig_IP2Bus_RdAck = new SLSignal() { InitialValue = '0' }; _sig_IP2Bus_WrAck = new SLSignal() { InitialValue = '0' }; _sig_IP2Bus_Error = new SLSignal() { InitialValue = '0' }; _sig_ip2bus_mstrd_req = new SLSignal() { InitialValue = '0' }; _sig_ip2bus_mstwr_req = new SLSignal() { InitialValue = '0' }; _sig_ip2bus_mst_addr = new SLVSignal(userLogic.MasterAXIAddrWidth) { InitialValue = StdLogicVector.Us(userLogic.MasterAXIAddrWidth) }; _sig_ip2bus_mst_be = new SLVSignal(userLogic.NativeDataWidth/8) { InitialValue = StdLogicVector._1s(userLogic.NativeDataWidth/8) }; _sig_ip2bus_mst_length = new SLVSignal(userLogic.LengthWidth) { InitialValue = StdLogicVector._0s(userLogic.LengthWidth) }; _sig_ip2bus_mst_type = new SLSignal() { InitialValue = '0' }; _sig_ip2bus_mst_lock = new SLSignal() { InitialValue = '0' }; _sig_ip2bus_mst_reset = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mst_cmdack = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mst_cmplt = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mst_error = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mst_rearbitrate = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mst_cmd_timeout = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mstrd_d = new SLVSignal(userLogic.NativeDataWidth); _sig_bus2ip_mstrd_rem = new SLVSignal(userLogic.NativeDataWidth / 8) { InitialValue = StdLogicVector._0s(userLogic.NativeDataWidth / 8) }; _sig_bus2ip_mstrd_sof_n = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mstrd_eof_n = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mstrd_src_rdy_n = new SLSignal() { InitialValue = '1' }; _sig_bus2ip_mstrd_src_dsc_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstrd_dst_rdy_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstrd_dst_dsc_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstwr_d = new SLVSignal(userLogic.NativeDataWidth); _sig_ip2bus_mstwr_rem = new SLVSignal(userLogic.NativeDataWidth / 8) { InitialValue = StdLogicVector._0s(userLogic.NativeDataWidth / 8) }; _sig_ip2bus_mstwr_src_rdy_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstwr_src_dsc_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstwr_sof_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstwr_eof_n = new SLSignal() { InitialValue = '1' }; _sig_bus2ip_mstwr_dst_rdy_n = new SLSignal() { InitialValue = '1' }; _sig_bus2ip_mstwr_dst_dsc_n = new SLSignal() { InitialValue = '1' }; userLogic.Bus2IP_Clk = _sig_Bus2IP_Clk; userLogic.Bus2IP_BE = _sig_Bus2IP_BE; userLogic.Bus2IP_Clk = _sig_Bus2IP_Clk; userLogic.Bus2IP_Data = _sig_Bus2IP_Data; userLogic.Bus2IP_RdCE = _sig_Bus2IP_RdCE; userLogic.Bus2IP_Resetn = _sig_Bus2IP_Resetn; userLogic.Bus2IP_WrCE = _sig_Bus2IP_WrCE; userLogic.IP2Bus_Data = _sig_IP2Bus_Data; userLogic.IP2Bus_Error = _sig_IP2Bus_Error; userLogic.IP2Bus_RdAck = _sig_IP2Bus_RdAck; userLogic.IP2Bus_WrAck = _sig_IP2Bus_WrAck; userLogic.ip2bus_mstrd_req = _sig_ip2bus_mstrd_req; userLogic.ip2bus_mstwr_req = _sig_ip2bus_mstwr_req; userLogic.ip2bus_mst_addr = _sig_ip2bus_mst_addr; userLogic.ip2bus_mst_be = _sig_ip2bus_mst_be; userLogic.ip2bus_mst_length = _sig_ip2bus_mst_length; userLogic.ip2bus_mst_type = _sig_ip2bus_mst_type; userLogic.ip2bus_mst_lock = _sig_ip2bus_mst_lock; userLogic.ip2bus_mst_reset = _sig_ip2bus_mst_reset; userLogic.bus2ip_mst_cmdack = _sig_bus2ip_mst_cmdack; userLogic.bus2ip_mst_cmplt = _sig_bus2ip_mst_cmplt; userLogic.bus2ip_mst_error = _sig_bus2ip_mst_error; userLogic.bus2ip_mst_rearbitrate = _sig_bus2ip_mst_rearbitrate; userLogic.bus2ip_mst_cmd_timeout = _sig_bus2ip_mst_cmd_timeout; userLogic.bus2ip_mstrd_d = _sig_bus2ip_mstrd_d; userLogic.bus2ip_mstrd_rem = _sig_bus2ip_mstrd_rem; userLogic.bus2ip_mstrd_sof_n = _sig_bus2ip_mstrd_sof_n; userLogic.bus2ip_mstrd_eof_n = _sig_bus2ip_mstrd_eof_n; userLogic.bus2ip_mstrd_src_rdy_n = _sig_bus2ip_mstrd_src_rdy_n; userLogic.bus2ip_mstrd_src_dsc_n = _sig_bus2ip_mstrd_src_dsc_n; userLogic.ip2bus_mstrd_dst_rdy_n = _sig_ip2bus_mstrd_dst_rdy_n; userLogic.ip2bus_mstrd_dst_dsc_n = _sig_ip2bus_mstrd_dst_dsc_n; userLogic.ip2bus_mstwr_d = _sig_ip2bus_mstwr_d; userLogic.ip2bus_mstwr_rem = _sig_ip2bus_mstwr_rem; userLogic.ip2bus_mstwr_src_rdy_n = _sig_ip2bus_mstwr_src_rdy_n; userLogic.ip2bus_mstwr_src_dsc_n = _sig_ip2bus_mstwr_src_dsc_n; userLogic.ip2bus_mstwr_sof_n = _sig_ip2bus_mstwr_sof_n; userLogic.ip2bus_mstwr_eof_n = _sig_ip2bus_mstwr_eof_n; userLogic.bus2ip_mstwr_dst_rdy_n = _sig_bus2ip_mstwr_dst_rdy_n; userLogic.bus2ip_mstwr_dst_dsc_n = _sig_bus2ip_mstwr_dst_dsc_n; _clockGen = new Clock(new Time(10.0, ETimeUnit.ns)) { Clk = _sig_Bus2IP_Clk }; }
/// <summary> /// Creates an instance. /// </summary> /// <param name="userLogic">component under test</param> public AXIMasterUserLogicTestbench(AXIMasterUserLogic userLogic) { user_logic = userLogic; _sig_Bus2IP_Clk = new SLSignal(); _sig_Bus2IP_Resetn = new SLSignal() { InitialValue = '0' }; _sig_Bus2IP_Data = new SLVSignal(userLogic.SLVDWidth) { InitialValue = StdLogicVector.Xs(userLogic.SLVDWidth) }; _sig_Bus2IP_BE = new SLVSignal(userLogic.SLVDWidth / 8) { InitialValue = StdLogicVector._0s(userLogic.SLVDWidth / 8) }; _sig_Bus2IP_RdCE = new SLVSignal(userLogic.NumRegs) { InitialValue = StdLogicVector._0s(userLogic.NumRegs) }; _sig_Bus2IP_WrCE = new SLVSignal(userLogic.NumRegs) { InitialValue = StdLogicVector._0s(userLogic.NumRegs) }; _sig_IP2Bus_Data = new SLVSignal(userLogic.SLVDWidth) { InitialValue = StdLogicVector._0s(userLogic.SLVDWidth) }; _sig_IP2Bus_RdAck = new SLSignal() { InitialValue = '0' }; _sig_IP2Bus_WrAck = new SLSignal() { InitialValue = '0' }; _sig_IP2Bus_Error = new SLSignal() { InitialValue = '0' }; _sig_ip2bus_mstrd_req = new SLSignal() { InitialValue = '0' }; _sig_ip2bus_mstwr_req = new SLSignal() { InitialValue = '0' }; _sig_ip2bus_mst_addr = new SLVSignal(userLogic.MasterAXIAddrWidth) { InitialValue = StdLogicVector.Us(userLogic.MasterAXIAddrWidth) }; _sig_ip2bus_mst_be = new SLVSignal(userLogic.NativeDataWidth / 8) { InitialValue = StdLogicVector._1s(userLogic.NativeDataWidth / 8) }; _sig_ip2bus_mst_length = new SLVSignal(userLogic.LengthWidth) { InitialValue = StdLogicVector._0s(userLogic.LengthWidth) }; _sig_ip2bus_mst_type = new SLSignal() { InitialValue = '0' }; _sig_ip2bus_mst_lock = new SLSignal() { InitialValue = '0' }; _sig_ip2bus_mst_reset = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mst_cmdack = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mst_cmplt = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mst_error = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mst_rearbitrate = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mst_cmd_timeout = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mstrd_d = new SLVSignal(userLogic.NativeDataWidth); _sig_bus2ip_mstrd_rem = new SLVSignal(userLogic.NativeDataWidth / 8) { InitialValue = StdLogicVector._0s(userLogic.NativeDataWidth / 8) }; _sig_bus2ip_mstrd_sof_n = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mstrd_eof_n = new SLSignal() { InitialValue = '0' }; _sig_bus2ip_mstrd_src_rdy_n = new SLSignal() { InitialValue = '1' }; _sig_bus2ip_mstrd_src_dsc_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstrd_dst_rdy_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstrd_dst_dsc_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstwr_d = new SLVSignal(userLogic.NativeDataWidth); _sig_ip2bus_mstwr_rem = new SLVSignal(userLogic.NativeDataWidth / 8) { InitialValue = StdLogicVector._0s(userLogic.NativeDataWidth / 8) }; _sig_ip2bus_mstwr_src_rdy_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstwr_src_dsc_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstwr_sof_n = new SLSignal() { InitialValue = '1' }; _sig_ip2bus_mstwr_eof_n = new SLSignal() { InitialValue = '1' }; _sig_bus2ip_mstwr_dst_rdy_n = new SLSignal() { InitialValue = '1' }; _sig_bus2ip_mstwr_dst_dsc_n = new SLSignal() { InitialValue = '1' }; userLogic.Bus2IP_Clk = _sig_Bus2IP_Clk; userLogic.Bus2IP_BE = _sig_Bus2IP_BE; userLogic.Bus2IP_Clk = _sig_Bus2IP_Clk; userLogic.Bus2IP_Data = _sig_Bus2IP_Data; userLogic.Bus2IP_RdCE = _sig_Bus2IP_RdCE; userLogic.Bus2IP_Resetn = _sig_Bus2IP_Resetn; userLogic.Bus2IP_WrCE = _sig_Bus2IP_WrCE; userLogic.IP2Bus_Data = _sig_IP2Bus_Data; userLogic.IP2Bus_Error = _sig_IP2Bus_Error; userLogic.IP2Bus_RdAck = _sig_IP2Bus_RdAck; userLogic.IP2Bus_WrAck = _sig_IP2Bus_WrAck; userLogic.ip2bus_mstrd_req = _sig_ip2bus_mstrd_req; userLogic.ip2bus_mstwr_req = _sig_ip2bus_mstwr_req; userLogic.ip2bus_mst_addr = _sig_ip2bus_mst_addr; userLogic.ip2bus_mst_be = _sig_ip2bus_mst_be; userLogic.ip2bus_mst_length = _sig_ip2bus_mst_length; userLogic.ip2bus_mst_type = _sig_ip2bus_mst_type; userLogic.ip2bus_mst_lock = _sig_ip2bus_mst_lock; userLogic.ip2bus_mst_reset = _sig_ip2bus_mst_reset; userLogic.bus2ip_mst_cmdack = _sig_bus2ip_mst_cmdack; userLogic.bus2ip_mst_cmplt = _sig_bus2ip_mst_cmplt; userLogic.bus2ip_mst_error = _sig_bus2ip_mst_error; userLogic.bus2ip_mst_rearbitrate = _sig_bus2ip_mst_rearbitrate; userLogic.bus2ip_mst_cmd_timeout = _sig_bus2ip_mst_cmd_timeout; userLogic.bus2ip_mstrd_d = _sig_bus2ip_mstrd_d; userLogic.bus2ip_mstrd_rem = _sig_bus2ip_mstrd_rem; userLogic.bus2ip_mstrd_sof_n = _sig_bus2ip_mstrd_sof_n; userLogic.bus2ip_mstrd_eof_n = _sig_bus2ip_mstrd_eof_n; userLogic.bus2ip_mstrd_src_rdy_n = _sig_bus2ip_mstrd_src_rdy_n; userLogic.bus2ip_mstrd_src_dsc_n = _sig_bus2ip_mstrd_src_dsc_n; userLogic.ip2bus_mstrd_dst_rdy_n = _sig_ip2bus_mstrd_dst_rdy_n; userLogic.ip2bus_mstrd_dst_dsc_n = _sig_ip2bus_mstrd_dst_dsc_n; userLogic.ip2bus_mstwr_d = _sig_ip2bus_mstwr_d; userLogic.ip2bus_mstwr_rem = _sig_ip2bus_mstwr_rem; userLogic.ip2bus_mstwr_src_rdy_n = _sig_ip2bus_mstwr_src_rdy_n; userLogic.ip2bus_mstwr_src_dsc_n = _sig_ip2bus_mstwr_src_dsc_n; userLogic.ip2bus_mstwr_sof_n = _sig_ip2bus_mstwr_sof_n; userLogic.ip2bus_mstwr_eof_n = _sig_ip2bus_mstwr_eof_n; userLogic.bus2ip_mstwr_dst_rdy_n = _sig_bus2ip_mstwr_dst_rdy_n; userLogic.bus2ip_mstwr_dst_dsc_n = _sig_bus2ip_mstwr_dst_dsc_n; _clockGen = new Clock(new Time(10.0, ETimeUnit.ns)) { Clk = _sig_Bus2IP_Clk }; }