#ifndef STREAMFMAKERNEL_H_ #define STREAMFMAKERNEL_H_ // #include "KernelManagerBlockSync.h" namespace maxcompilersim { class StreamFMAKernel : public KernelManagerBlockSync { public: StreamFMAKernel(const std::string &instance_name); protected: virtual void runComputationCycle(); virtual void resetComputation(); virtual void resetComputationAfterFlush(); void updateState(); void preExecute(); virtual int getFlushLevelStart(); private: t_port_number m_inAT1; t_port_number m_inBT1; t_port_number m_oDataT1; t_port_number m_inAT2; t_port_number m_inBT2; t_port_number m_oDataT2; t_port_number m_inAT3; t_port_number m_inBT3; t_port_number m_oDataT3; HWOffsetFix<1,0,UNSIGNED> id22out_io_oDataT1_force_disabled; HWOffsetFix<1,0,UNSIGNED> id0out_io_inAT1_force_disabled; HWOffsetFix<32,0,TWOSCOMPLEMENT> id2out_data; HWOffsetFix<1,0,UNSIGNED> id2st_read_next_cycle; HWOffsetFix<32,0,TWOSCOMPLEMENT> id2st_last_read_value; HWOffsetFix<1,0,UNSIGNED> id3out_io_inBT1_force_disabled; HWOffsetFix<32,0,TWOSCOMPLEMENT> id5out_data; HWOffsetFix<1,0,UNSIGNED> id5st_read_next_cycle; HWOffsetFix<32,0,TWOSCOMPLEMENT> id5st_last_read_value; HWOffsetFix<32,0,TWOSCOMPLEMENT> id18out_result[2]; HWOffsetFix<1,0,UNSIGNED> id27out_io_oDataT2_force_disabled; HWOffsetFix<1,0,UNSIGNED> id6out_io_inAT2_force_disabled; HWOffsetFix<32,0,TWOSCOMPLEMENT> id8out_data; HWOffsetFix<1,0,UNSIGNED> id8st_read_next_cycle; HWOffsetFix<32,0,TWOSCOMPLEMENT> id8st_last_read_value; HWOffsetFix<1,0,UNSIGNED> id9out_io_inBT2_force_disabled; HWOffsetFix<32,0,TWOSCOMPLEMENT> id11out_data; HWOffsetFix<1,0,UNSIGNED> id11st_read_next_cycle; HWOffsetFix<32,0,TWOSCOMPLEMENT> id11st_last_read_value; HWOffsetFix<32,0,TWOSCOMPLEMENT> id19out_result[7]; HWOffsetFix<1,0,UNSIGNED> id32out_io_oDataT3_force_disabled; HWOffsetFix<1,0,UNSIGNED> id12out_io_inAT3_force_disabled; HWOffsetFix<32,0,TWOSCOMPLEMENT> id14out_data; HWOffsetFix<1,0,UNSIGNED> id14st_read_next_cycle; HWOffsetFix<32,0,TWOSCOMPLEMENT> id14st_last_read_value; HWOffsetFix<1,0,UNSIGNED> id15out_io_inBT3_force_disabled; HWOffsetFix<32,0,TWOSCOMPLEMENT> id17out_data; HWOffsetFix<1,0,UNSIGNED> id17st_read_next_cycle; HWOffsetFix<32,0,TWOSCOMPLEMENT> id17st_last_read_value; HWOffsetFix<32,0,TWOSCOMPLEMENT> id20out_result[2]; HWOffsetFix<1,0,UNSIGNED> id40out_value; HWOffsetFix<1,0,UNSIGNED> id50out_value; HWOffsetFix<49,0,UNSIGNED> id37out_value; HWOffsetFix<48,0,UNSIGNED> id38out_count; HWOffsetFix<1,0,UNSIGNED> id38out_wrap; HWOffsetFix<49,0,UNSIGNED> id38st_count; HWOffsetFix<1,0,UNSIGNED> id49out_value; HWOffsetFix<49,0,UNSIGNED> id43out_value; HWOffsetFix<48,0,UNSIGNED> id44out_count; HWOffsetFix<1,0,UNSIGNED> id44out_wrap; HWOffsetFix<49,0,UNSIGNED> id44st_count; HWOffsetFix<48,0,UNSIGNED> id46out_run_cycle_count; HWOffsetFix<1,0,UNSIGNED> id48out_result[2]; const HWOffsetFix<1,0,UNSIGNED> c_hw_fix_1_0_uns_bits; const HWOffsetFix<32,0,TWOSCOMPLEMENT> c_hw_fix_32_0_sgn_undef; const HWOffsetFix<1,0,UNSIGNED> c_hw_fix_1_0_uns_bits_1; const HWOffsetFix<49,0,UNSIGNED> c_hw_fix_49_0_uns_bits; const HWOffsetFix<49,0,UNSIGNED> c_hw_fix_49_0_uns_bits_1; const HWOffsetFix<49,0,UNSIGNED> c_hw_fix_49_0_uns_bits_2; void execute0(); }; } #endif /* STREAMFMAKERNEL_H_ */