58 #ifndef IO_CONTROLLER_INC
59 #define IO_CONTROLLER_INC
72 #define SCAN_INTERVAL 200000 // 200 us
75 #define MII_FRAME_SIZE 400
82 sc_out<sc_uint<30> > addr30_o1;
83 sc_out<sc_uint<30> > addr30_o2;
84 sc_inout<sc_uint<32> > data32_i;
85 sc_out<sc_uint<32> > data32_o1;
86 sc_out<sc_uint<32> > data32_o2;
87 sc_out<bool> ads_n_o1;
88 sc_out<bool> ads_n_o2;
95 sc_out<sc_uint<4> > mii_data4_o;
96 sc_out<bool> mii_en_o;
97 sc_in<sc_uint<4> > mii_data4_i;
99 sc_in<bool> mii_coll_det;
103 sc_signal<bool> start_mux;
104 sc_signal<bool> ready_mux;
105 sc_signal<bool> start_read;
106 sc_signal<bool> out_fifo_reset;
109 sc_uint<32> addr_tx_frame_ptr;
110 sc_uint<32> rx_ptr_array;
111 sc_signal<bool> sem1;
112 sc_signal<bool> sem2;
120 reset_signal_is(res_n_i,
false);
138 shared_mem1[
i] = shared_mem2[
i] = 0;
140 void control_write();
144 sc_uint<32> read_from_memory0(sc_uint<32>);
145 sc_uint<32> read_from_memory1(sc_uint<32>);
146 void write_into_memory0(sc_uint<32>, sc_uint<32>);
147 void write_into_memory1(sc_uint<32>, sc_uint<32>);