3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-13 04:28:18 +00:00

Resolve comments from @daveshah1

This commit is contained in:
Eddie Hung 2019-06-14 12:00:02 -07:00
parent 2e34859a6b
commit 97d2656375
3 changed files with 11 additions and 17 deletions

View file

@ -683,16 +683,18 @@ struct XAigerWriter
f << "c"; f << "c";
if (!box_list.empty() || !ff_bits.empty()) { if (!box_list.empty() || !ff_bits.empty()) {
std::stringstream h_buffer; auto write_buffer = [](std::stringstream &buffer, int i32) {
auto write_h_buffer = [&h_buffer](int i32) {
// TODO: Don't assume we're on little endian // TODO: Don't assume we're on little endian
#ifdef _WIN32 #ifdef _WIN32
int i32_be = _byteswap_ulong(i32); int32_t i32_be = _byteswap_ulong(i32);
#else #else
int i32_be = __builtin_bswap32(i32); int32_t i32_be = __builtin_bswap32(i32);
#endif #endif
h_buffer.write(reinterpret_cast<const char*>(&i32_be), sizeof(i32_be)); buffer.write(reinterpret_cast<const char*>(&i32_be), sizeof(i32_be));
}; };
std::stringstream h_buffer;
auto write_h_buffer = std::bind(write_buffer, std::ref(h_buffer), std::placeholders::_1);
write_h_buffer(1); write_h_buffer(1);
log_debug("ciNum = %zu\n", input_bits.size() + ff_bits.size() + ci_bits.size()); log_debug("ciNum = %zu\n", input_bits.size() + ff_bits.size() + ci_bits.size());
write_h_buffer(input_bits.size() + ff_bits.size() + ci_bits.size()); write_h_buffer(input_bits.size() + ff_bits.size() + ci_bits.size());
@ -782,15 +784,7 @@ struct XAigerWriter
/*if (!ff_bits.empty())*/ { /*if (!ff_bits.empty())*/ {
std::stringstream r_buffer; std::stringstream r_buffer;
auto write_r_buffer = [&r_buffer](int i32) { auto write_r_buffer = std::bind(write_buffer, std::ref(r_buffer), std::placeholders::_1);
// TODO: Don't assume we're on little endian
#ifdef _WIN32
int i32_be = _byteswap_ulong(i32);
#else
int i32_be = __builtin_bswap32(i32);
#endif
r_buffer.write(reinterpret_cast<const char*>(&i32_be), sizeof(i32_be));
};
log_debug("flopNum = %zu\n", ff_bits.size()); log_debug("flopNum = %zu\n", ff_bits.size());
write_r_buffer(ff_bits.size()); write_r_buffer(ff_bits.size());
int mergeability_class = 1; int mergeability_class = 1;

View file

@ -26,7 +26,7 @@
#include <libgen.h> #include <libgen.h>
#include <stdlib.h> #include <stdlib.h>
#endif #endif
#include <array> #include <inttypes.h>
#include "kernel/yosys.h" #include "kernel/yosys.h"
#include "kernel/sigtools.h" #include "kernel/sigtools.h"
@ -277,7 +277,7 @@ static uint32_t parse_xaiger_literal(std::istream &f)
uint32_t l; uint32_t l;
f.read(reinterpret_cast<char*>(&l), sizeof(l)); f.read(reinterpret_cast<char*>(&l), sizeof(l));
if (f.gcount() != sizeof(l)) if (f.gcount() != sizeof(l))
log_error("Offset %ld: unable to read literal!\n", static_cast<int64_t>(f.tellg())); log_error("Offset %" PRId64 ": unable to read literal!\n", static_cast<int64_t>(f.tellg()));
// TODO: Don't assume we're on little endian // TODO: Don't assume we're on little endian
#ifdef _WIN32 #ifdef _WIN32
return _byteswap_ulong(l); return _byteswap_ulong(l);

View file

@ -332,7 +332,7 @@ struct SynthIce40Pass : public ScriptPass
} }
if (!noabc) { if (!noabc) {
if (abc == "abc9") if (abc == "abc9")
run(abc + stringf(" -dress -lut +/ice40/abc_%s.lut -box +/ice40/abc_%s.box", device_opt.c_str(), device_opt.c_str()), "(skip if -noabc)"); run(abc + stringf(" -lut +/ice40/abc_%s.lut -box +/ice40/abc_%s.box", device_opt.c_str(), device_opt.c_str()), "(skip if -noabc)");
else else
run(abc + " -dress -lut 4", "(skip if -noabc)"); run(abc + " -dress -lut 4", "(skip if -noabc)");
} }