// SPDX-License-Identifier: Apache-2.0 /* * Copyright (C) 2019-2022 Gwenhael Goavec-Merou */ #ifndef SRC_LATTICEBITPARSER_HPP_ #define SRC_LATTICEBITPARSER_HPP_ #include #include #include #include #include #include "configBitstreamParser.hpp" class LatticeBitParser: public ConfigBitstreamParser { public: LatticeBitParser(const std::string &filename, bool machxo2, bool verbose = false); ~LatticeBitParser(); int parse() override; /*! * \brief return configuration data with structure similar to jedec * \return configuration data */ std::vector getDataArray() {return _bit_array;} private: int parseHeader(); bool parseCfgData(); size_t _endHeader; bool _is_machXO2; /* data storage for machXO2 */ std::vector _bit_array; }; #endif // SRC_LATTICEBITPARSER_HPP_