bitparser: reverOrder is now configurable, fix _bit_length must be in bit instead of byte
This commit is contained in:
parent
9a8a7400b9
commit
fceaada9ba
|
|
@ -14,10 +14,10 @@ using namespace std;
|
|||
#define display(...) \
|
||||
do { if (_verbose) fprintf(stdout, __VA_ARGS__);} while(0)
|
||||
|
||||
BitParser::BitParser(const string &filename, bool verbose):
|
||||
BitParser::BitParser(const string &filename, bool reverseOrder, bool verbose):
|
||||
ConfigBitstreamParser(filename, ConfigBitstreamParser::BIN_MODE,
|
||||
verbose), fieldA(), part_name(), date(), hour(),
|
||||
design_name(), userID(), toolVersion()
|
||||
design_name(), userID(), toolVersion(), _reverseOrder(reverseOrder)
|
||||
{
|
||||
}
|
||||
BitParser::~BitParser()
|
||||
|
|
@ -126,9 +126,14 @@ int BitParser::parse()
|
|||
return -1;
|
||||
}
|
||||
|
||||
for (int i = 0; i < _bit_length; i++) {
|
||||
_bit_data[i] = reverseByte(_bit_data[i]);
|
||||
if (_reverseOrder) {
|
||||
for (int i = 0; i < _bit_length; i++) {
|
||||
_bit_data[i] = reverseByte(_bit_data[i]);
|
||||
}
|
||||
}
|
||||
|
||||
/* convert size to bit */
|
||||
_bit_length *= 8;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
class BitParser: public ConfigBitstreamParser {
|
||||
public:
|
||||
BitParser(const std::string &filename, bool verbose = false);
|
||||
BitParser(const std::string &filename, bool reverseOrder, bool verbose = false);
|
||||
~BitParser();
|
||||
int parse() override;
|
||||
|
||||
|
|
@ -21,6 +21,7 @@ class BitParser: public ConfigBitstreamParser {
|
|||
std::string design_name;
|
||||
std::string userID;
|
||||
std::string toolVersion;
|
||||
bool _reverseOrder;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue