dump.v.padio 9.21 KB
// dump.v v1 Frank Berndt
// dump control module;
// :set tabstop=4

module dump;

	// turn on dumping globally or on a per-module basis;
	// set the dump flag instead of $dumpon or $dumpoff;

	reg dump;

	initial
	begin
		dump = 0;
		$dumpoff;
		if($test$plusargs("dump_all")) $dumpvars;
		if($test$plusargs("dump_bb")) $dumpvars(0, vsim.bb);
		if($test$plusargs("dump_cpu")) $dumpvars(0, vsim.bb.cpu);
		if($test$plusargs("dump_bcp")) $dumpvars(0, vsim.bb.bcp);
		if($test$plusargs("dump_arb")) $dumpvars(0, vsim.bb.bcp.arb);
		if($test$plusargs("dump_mi")) $dumpvars(0, vsim.bb.bcp.mi);
		if($test$plusargs("dump_ri")) $dumpvars(0, vsim.bb.bcp.ri);
		if($test$plusargs("dump_pi")) $dumpvars(0, vsim.bb.bcp.pi);
		if($test$plusargs("dump_si")) $dumpvars(0, vsim.bb.bcp.si);
		if($test$plusargs("dump_rsp")) $dumpvars(0, vsim.bb.bcp.rsp);
		if($test$plusargs("dump_rdp")) $dumpvars(0, vsim.bb.bcp.rdp);
		if($test$plusargs("dump_vi")) $dumpvars(0, vsim.bb.bcp.vi);
		if($test$plusargs("dump_ai")) $dumpvars(0, vsim.bb.bcp.ai);
		if($test$plusargs("dump_ui")) begin
			$dumpvars(0, vsim.bb.bcp.ui);
			$dumpvars(0, vsim.usb_tests);
		end
		if($test$plusargs("dump_vsim")) $dumpvars(1, vsim);
		if($test$plusargs("dump")) begin
			dump = 1;
			$dumpvars(1, vsim.bb.bcp.sysclk);
			$dumpvars(1, vsim.bb.bcp.reset_l);
			$dumpvars(1, vsim.bb.bcp.vclock);
			$dumpvars(1, vsim.bb.bcp.memclk);
		end
		dump = 1;

		$dumpvars(1, vsim.bb.PAD_ACLOCK);
		$dumpvars(1, vsim.bb.PAD_ADATA);
		$dumpvars(1, vsim.bb.PAD_AWORD);
		$dumpvars(1, vsim.bb.PAD_BUTTON);
		$dumpvars(1, vsim.bb.PAD_FL_ALE);
		$dumpvars(1, vsim.bb.PAD_FL_CE0);
		$dumpvars(1, vsim.bb.PAD_FL_CE1);
		$dumpvars(1, vsim.bb.PAD_FL_CE2);
		$dumpvars(1, vsim.bb.PAD_FL_CE3);
		$dumpvars(1, vsim.bb.PAD_FL_CLE);
		$dumpvars(1, vsim.bb.PAD_FL_MD);
		$dumpvars(1, vsim.bb.PAD_FL_RE);
		$dumpvars(1, vsim.bb.PAD_FL_RYBY);
		$dumpvars(1, vsim.bb.PAD_FL_WE);
		$dumpvars(1, vsim.bb.PAD_FL_WP);
		$dumpvars(1, vsim.bb.nr_rgpio_oe0);
		$dumpvars(1, vsim.bb.PAD_GPIO0);
		$dumpvars(1, vsim.bb.nr_rgpio_oe1);
		$dumpvars(1, vsim.bb.PAD_GPIO1);
		$dumpvars(1, vsim.bb.nr_rgpio_oe2);
		$dumpvars(1, vsim.bb.PAD_GPIO2);
		$dumpvars(1, vsim.bb.nr_rgpio_oe3);
		$dumpvars(1, vsim.bb.PAD_GPIO3);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.rio_oe_0_);
`else
		$dumpvars(1, vsim.bb.nr_rio_oe0);
`endif
		$dumpvars(1, vsim.bb.PAD_IO_AD0);
		$dumpvars(1, vsim.bb.PAD_IO_AD1);
		$dumpvars(1, vsim.bb.PAD_IO_AD2);
		$dumpvars(1, vsim.bb.PAD_IO_AD3);
		$dumpvars(1, vsim.bb.PAD_IO_AD4);
		$dumpvars(1, vsim.bb.PAD_IO_AD5);
		$dumpvars(1, vsim.bb.PAD_IO_AD6);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.rio_oe_1_);
`else
		$dumpvars(1, vsim.bb.nr_rio_oe1);
`endif
		$dumpvars(1, vsim.bb.PAD_IO_AD7);
		$dumpvars(1, vsim.bb.PAD_IO_AD8);
		$dumpvars(1, vsim.bb.PAD_IO_AD9);
		$dumpvars(1, vsim.bb.PAD_IO_AD10);
		$dumpvars(1, vsim.bb.PAD_IO_AD11);
		$dumpvars(1, vsim.bb.PAD_IO_AD12);
		$dumpvars(1, vsim.bb.PAD_IO_AD13);
		$dumpvars(1, vsim.bb.PAD_IO_AD14);
		$dumpvars(1, vsim.bb.PAD_IO_AD15);
		$dumpvars(1, vsim.bb.PAD_IO_ALE);
		$dumpvars(1, vsim.bb.PAD_IO_CS0);
		$dumpvars(1, vsim.bb.PAD_IO_CS1);
		$dumpvars(1, vsim.bb.PAD_IO_CS2);
		$dumpvars(1, vsim.bb.PAD_IO_CS3);
		$dumpvars(1, vsim.bb.PAD_IO_DMACK);
		$dumpvars(1, vsim.bb.PAD_IO_DMARQ);
		$dumpvars(1, vsim.bb.PAD_IO_INTR);
		$dumpvars(1, vsim.bb.PAD_IO_IOR);
		$dumpvars(1, vsim.bb.PAD_IO_IOW);
		$dumpvars(1, vsim.bb.PAD_IO_RST);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.jchan_oe_1_);
`else
		$dumpvars(1, vsim.bb.jchan1_oe);
`endif
		$dumpvars(1, vsim.bb.PAD_JCHAN1);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.jchan_oe_2_);
`else
		$dumpvars(1, vsim.bb.jchan2_oe);
`endif
		$dumpvars(1, vsim.bb.PAD_JCHAN2);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.jchan_oe_3_);
`else
		$dumpvars(1, vsim.bb.jchan3_oe);
`endif
		$dumpvars(1, vsim.bb.PAD_JCHAN3);
		$dumpvars(1, vsim.bb.PAD_JTAG_EN);
		$dumpvars(1, vsim.bb.PAD_LX0);
		$dumpvars(1, vsim.bb.PAD_LX1);
		$dumpvars(1, vsim.bb.PAD_LY0);
		$dumpvars(1, vsim.bb.PAD_LY1);
		$dumpvars(1, vsim.bb.PAD_MADDR0);
		$dumpvars(1, vsim.bb.PAD_MADDR1);
		$dumpvars(1, vsim.bb.PAD_MADDR2);
		$dumpvars(1, vsim.bb.PAD_MADDR3);
		$dumpvars(1, vsim.bb.PAD_MADDR4);
		$dumpvars(1, vsim.bb.PAD_MADDR5);
		$dumpvars(1, vsim.bb.PAD_MADDR6);
		$dumpvars(1, vsim.bb.PAD_MADDR7);
		$dumpvars(1, vsim.bb.PAD_MADDR8);
		$dumpvars(1, vsim.bb.PAD_MADDR9);
		$dumpvars(1, vsim.bb.PAD_MADDR10);
		$dumpvars(1, vsim.bb.PAD_MADDR11);
		$dumpvars(1, vsim.bb.PAD_MADDR12);
		$dumpvars(1, vsim.bb.PAD_MBANK0);
		$dumpvars(1, vsim.bb.PAD_MBANK1);
		$dumpvars(1, vsim.bb.PAD_MCAS);
		$dumpvars(1, vsim.bb.PAD_MCKE);
		$dumpvars(1, vsim.bb.PAD_MCLK0);
		$dumpvars(1, vsim.bb.PAD_MCLK1);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.ddr_moe_0_);
`else
		$dumpvars(1, vsim.bb.ddr_moe[0]);
`endif

		$dumpvars(1, vsim.bb.PAD_MDATA0);
		$dumpvars(1, vsim.bb.PAD_MDATA1);
		$dumpvars(1, vsim.bb.PAD_MDATA2);
		$dumpvars(1, vsim.bb.PAD_MDATA3);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.ddr_moe_1_);
`else
		$dumpvars(1, vsim.bb.ddr_moe[1]);
`endif
		$dumpvars(1, vsim.bb.PAD_MDATA4);
		$dumpvars(1, vsim.bb.PAD_MDATA5);
		$dumpvars(1, vsim.bb.PAD_MDATA6);
		$dumpvars(1, vsim.bb.PAD_MDATA7);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.ddr_moe_2_);
`else
		$dumpvars(1, vsim.bb.ddr_moe[2]);
`endif
		$dumpvars(1, vsim.bb.PAD_MDATA8);
		$dumpvars(1, vsim.bb.PAD_MDATA9);
		$dumpvars(1, vsim.bb.PAD_MDATA10);
		$dumpvars(1, vsim.bb.PAD_MDATA11);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.ddr_moe_3_);
`else
		$dumpvars(1, vsim.bb.ddr_moe[3]);
`endif
		$dumpvars(1, vsim.bb.PAD_MDATA12);
		$dumpvars(1, vsim.bb.PAD_MDATA13);
		$dumpvars(1, vsim.bb.PAD_MDATA14);
		$dumpvars(1, vsim.bb.PAD_MDATA15);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.ddr_moe_4_);
`else
		$dumpvars(1, vsim.bb.ddr_moe[4]);
`endif
		$dumpvars(1, vsim.bb.PAD_MDATA16);
		$dumpvars(1, vsim.bb.PAD_MDATA17);
		$dumpvars(1, vsim.bb.PAD_MDATA18);
		$dumpvars(1, vsim.bb.PAD_MDATA19);
		$dumpvars(1, vsim.bb.PAD_MDATA20);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.ddr_moe_5_);
`else
		$dumpvars(1, vsim.bb.ddr_moe[5]);
`endif
		$dumpvars(1, vsim.bb.PAD_MDATA21);
		$dumpvars(1, vsim.bb.PAD_MDATA22);
		$dumpvars(1, vsim.bb.PAD_MDATA23);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.ddr_moe_6_);
`else
		$dumpvars(1, vsim.bb.ddr_moe[6]);
`endif
		$dumpvars(1, vsim.bb.PAD_MDATA24);
		$dumpvars(1, vsim.bb.PAD_MDATA25);
		$dumpvars(1, vsim.bb.PAD_MDATA26);
		$dumpvars(1, vsim.bb.PAD_MDATA27);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.ddr_moe_7_);
`else
		$dumpvars(1, vsim.bb.ddr_moe[7]);
`endif
		$dumpvars(1, vsim.bb.PAD_MDATA28);
		$dumpvars(1, vsim.bb.PAD_MDATA29);
		$dumpvars(1, vsim.bb.PAD_MDATA30);
		$dumpvars(1, vsim.bb.PAD_MDATA31);
		$dumpvars(1, vsim.bb.PAD_MDQM0);
		$dumpvars(1, vsim.bb.PAD_MDQM1);
		$dumpvars(1, vsim.bb.PAD_MDQM2);
		$dumpvars(1, vsim.bb.PAD_MDQM3);
		//$dumpvars(1, vsim.bb.ddr_moe[0]);
		$dumpvars(1, vsim.bb.PAD_MDQS0);
		//$dumpvars(1, vsim.bb.ddr_moe[2]);
		$dumpvars(1, vsim.bb.PAD_MDQS1);
		//$dumpvars(1, vsim.bb.ddr_moe[4]);
		$dumpvars(1, vsim.bb.PAD_MDQS2);
		//$dumpvars(1, vsim.bb.ddr_moe[6]);
		$dumpvars(1, vsim.bb.PAD_MDQS3);
		$dumpvars(1, vsim.bb.PAD_MRAS);
		$dumpvars(1, vsim.bb.PAD_MWE);
		$dumpvars(1, vsim.bb.PAD_NECTRST);
		$dumpvars(1, vsim.bb.PAD_NRING_ENL);
		$dumpvars(1, vsim.bb.PAD_RST_L);
		$dumpvars(1, vsim.bb.PAD_SYSCLK);
		$dumpvars(1, vsim.bb.PAD_TCK);
		$dumpvars(1, vsim.bb.PAD_TDI);
		$dumpvars(1, vsim.bb.tdo_en);
		$dumpvars(1, vsim.bb.PAD_TDO);
		$dumpvars(1, vsim.bb.PAD_TMC);
		$dumpvars(1, vsim.bb.PAD_TMC1);
		$dumpvars(1, vsim.bb.PAD_TMC2);
		$dumpvars(1, vsim.bb.PAD_TMS);
		$dumpvars(1, vsim.bb.PAD_TRST);
		$dumpvars(1, vsim.bb.usb_d_low_en0);
		$dumpvars(1, vsim.bb.PAD_USB_D_LOW_N0);
		$dumpvars(1, vsim.bb.usb_d_low_en1);
		$dumpvars(1, vsim.bb.PAD_USB_D_LOW_N1);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.usbxr_oen_0_);
		$dumpvars(1, vsim.bb.usbxr_ien_0_);
`else
		$dumpvars(1, vsim.bb.usbxr_oen[0]);
		$dumpvars(1, vsim.bb.usbxr_ien[0]);
`endif
		$dumpvars(1, vsim.bb.PAD_USB_DMINUS0);
		$dumpvars(1, vsim.bb.PAD_USB_DPLUS0);
`ifdef SIMGATE
		$dumpvars(1, vsim.bb.usbxr_oen_1_);
		$dumpvars(1, vsim.bb.usbxr_ien_1_);
`else
		$dumpvars(1, vsim.bb.usbxr_oen[1]);
		$dumpvars(1, vsim.bb.usbxr_ien[1]);
`endif
		$dumpvars(1, vsim.bb.PAD_USB_DMINUS1);
		$dumpvars(1, vsim.bb.PAD_USB_DPLUS1);
		$dumpvars(1, vsim.bb.usb_dp_high_en0);
		$dumpvars(1, vsim.bb.PAD_USB_DP_HIGH0);
		$dumpvars(1, vsim.bb.usb_dp_high_en1);
		$dumpvars(1, vsim.bb.PAD_USB_DP_HIGH1);
		$dumpvars(1, vsim.bb.PAD_USB_ID0);
		$dumpvars(1, vsim.bb.PAD_USB_ID1);
		$dumpvars(1, vsim.bb.PAD_USB_VBUS_ON0);
		$dumpvars(1, vsim.bb.PAD_USB_VBUS_ON1);
		$dumpvars(1, vsim.bb.PAD_USB_VBUS_VLD0);
		$dumpvars(1, vsim.bb.PAD_USB_VBUS_VLD1);
		$dumpvars(1, vsim.bb.PAD_USBCLKI);
		$dumpvars(1, vsim.bb.PAD_USBCLKO);
		$dumpvars(1, vsim.bb.PAD_VCLKI);
		$dumpvars(1, vsim.bb.PAD_VCLKO);
		$dumpvars(1, vsim.bb.PAD_VCLOCK);
		$dumpvars(1, vsim.bb.PAD_VDATA0);
		$dumpvars(1, vsim.bb.PAD_VDATA1);
		$dumpvars(1, vsim.bb.PAD_VDATA2);
		$dumpvars(1, vsim.bb.PAD_VDATA3);
		$dumpvars(1, vsim.bb.PAD_VDATA4);
		$dumpvars(1, vsim.bb.PAD_VDATA5);
		$dumpvars(1, vsim.bb.PAD_VDATA6);
		$dumpvars(1, vsim.bb.PAD_VOA);
		$dumpvars(1, vsim.bb.PAD_VOB);
		$dumpvars(1, vsim.bb.PAD_VOC);
		$dumpvars(1, vsim.bb.PAD_VSYNC);
	end

	// simulator dumping flag;

	always @(dump)
	begin
		if(dump)
			$dumpon;
		else
			$dumpoff;
		$display("%t: %M: dumping %0s", $time, dump? "on" : "off");
	end

endmodule