Fixes
This commit is contained in:
parent
cadafffbec
commit
0146312707
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -ex
|
set -ex
|
||||||
yosys blinky.ys
|
yosys blinky.ys
|
||||||
../nextpnr-xc7 --json blinky.json --pcf blinky.pcf --xdl blinky.xdl --freq 150
|
- ../nextpnr-xc7 --json blinky.json --pcf blinky.pcf --xdl blinky.xdl --freq 150
|
||||||
xdl -xdl2ncd blinky.xdl
|
xdl -xdl2ncd blinky.xdl
|
||||||
bitgen -w blinky.ncd -g UnconstrainedPins:Allow
|
bitgen -w blinky.ncd -g UnconstrainedPins:Allow
|
||||||
trce blinky.ncd -v 10
|
trce blinky.ncd -v 10
|
||||||
|
@ -285,7 +285,7 @@ void dff_to_lc(const Context *ctx, CellInfo *dff, CellInfo *lc, bool pass_thru_l
|
|||||||
lc->params[ctx->id("DFF_ENABLE")] = "1";
|
lc->params[ctx->id("DFF_ENABLE")] = "1";
|
||||||
std::string config = dff->type.str(ctx).substr(2);
|
std::string config = dff->type.str(ctx).substr(2);
|
||||||
auto citer = config.begin();
|
auto citer = config.begin();
|
||||||
replace_port(dff, id_C, lc, id_CLK);
|
replace_port(dff, ctx->id("C"), lc, id_CLK);
|
||||||
|
|
||||||
if (citer != config.end()) {
|
if (citer != config.end()) {
|
||||||
auto gnd_net = ctx->nets.at(ctx->id("$PACKER_GND_NET")).get();
|
auto gnd_net = ctx->nets.at(ctx->id("$PACKER_GND_NET")).get();
|
||||||
@ -410,7 +410,7 @@ bool is_clock_port(const BaseCtx *ctx, const PortRef &port)
|
|||||||
if (port.cell == nullptr)
|
if (port.cell == nullptr)
|
||||||
return false;
|
return false;
|
||||||
if (is_ff(ctx, port.cell))
|
if (is_ff(ctx, port.cell))
|
||||||
return port.port == id_C;
|
return port.port == ctx->id("C");
|
||||||
if (port.cell->type == ctx->id("ICESTORM_LC"))
|
if (port.cell->type == ctx->id("ICESTORM_LC"))
|
||||||
return port.port == id_CLK;
|
return port.port == id_CLK;
|
||||||
if (is_ram(ctx, port.cell) || port.cell->type == ctx->id("ICESTORM_RAM"))
|
if (is_ram(ctx, port.cell) || port.cell->type == ctx->id("ICESTORM_RAM"))
|
||||||
|
10
xc7/xdl.cc
10
xc7/xdl.cc
@ -176,13 +176,15 @@ DesignSharedPtr create_torc_design(const Context *ctx)
|
|||||||
instPtr->setConfig(setting + "INIT", "", cell.second->params.at(ctx->id("FFINIT")));
|
instPtr->setConfig(setting + "INIT", "", cell.second->params.at(ctx->id("FFINIT")));
|
||||||
|
|
||||||
if (cell.second->lcInfo.negClk)
|
if (cell.second->lcInfo.negClk)
|
||||||
instPtr->setConfig("CLKINV", "", "CLK_B");
|
instPtr->setConfig("CLKINV", "", "CLK_B");
|
||||||
|
else
|
||||||
|
instPtr->setConfig("CLKINV", "", "CLK");
|
||||||
|
|
||||||
if (get_net_or_empty(cell.second.get(), id_SR)) {
|
if (get_net_or_empty(cell.second.get(), id_SR)) {
|
||||||
instPtr->setConfig(setting + "SR", "", cell.second->params.at(id_SR));
|
instPtr->setConfig(setting + "SR", "", cell.second->params.at(id_SR));
|
||||||
instPtr->setConfig("SYNC_ATTR", "", cell.second->params.at(ctx->id("SYNC_ATTR")));
|
instPtr->setConfig("SYNC_ATTR", "", cell.second->params.at(ctx->id("SYNC_ATTR")));
|
||||||
instPtr->setConfig("SRUSEDMUX", "", "IN");
|
instPtr->setConfig("SRUSEDMUX", "", "IN");
|
||||||
}
|
}
|
||||||
if (get_net_or_empty(cell.second.get(), ctx->id("CE")))
|
if (get_net_or_empty(cell.second.get(), ctx->id("CE")))
|
||||||
instPtr->setConfig("CEUSEDMUX", "", "IN");
|
instPtr->setConfig("CEUSEDMUX", "", "IN");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user