Commit Graph

162 Commits

Author SHA1 Message Date
David Shah
1c1c096861 ecp5: Fix 25k DDRDLLA bitstream gen
Signed-off-by: David Shah <dave@ds0.me>
2019-11-29 10:56:04 +00:00
David Shah
475fcd4425 ecp5: Add an error for out-of-sync constids and bba
Signed-off-by: David Shah <dave@ds0.me>
2019-10-26 20:38:28 +01:00
David Shah
36c07a0f45 ecp5: Fix routing to shared DSP control inputs
Signed-off-by: David Shah <dave@ds0.me>
2019-10-25 09:37:13 +01:00
Miodrag Milanovic
a11cc8791b set wire active flag 2019-10-20 09:41:48 +02:00
Miodrag Milanovic
f7a6d4dc06 Start adding visible wires 2019-10-20 09:41:48 +02:00
Miodrag Milanovic
eafc0e4e9e Added type to wire 2019-10-20 09:41:48 +02:00
Miodrag Milanovic
bfbb6dbf69 Draw swbox, smaller slices, proper io 2019-10-20 09:41:30 +02:00
David Shah
9f9920f92b ecp5: Add full part name to bitstream header
Signed-off-by: David Shah <dave@ds0.me>
2019-08-27 14:36:20 +01:00
David Shah
78f86ce67a ecp5: Add GSR/SGSR support
Signed-off-by: David Shah <dave@ds0.me>
2019-08-27 13:14:41 +01:00
David Shah
df8688c227 ecp5: Delay tweaking for lower speed grades
Signed-off-by: David Shah <dave@ds0.me>
2019-06-21 10:55:23 +01:00
David Shah
02ae21d8fc Add --placer option and refactor placer selection
Signed-off-by: David Shah <dave@ds0.me>
2019-03-24 11:10:20 +00:00
David Shah
23f2fff1c8 clangformat
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:39:05 +00:00
David Shah
fcc3bb1495 ecp5: Speedup cell delay lookups
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
a2d906a3fd ecp5: Increase ripup penalty
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 18:08:26 +00:00
David Shah
a0fa164399 ecp5: Add criticality-based LUT permutation
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 11:49:25 +00:00
David Shah
f363dd2d3c ecp5: Delay tuning
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 11:49:25 +00:00
David Shah
55b0b60d9d ecp5: Router performance improvements
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 11:49:25 +00:00
David Shah
63e1f02c65 ecp5: Helper functions for DQS and ECLK
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
5cfc7674c1 ecp5: Add DQS groupings to database
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
Miodrag Milanovic
73f200fe74 Load chipdb from filesystem as option 2019-02-09 13:34:57 +01:00
David Shah
e929d221f3 ecp5: Adding DTR, OSCG, CLKDIVF, USRMCLK, JTAGG
Signed-off-by: David Shah <dave@ds0.me>
2019-02-08 12:34:22 +00:00
David Shah
1ae722272a ecp5: clangformat timing changes
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:27:03 +00:00
David Shah
13244e513b ecp5: Fix db import, improve timing data debugging
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:26:28 +00:00
David Shah
2024346f4d ecp5: Consider fanout when calculating pip delays
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:26:28 +00:00
David Shah
3ecd440748 ecp5: Use new timing data
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:26:28 +00:00
David Shah
18813f2056 ecp5: Adding real timing data to database
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:26:28 +00:00
Eddie Hung
2d39cde17b Merge remote-tracking branch 'origin/master' into timingapi 2018-11-13 12:12:11 -08:00
David Shah
8af86ff37d ecp5: Update arch to new timing API
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
Clifford Wolf
6002a0a80a clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 19:48:15 +01:00
Clifford Wolf
f93129634b Add getConflictingWireWire() arch API, streamline getConflictingXY semantic
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 17:28:41 +01:00
Clifford Wolf
d2bdb670c0 Add getConflictingPipWire() arch API, router1 improvements
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 11:34:38 +01:00
David Shah
24a2feda30 ecp5: Separate global promotion and routing
Signed-off-by: David Shah <dave@ds0.me>
2018-10-31 16:22:34 +00:00
David Shah
db0646be8a ecp5: Adding LPF parser
Signed-off-by: David Shah <dave@ds0.me>
2018-10-31 10:48:54 +00:00
David Shah
8aac6db44b ecp5: Add support for correct tile naming in all variants
Signed-off-by: David Shah <dave@ds0.me>
2018-10-16 14:37:24 +01:00
David Shah
ab063b2456 clangformat
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 18:37:17 +01:00
David Shah
24414614d2 ecp5: Import SPINE data to database
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 16:09:21 +01:00
David Shah
30f122854a ecp5: Helper function and arch tweaks for global router
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 16:06:30 +01:00
David Shah
cdc9dc545e ecp5: Add crude approximation of Pip delays
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-19 14:29:16 +01:00
David Shah
45bd0a8c72
Merge pull request #54 from daveshah1/ecp5_speedup
ecp5: Improving placement speed
2018-08-19 14:04:01 +01:00
David Shah
0b35cb4e60 ecp5: Flatten bel_to_cell for performance
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-18 19:04:32 +01:00
David Shah
72a9a475fa ecp5: Speed up Bel availability/binding checks
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-18 18:36:13 +01:00
David Shah
b8206d71ca ecp5: Speedup placement using ArchCellInfo
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-18 18:14:18 +01:00
Clifford Wolf
428f0b9eba Add Arch attrs API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-14 17:16:14 +02:00
David Shah
834f7e4bfd ecp5: Implement getPipLocation and related API
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-09 10:39:53 +02:00
Clifford Wolf
f6189e4677 Merge branch 'master' of github.com:YosysHQ/nextpnr into constids 2018-08-08 19:35:13 +02:00
David Shah
cd4e761bb7
Merge pull request #44 from YosysHQ/improve_timing_spec
Speed up budget allocator using topographical ordering and update cell timing API
2018-08-08 19:23:47 +02:00
David Shah
a3ae3f9791 ecp5: Update to use const IdStrings in place of PortPin/BelType
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 19:08:43 +02:00
David Shah
433ad6462e Arch API: Removing Arch::isIOCell
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 17:06:59 +02:00
David Shah
bf42e525cb Arch API: New specification for timing port classes
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 14:37:59 +02:00
Miodrag Milanovic
5df90bc5a5 Merge remote-tracking branch 'origin/master' into common_main
# Conflicts:
#	ecp5/main.cc
#	ice40/main.cc
2018-08-08 10:48:05 +02:00
Eddie Hung
6768a5c03e Add Arch::isIOCell() to ecp5 and generic 2018-08-06 17:17:39 -07:00
Miodrag Milanovic
fffaaa613f Added project loader 2018-08-06 19:32:17 +02:00
Eddie Hung
d0312514bd Modify getBudgetOverride for generic and ecp5 too 2018-08-06 07:56:34 -07:00
Eddie Hung
8a6ff4b261 Modify getBudgetOverride for generic and ecp5 too 2018-08-05 22:33:14 -07:00
David Shah
736f2a0717 API change: Use CellInfo* and NetInfo* as cell/net handles (ECP5)
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-05 16:32:12 +02:00
Miodrag Milanovic
a31c00ed96 Chip selection ui for ECP5 2018-08-04 11:48:29 +02:00
Miodrag Milanovic
e68ca65e9e Unify interfaces for gui 2018-08-03 18:23:40 +02:00
David Shah
90623b80e8 ecp5: Refresh Bels when they are modified
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 12:00:07 +02:00
Miodrag Milanovic
f1893f9681 Add missing files and missing includes for MSVC 2018-08-02 14:51:05 +02:00
David Shah
0658759495 ecp5: Remove libtrellis link for bitstream gen
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-01 15:58:38 +02:00
David Shah
534465d3ad ecp5: Adding tilegrid helper functions to Arch
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-01 15:30:28 +02:00
David Shah
bcdcba66a6 ecp5: Add tilemap to chip database
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-01 15:23:27 +02:00
Clifford Wolf
29dd98420b Remove getFrameDecal() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-01 11:30:11 +02:00
Eddie Hung
f646ec790a Modify the getNetinfo*() functions and getBudgetOverride() to not use
user_idx and to take a PortRef& instead
2018-07-31 19:31:54 -07:00
Eddie Hung
2d75053744 Merge remote-tracking branch 'origin/estdelay' into redist_slack
Conflicts:
	ecp5/arch.cc
	generic/arch.cc
	ice40/arch.cc
2018-07-31 16:18:08 -07:00
Eddie Hung
70747b9355 Merge branch 'redist_slack' into 'redist_slack'
# Conflicts:
#   common/timing.cc
2018-07-31 17:51:56 +00:00
Clifford Wolf
41726087b7 getChipName() should be const
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-31 17:01:38 +02:00
Eddie Hung
a82f6f4105 Modify predictDelay signature 2018-07-30 21:51:30 -07:00
David Shah
b09183db3b Use DelayInfo for cell timing instead of delay_t
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-30 16:59:30 +02:00
Clifford Wolf
0daffec2a0 Add predictDelay Arch API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-30 15:35:40 +02:00
Eddie Hung
d083451cd5 Update getBudgetOverride() for other arches 2018-07-26 22:31:16 -07:00
Eddie Hung
97e546041e Revert "Remove Arch::getBudgetOverride()"
This reverts commit 749dae4ae5.
2018-07-26 21:37:19 -07:00
Miodrag Milanovic
8db19778a0 Fix name clash for ecp5 2018-07-26 18:48:07 +02:00
Clifford Wolf
467e0926f9 Add getWireType()/getPipType() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-26 16:38:11 +02:00
David Shah
8fffb0add9 ecp5: Add global network info to database
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-25 19:44:50 +02:00
Miodrag Milanovic
790d7159bb Fixed packing non pod 2018-07-25 17:42:32 +02:00
David Shah
974ca143e8 Remove implementations of deprecated APIs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 16:09:29 +02:00
David Shah
730e56e3dd ecp5: Add some more PIO helper functions
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-23 19:15:59 +02:00
Clifford Wolf
90fe002a36 Remove getBelsByType() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-23 13:16:27 +02:00
David Shah
bfa1137fe0 clangformat
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-23 13:02:57 +02:00
David Shah
a3864c2936 ecp5: Add Add getGridDimX(), getGridDimY(), getTileDimZ()
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-23 13:02:37 +02:00
David Shah
54d1b8adce ecp5: Implement new Grid APIs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-23 10:53:07 +02:00
David Shah
d0ed23d673 ecp5: Remove obsolete db entries, add Bel z-position
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-23 10:32:42 +02:00
Miodrag Milanovic
b9c413a5aa Move to new API and remove deprecated 2018-07-22 19:58:17 +02:00
David Shah
987fdc1b29 ecp5: Adding new Bel pin API
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-22 17:07:38 +02:00
David Shah
38431bd420 ecp5: Fix regression following router update
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-22 16:55:10 +02:00
Clifford Wolf
62b66e0208 Rename getWireBelPin to getBelPinWire
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-22 10:59:21 +02:00
Clifford Wolf
c556242976 Add getWireDelay API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 13:38:44 +02:00
David Shah
c80934f953 ecp5: Add support for pin name constraints using 'LOC' attributes
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 16:01:53 +02:00
David Shah
5393841c66 ecp5: Adding PIO data to chipdb
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 15:34:22 +02:00
David Shah
2b86800c0f ecp5: Adding a slow and conservative placement validity checker
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 16:18:06 +02:00
Sergiusz Bazanski
d4a0feb1ad Revert "Add read/mutate context stubs for ECP5"
This reverts commit f333a68753.
2018-07-14 18:50:29 +01:00
Sergiusz Bazanski
ade67ecf21 Revert "Move read methods to ReadMethods, remove some legacy access to Arch"
This reverts commit 3352ff4abb.
2018-07-14 18:50:23 +01:00
Sergiusz Bazanski
cb1a5974f4 Revert "Make ECP5 proxy context compatible"
This reverts commit df5d7923ec.
2018-07-14 18:50:18 +01:00
Sergiusz Bazanski
df5d7923ec Make ECP5 proxy context compatible 2018-07-14 11:52:50 +01:00
Sergiusz Bazanski
3352ff4abb Move read methods to ReadMethods, remove some legacy access to Arch 2018-07-14 11:46:32 +01:00
Sergiusz Bazanski
f333a68753 Add read/mutate context stubs for ECP5 2018-07-14 11:25:38 +01:00
Clifford Wolf
c05bea12e0 Add ctx->pack() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-13 15:16:44 +02:00
Clifford Wolf
a436035424 Add Groups API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-12 17:22:29 +02:00
Clifford Wolf
7daa8524c8 Add ctx->place() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 18:15:08 +02:00