aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5/arch.cc
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-07-06 14:06:31 +0100
committerGitHub <noreply@github.com>2021-07-06 14:06:31 +0100
commitbf542f07b02856f6a04ffc8b5a177baf9acfcd72 (patch)
tree607728a549cf4920ed66420ce8f28828a0c624e2 /ecp5/arch.cc
parent5b2db015a9fb27f9af9a1ce4a2f7b186fb56ea03 (diff)
parent81c549549d88640ed77fc2b1f3da52a10b4f93ce (diff)
downloadnextpnr-bf542f07b02856f6a04ffc8b5a177baf9acfcd72.tar.gz
nextpnr-bf542f07b02856f6a04ffc8b5a177baf9acfcd72.tar.bz2
nextpnr-bf542f07b02856f6a04ffc8b5a177baf9acfcd72.zip
Merge pull request #754 from YosysHQ/gatecat/ecp5-dcs
ecp5: Add DCSC support
Diffstat (limited to 'ecp5/arch.cc')
-rw-r--r--ecp5/arch.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/ecp5/arch.cc b/ecp5/arch.cc
index 2c04105c..34bdfa1b 100644
--- a/ecp5/arch.cc
+++ b/ecp5/arch.cc
@@ -793,6 +793,12 @@ bool Arch::getCellDelay(const CellInfo *cell, IdString fromPort, IdString toPort
return true;
}
return false;
+ } else if (cell->type == id_DCSC) {
+ if ((fromPort == id_CLK0 || fromPort == id_CLK1) && toPort == id_DCSOUT) {
+ delay = DelayQuad(0);
+ return true;
+ }
+ return false;
} else if (cell->type == id_DP16KD) {
return false;
} else if (cell->type == id_MULT18X18D) {
@@ -866,6 +872,12 @@ TimingPortClass Arch::getPortTimingClass(const CellInfo *cell, IdString port, in
if (port == id_CLKO)
return TMG_COMB_OUTPUT;
return TMG_IGNORE;
+ } else if (cell->type == id_DCSC) {
+ if (port == id_CLK0 || port == id_CLK1)
+ return TMG_COMB_INPUT;
+ if (port == id_DCSOUT)
+ return TMG_COMB_OUTPUT;
+ return TMG_IGNORE;
} else if (cell->type == id_DP16KD) {
if (port == id_CLKA || port == id_CLKB)
return TMG_CLOCK_INPUT;