aboutsummaryrefslogtreecommitdiffstats
path: root/generic/archdefs.h
Commit message (Collapse)AuthorAgeFilesLines
* Viaduct API for a hybrid between generic and full-custom archgatecat2022-01-041-1/+4
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* generic: Refactor for faster performancegatecat2021-12-301-3/+36
| | | | | | | | This won't affect Python-built arches significantly; but will be useful for the future 'viaduct' functionality where generic routing graphs can be built on the C++ side; too. Signed-off-by: gatecat <gatecat@ds0.me>
* Fixing old emails and names in copyrightsgatecat2021-06-121-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Using hashlib in archesgatecat2021-06-021-3/+2
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Add stub cluster API impl for remaining archesgatecat2021-05-061-0/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Split nextpnr.h to allow for linear inclusion.Keith Rothman2021-03-151-3/+8
| | | | | | | | | | | | | | | | | | | "nextpnr.h" is no longer the god header. Important improvements: - Functions in log.h can be used without including BaseCtx/Arch/Context. This means that log_X functions can be called without included "nextpnr.h" - NPNR_ASSERT can be used without including "nextpnr.h" by including "nextpnr_assertions.h". This allows NPNR_ASSERT to be used safely in any header file. - Types defined in "archdefs.h" are now available without including BaseCtx/Arch/Context. This means that utility classes that will be used inside of BaseCtx/Arch/Context can be defined safely in a self-contained header. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Replace DelayInfo with DelayPair/DelayQuadgatecat2021-02-191-21/+0
| | | | | | | | | | | | | | | | | This replaces the arch-specific DelayInfo structure with new DelayPair (min/max only) and DelayQuad (min/max for both rise and fall) structures that form part of common code. This further reduces the amount of arch-specific code; and also provides useful data structures for timing analysis which will need to delay with pairs/quads of delays as it is improved. While there may be a small performance cost to arches that didn't separate the rise/fall cases (arches that aren't currently separating the min/max cases just need to be fixed...) in DelayInfo, my expectation is that inlining will mean this doesn't make much difference. Signed-off-by: gatecat <gatecat@ds0.me>
* generic: Add APIs for controlling cell->bel pin mappinggatecat2021-02-151-0/+2
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* generic: Use IdStringList for all arch object namesD. Shah2021-02-021-5/+5
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* Rename Partition -> BelBucket.Keith Rothman2021-02-021-1/+1
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Add archcheck for partition methods.Keith Rothman2021-02-021-0/+1
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* generic: Add a simple packer for generic SLICEs and IOBsDavid Shah2019-04-021-0/+10
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Get rid of BelType and PortPin in generic archClifford Wolf2018-08-081-3/+0
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Change DelayInfo semantics to what we actually needClifford Wolf2018-07-211-3/+6
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* ice40: Trim DSP inputs that are constant where appropriateDavid Shah2018-07-191-2/+6
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* Add ArchNetInfo and ArchCellInfoClifford Wolf2018-07-171-0/+3
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Add Groups APIClifford Wolf2018-07-121-0/+1
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Add GUI Decals APIClifford Wolf2018-07-111-0/+1
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Rename "dummy" arch to "generic"Clifford Wolf2018-06-291-0/+53
Signed-off-by: Clifford Wolf <clifford@clifford.at>