#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_a; t_port_number m_b; t_port_number m_output; HWOffsetFix<1,0,UNSIGNED> id8out_io_output_force_disabled; HWOffsetFix<1,0,UNSIGNED> id0out_io_a_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_b_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> id6out_result[2]; HWOffsetFix<1,0,UNSIGNED> id16out_value; HWOffsetFix<1,0,UNSIGNED> id26out_value; HWOffsetFix<49,0,UNSIGNED> id13out_value; HWOffsetFix<48,0,UNSIGNED> id14out_count; HWOffsetFix<1,0,UNSIGNED> id14out_wrap; HWOffsetFix<49,0,UNSIGNED> id14st_count; HWOffsetFix<1,0,UNSIGNED> id25out_value; HWOffsetFix<49,0,UNSIGNED> id19out_value; HWOffsetFix<48,0,UNSIGNED> id20out_count; HWOffsetFix<1,0,UNSIGNED> id20out_wrap; HWOffsetFix<49,0,UNSIGNED> id20st_count; HWOffsetFix<48,0,UNSIGNED> id22out_run_cycle_count; HWOffsetFix<1,0,UNSIGNED> id24out_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_ */