mirror of https://github.com/YosysHQ/nextpnr.git
parent
f2e650223a
commit
d5e6bfc74e
|
|
@ -19,8 +19,8 @@
|
|||
|
||||
#include <chrono>
|
||||
#include <cmath>
|
||||
#include <queue>
|
||||
#include <mutex>
|
||||
#include <queue>
|
||||
|
||||
#include "log.h"
|
||||
#include "router1.h"
|
||||
|
|
|
|||
|
|
@ -425,13 +425,17 @@ void GateMateImpl::preRoute()
|
|||
}
|
||||
}
|
||||
|
||||
void GateMateImpl::reassign_bridges(NetInfo *start_net, const dict<WireId, PipMap> &net_wires,
|
||||
WireId start_wire, dict<WireId, IdString> &wire_to_net, int &num)
|
||||
void GateMateImpl::reassign_bridges(NetInfo *start_net, const dict<WireId, PipMap> &net_wires, WireId start_wire,
|
||||
dict<WireId, IdString> &wire_to_net, int &num)
|
||||
{
|
||||
// Processing list, holds parameters to implement the equivalent of recursive calls.
|
||||
// This avoids a stack overflow when recursion becomes deep, as the function
|
||||
// has a relatively large stack footprint.
|
||||
struct record { NetInfo *net; WireId wire; };
|
||||
struct record
|
||||
{
|
||||
NetInfo *net;
|
||||
WireId wire;
|
||||
};
|
||||
std::vector<record> to_process;
|
||||
// Insert start record.
|
||||
to_process.push_back({start_net, start_wire});
|
||||
|
|
|
|||
|
|
@ -761,8 +761,8 @@ delay_t XilinxImpl::estimateDelay(WireId src, WireId dst) const
|
|||
|
||||
// TODO: improve sophistication here based on old nextpnr-xilinx code
|
||||
int dist_x = std::abs(dx - sx), dist_y = std::abs(dy - sy);
|
||||
return 500 + 12 * (2 * std::max(dist_y - 6, 0) + 4 * std::min(dist_y, 6)
|
||||
+ std::max(dist_x - 12, 0) + 2 * std::min(dist_x, 12));
|
||||
return 500 + 12 * (2 * std::max(dist_y - 6, 0) + 4 * std::min(dist_y, 6) + std::max(dist_x - 12, 0) +
|
||||
2 * std::min(dist_x, 12));
|
||||
}
|
||||
|
||||
delay_t XilinxImpl::predictDelay(BelId src_bel, IdString src_pin, BelId dst_bel, IdString dst_pin) const
|
||||
|
|
|
|||
|
|
@ -1235,7 +1235,7 @@ struct NexusPacker
|
|||
XFormRule delay_rule;
|
||||
delay_rule.param_xform[id_DEL_VALUE] = ctx->id("DELAY.DEL_VALUE");
|
||||
delay_rule.param_xform[id_COARSE_DELAY] = ctx->id("DELAY.COARSE_DELAY");
|
||||
|
||||
|
||||
base_iodelay_rules[id_DELAYB] = delay_rule;
|
||||
base_iodelay_rules[id_DELAYA] = delay_rule;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue