diff options
author | gatecat <gatecat@ds0.me> | 2021-07-06 14:06:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-06 14:06:31 +0100 |
commit | bf542f07b02856f6a04ffc8b5a177baf9acfcd72 (patch) | |
tree | 607728a549cf4920ed66420ce8f28828a0c624e2 /ecp5/arch.cc | |
parent | 5b2db015a9fb27f9af9a1ce4a2f7b186fb56ea03 (diff) | |
parent | 81c549549d88640ed77fc2b1f3da52a10b4f93ce (diff) | |
download | nextpnr-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.cc | 12 |
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; |