David Shah
8f2813279c
Merge pull request #284 from YosysHQ/json_write
...
Initial support for writing to json files from nextpnr.
2019-07-03 12:39:38 +01:00
whitequark
1b3c8ea9c1
CMake: serialize chipdb generation by default.
...
Fixes #296 .
2019-06-26 21:31:24 +00:00
whitequark
640285755e
CMake: formatting. NFC.
2019-06-26 21:27:57 +00:00
Miodrag Milanovic
be47fc3e9a
clangformat run
2019-06-25 18:19:25 +02:00
Miodrag Milanovic
ec47ce2320
Merge master
2019-06-25 18:14:51 +02:00
Miodrag Milanovic
9affcf82d9
default for 5G is speed 8
2019-06-21 18:06:01 +02: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
7ae64b9477
ecp5: Reduce cfg.criticalityExponent for now
...
Signed-off-by: David Shah <dave@ds0.me>
2019-06-21 10:20:46 +01:00
Miodrag Milanovic
66ea9f39f7
enable lading of jsons and setting up context
2019-06-14 15:18:35 +02:00
Miodrag Milanovic
36ccc22fc9
Use flags for each step
2019-06-14 09:59:04 +02:00
Miodrag Milanovic
ca7e944d7a
restore arch info for ecp5
2019-06-14 08:55:11 +02:00
Miodrag Milanovic
03dff10cbd
Load properties from json and propagate to context create
2019-06-13 20:42:11 +02:00
Miodrag Milanovic
4de147d9e4
Save settings that we saved in project
2019-06-13 18:39:16 +02:00
Miodrag Milanovic
1cd4a4d17a
Remove concept of project and code connected
2019-06-13 17:42:41 +02:00
Miodrag Milanovic
856760599e
Use properties for settings and save in json
2019-06-12 18:34:34 +02:00
David Shah
187db92b05
ecp5: Improve error message for bad chars in BRAM init strings
...
Signed-off-by: David Shah <dave@ds0.me>
2019-06-08 10:52:37 +01:00
Miodrag Milanovic
d9b0bac248
Save top level attrs and store current step
2019-06-07 16:11:11 +02:00
Miodrag Milanovic
78e6631f76
Cleanup
2019-06-07 13:49:19 +02:00
Miodrag Milanovic
54175f9187
No need for this one
2019-06-07 13:24:16 +02:00
David Shah
15a1d4f582
ecp5: Use an attribute to store is_global
...
Signed-off-by: David Shah <dave@ds0.me>
2019-06-07 11:55:20 +01:00
Miodrag Milanovic
1093d7e122
WIP saving/loading attributes
2019-06-07 11:48:15 +02:00
Miodrag Milanovic
d5d8213871
Added support for attributes/properties types
2019-06-01 15:52:32 +02:00
Tobias Müller
ea91ea163e
Use cmake's find_library to search for pytrellis.
2019-05-11 12:39:50 +02:00
David Shah
12f375a239
ecp5: Fix USRMCLK primitive
...
Signed-off-by: David Shah <dave@ds0.me>
2019-05-10 18:51:45 +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
bd12c0a486
HeAP: Add PlacerHeapCfg
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
7142db28a8
HeAP: Make HeAP placer optional
...
A CMake option 'BUILD_HEAP' (default on) configures building of the
HeAP placer and the associated Eigen3 dependency.
Default for the iCE40 is SA placer, with --heap-placer to use HeAP
Default for the ECP5 is HeAP placer, as SA placer can take 1hr+ for
large ECP5 designs and HeAP tends to give better QoR. --sa-placer can
be used to use SA instead, and auto-fallback to SA if HeAP not built.
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
2e2f44c82e
HeAP: tidying up
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
8295f997ae
HeAP: Use for ECP5 as well as iCE40
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
ea56dc9d08
HeAP: Add TAUCS wrapper and integration
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
493d6c3fb9
Add Python helper functions for floorplanning
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
0279f63710
Merge pull request #243 from YosysHQ/ecp5lpf
...
ecp5: Improve constraint-related error handling
2019-02-28 15:01:42 +00:00
David Shah
8744c46ea0
ecp5: Fix handling of CRLFs and uppercase frequency units in LPF
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-27 22:54:32 +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
ba4150aecc
ecp5: Add an error for mixed constrained/unconstrained IO
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 14:45:43 +00:00
David Shah
81b176e150
ecp5: Improve error handling and warning generation in LPF parser
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 14:40:38 +00:00
David Shah
df79d94944
ecp5: DELAY fixes
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 11:49:25 +00:00
David Shah
95a85c8ea7
ecp5: Improve packing density
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 11:49:25 +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
4ec2bd1e5d
ecp5: Fix global clock routing with multiclock DPRAM
...
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
f5b11ce075
ecp5: Implement budget overrides for carry chains and SLICE muxes
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 11:49:25 +00:00
David Shah
af3ff143be
ecp5: Improve delay model
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 11:49:25 +00:00
David Shah
998d055ea7
ecp5: Speed up timing analysis
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 11:49:25 +00:00
David Shah
64dc453f12
ecp5: DELAYF/G fixes
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 13:53:06 +00:00
David Shah
15314538f8
ecp5: Add list of supported primitives
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-02-24 10:28:25 +01:00
David Shah
0d83f3fcfe
ecp5: Connect unused DQSBUF inputs to GND
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-02-24 10:28:25 +01:00
David Shah
ab50a6ef54
ecp5: Compute derived constraints iteratively
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-02-24 10:28:25 +01:00
David Shah
0bc88e622c
ecp5: Add support for 'FREQUENCY NET' and 'FREQUENCY PORT' in lpf
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-02-24 10:28:25 +01:00
David Shah
ae6c1170ef
ecp5: Derived constraint support for PLLs, clock dividers and oscillators
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-02-24 10:28:25 +01:00
David Shah
e50ab2106f
ecp5: Fixes for litedram
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-02-24 10:28:25 +01:00
David Shah
3b50b57f05
ecp5: Add DIFFRESISTOR support
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-02-24 10:28:25 +01:00
David Shah
f960139768
ecp5: Add support for referenced inputs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-02-24 10:28:25 +01:00
David Shah
817ba5a4b9
ecp5: Add DELAYF/DELAYG support
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-02-24 10:28:25 +01:00
David Shah
fd52db813f
ecp5: Add TERMINATION support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
491d64293d
ecp5: Add DDRDLLA support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
68abcb365a
ecp5: Add ECLKSYNCB support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
49e9453820
ecp5: Add TSHX2DQSA support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
82ad10a395
ecp5: Add TSHX2DQA support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
6e8fbe8cdf
ecp5: Add IDDRX2DQA support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
4e49ab1625
ecp5: Add ODDRX2DQSB suppport
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
6f203dfd7b
ecp5: Add ODDRX2DQA support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
4402361246
ecp5: Helper functions and bitstream for DQS
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
eb45956d0e
ecp5: Constraint checker and placer for DQSBUFM
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
fe2375324d
ecp5: Add OSHX2A support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
8a64a72a21
ecp5: Add IDDRX2F support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01:00
David Shah
52d1954d96
ecp5: Packing of ODDRX2F
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-24 10:28:25 +01: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
db1666fc3d
ecp5: Add timing data for DQS-related cells
...
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
David Shah
4c7306185e
ecp5: Fix typo
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-14 12:31:33 +00:00
David Shah
9026ab8886
Merge pull request #228 from YosysHQ/ecp5_embed_base
...
ecp5: Embed baseconfigs in nextpnr
2019-02-14 12:20:41 +00:00
Miodrag Milanović
c52202233a
Merge branch 'master' into mmaped_chipdb
2019-02-12 18:53:20 +01:00
David Shah
565d5eed17
ecp5: Fix global routing performance
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-12 10:56:17 +00:00
Gabriel L. Somlo
1b28bdd121
ecp5: cmake: Search for pytrellis.so in multiple locations
...
If a distro-specific "trellis-devel" package is used, the
pytrellis.so library might be located in a dedicated directory,
rather than under TRELLIS_ROOT.
Search for pytrellis.so in a list of directories, then subsequently
use the first match as part of PYTHONPATH.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2019-02-10 06:42:38 -05:00
Miodrag Milanovic
8b0af0e48d
Fix according to comments on PR
2019-02-10 08:33:52 +01:00
Miodrag Milanovic
73f200fe74
Load chipdb from filesystem as option
2019-02-09 13:34:57 +01:00
David Shah
4b7ec5cecb
ecp5: Add --basecfg deprecation warning
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-08 13:52:39 +00:00
David Shah
882775acef
ecp5: Embed baseconfig
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-08 13:44:15 +00:00
David Shah
c900bcc949
Merge branch 'ecp5func'
2019-02-08 12:57:17 +00: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
b8bff6b8b5
Merge pull request #210 from twam/master
...
Search for trellis in /usr/local/share/trellis if not specified with …
2019-01-27 14:56:42 +00:00
Miodrag Milanovic
dbaae51159
Make cross compile possible for mingw
2019-01-27 10:10:37 +01:00
Tobias Müller
95ed84fd91
Search for trellis in /usr/local/share/trellis if not specified with -DTRELLIS_ROOT
2019-01-13 17:15:28 +01:00
David Shah
747380537f
ecp5: Add PULLMODE support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-01-07 14:27:58 +00:00
David Shah
1661350d25
ecp5: Check for incorrect use of TRELLIS_IO 'B' pin
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-25 19:45:10 +00:00
David Shah
e76479f379
ecp5: Fix tristate IO insertion
...
Fixes #191
Signed-off-by: David Shah <davey1576@gmail.com>
2018-12-22 10:11:18 +00:00
David Shah
dc10fe0319
ecp5: Fix ODDR when used with manually instantiated TRELLIS_IO
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-12-19 10:11:29 +00:00
David Shah
d75075e15c
ecp5: Fix IOLOGIC ports at the same constant value
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-12-15 13:52:18 +00:00
David Shah
c01bb88509
ecp5: Add IOLOGIC timing and bitstream; ODDR working
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-14 16:40:38 +00:00
David Shah
9dc845b20d
ecp5: Add ODDR packing
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-14 14:59:14 +00:00
David Shah
36b1650df7
ecp5: Adding IOLOGIC packing
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-14 09:55:04 +00:00
David Shah
b12a8c1a30
ecp5: Add {S}IOLOGIC constids and cell
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-12 19:08:48 +00:00
David Shah
dc549cd56b
Merge pull request #159 from YosysHQ/ecp5_pllplace
...
ecp5: Pre-place PLLs and use dedicated routes into globals
2018-12-01 09:14:34 +00:00
David Shah
5ddf99cf5d
ecp5: Pre-place PLLs and use dedicated routes into globals
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-30 16:09:56 +00:00
David Shah
4e05d09397
Improve reporting of unknown cell types
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-29 19:26:23 +00:00
David Shah
5a1190ade2
ecp5: Fix UR PLL tile coordinates
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-26 15:35:55 +00:00
David Shah
bbeab72ad9
Merge pull request #143 from daveshah1/ecp5_muxes
...
ecp5: Adding support for LUT extension muxes up to LUT7
2018-11-26 09:37:18 +00:00
David Shah
65a5d05952
python: Fixes to get net wires map working
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-22 13:42:20 +00:00
David Shah
76f575fb29
ecp5: Add support for LUT7 mux
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-18 17:17:46 +00:00
David Shah
458aa20161
ecp5: More optimal LUT6 placement
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 17:36:34 +00:00
David Shah
3ae8b86003
ecp5: Adding mux support up to LUT6
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 17:27:23 +00:00
David Shah
94dc54f4fa
ecp5: Add 10% safety margin to pip delays
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:35:01 +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
50b85da619
ecp5: Use speed-grade-specific delay estimate
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:26:28 +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
19cc284b8c
ecp5: Allow selection of device speed grade
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:26:28 +00:00
David Shah
ffe1166e33
ecp5: Post-rebase fix
...
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
cc746d888b
ecp5: Fix timing pip classes
...
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
703ff2818f
ecp5: Fix timing data import
...
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
David Shah
9c52afcf5f
clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:25:51 +00:00
David Shah
cfaa6c0e5d
Merge pull request #119 from cr1901/win-fix
...
nextpnr-ecp5 Windows Fixes
2018-11-16 10:00:13 +00:00
David Shah
f07bd98d59
ecp5: Better use of Boost
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 09:58:18 +00:00
David Shah
7e1df82462
ecp5: Regression fix & format
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:54:28 +00:00
David Shah
91a0927196
ecp5: Support LOC attribute on DCUs
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
01e0da16f0
ecp5: Add DCU availability check
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
02736d0680
ecp5: Add timing info for SERDES
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
084f9cf63f
ecp5: DCU clocking fixes
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
0eba7d9789
ecp5: EXTREFB fixes
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
bc022173f0
ecp5: clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
36178a5713
ecp5: Trim IO connected to top level ports
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
e9fe444dc7
ecp5: Adding ancillary DCU bels
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
37cbabecfb
ecp5: remove debug and clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
c9d83ec08b
dcu: Fix bitstream param handling
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
4f8dfd8e1b
ecp5: Prefer DCCs with dedicated routing when placing DCCs
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
c5a3571a06
ecp5: Working on DCU
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
983903887d
ecp5: DCU bitstream gen handling
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
David Shah
cc9fb1497d
ecp5: Groundwork for DCU support
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-15 11:30:27 +00:00
Eddie Hung
2d39cde17b
Merge remote-tracking branch 'origin/master' into timingapi
2018-11-13 12:12:11 -08:00
Eddie Hung
3b2b15dc4a
Merge pull request #107 from YosysHQ/router_improve
...
Major rewrite of "router1"
2018-11-13 11:39:51 -08:00
David Shah
959d163ba7
ecp5: Improve delay estimates
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-13 14:27:23 +00:00
Pedro Vanzella
710ea1b265
Mark getArchOptions as override in derived classes
2018-11-13 11:03:48 -02:00
Clifford Wolf
06e0e1ffee
Various router1 fixes, Add BelId/WireId/PipId::operator<()
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-13 05:05:56 +01:00
David Shah
d3ad522bfe
ecp5: Copy clock constraints during global promotion
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
fc5e6bec9a
timing: Add support for clock constraints
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
11579a1046
ecp5: EBR clocking fix
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00: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
David Shah
9e5aded5c6
ecp5: Fix 85k PLL_LR
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-11 15:12:27 +00: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
Miodrag Milanovic
0ad5197ff4
show 4th tresllis_io in tile bounds
2018-11-11 08:25:54 +01:00
William D. Jones
14ad19e064
Use native PATH environment-variable separator on Windows for PYTHONPATH. Fixes 'Bad address' error in cmake.
...
Signed-off-by: William D. Jones <thor0505@comcast.net>
2018-11-03 13:12:37 -04:00
William D. Jones
553c611936
Rename io.{h,cc} to pio.{h,cc} to avoid naming conflict with Windows-provided io.h.
...
Signed-off-by: William D. Jones <thor0505@comcast.net>
2018-11-03 13:11:01 -04:00
David Shah
04f9b87101
ecp5: Allow setting IO SLEWRATE
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-01 20:41:51 +00:00
David Shah
e005cc6754
ecp5: Add PLL support
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-31 19:52:41 +00: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
c782f07b1b
ecp5: Add IO buffer insertion
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-31 11:30:09 +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
0ac48c6a08
ecp5: DSP fixes
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-22 16:18:29 +01:00
David Shah
535a6f625a
ecp5: Working on DSPs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-22 11:19:59 +01:00
David Shah
1a06f4b2bd
ecp5: Adding DSP support
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-21 20:07:18 +01:00
David Shah
b5faa7ad10
ecp5: Implement ECP5 equivalent of c9059fc
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-21 17:15:34 +01:00
David Shah
1cde208090
clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-16 14:37:58 +01: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
3aa3f5d796
ecp5: Add DP16KD timing analysis
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-16 13:30:23 +01:00
David Shah
1fc2318c53
ecp5: Optimise DCC placement
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-14 13:22:47 +01:00
David Shah
bda94aa5a5
ecp5: Fix BRAM tile names
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-11 11:51:17 +01:00
David Shah
848ce6d41c
ecp5: Fixing BRAM initialisation
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-10 17:21:37 +01:00
David Shah
f7466110a5
ecp5: Working on BRAM initialisation
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-09 13:13:16 +01:00
David Shah
d716292e3d
ecp5: BRAM improvements with constant/inverted inputs
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-06 15:59:22 +01:00
David Shah
cd688a2784
ecp5: Fixing EBR constant tie-offs
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-05 16:47:03 +01:00
David Shah
85a95ec250
ecp5: Bitstream gen for DP16KD BRAM
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-05 15:53:41 +01:00
David Shah
56ab547aeb
ecp5: Infrastructure for BRAM bitstream gen
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-05 14:36:16 +01:00
David Shah
19f828c91c
ecp5: Dummy timing entry for BRAM
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-05 11:35:37 +01:00
David Shah
48f08e6d39
ecp5: Adding constids for blockram
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-05 10:54:30 +01:00
David Shah
bf7161d2b4
ecp5: Negative clock support, general slice improvements
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-02 15:50:45 +01:00
David Shah
8cbc92b7f3
ecp5: Small DRAM routing fixes
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 18:45:14 +01:00
David Shah
9ebec3b87f
clangformat
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 18:20:14 +01:00
David Shah
fd4498736e
ecp5: Fix packing of FFs into carry/DRAM slices
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 18:19:56 +01:00
David Shah
2c96d4770d
ecp5: Fix DRAM initialisation
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 18:15:11 +01:00
David Shah
3dfc5b864a
ecp5: Remove broken DRAM timing arc
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 17:51:36 +01:00
David Shah
c8a9bb807c
ecp5: Debugging DRAM packing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 17:45:35 +01:00
David Shah
9518c5d762
ecp5: Working on DRAM packing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 17:05:02 +01:00
David Shah
885fae8236
ecp5: Handling of DRAM initialisation and wiring
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 16:43:22 +01:00
David Shah
d770eb672f
ecp5: Helper functions for distributed RAM support
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 15:23:12 +01:00
David Shah
931c78b1bb
ecp5: Improve handling of constant CCU2C inputs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 14:42:19 +01:00
David Shah
e7c8818424
ecp5: Fix carry feed out
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 19:27:06 +01:00
David Shah
6a1b49c311
ecp5: Improve mixed no-FF/FF placement
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 18:39:53 +01:00
David Shah
3e399c9f20
ecp5: Carry packing fixes
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 18:10:20 +01:00
David Shah
9218d2e56b
ecp5: Relative placement and bitstream gen for carries
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 17:42:47 +01:00
David Shah
fef29d8762
ecp5: First stages of carry packing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 17:18:30 +01:00
David Shah
e81a95cf7e
ecp5: Add ccu2c_to_slice
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 17:06:06 +01:00
David Shah
2628344298
ecp5: Support code for carry chain handling
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 16:58:02 +01:00
David Shah
a27c7b45de
Refactor chain finder to its own file
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 16:29:26 +01:00
David Shah
6afc2c75fd
ecp5: Adding carry helper functions
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 15:13:31 +01:00
David Shah
0e0ad26f07
ecp5: Use ArchNetInfo to mark global nets to ignore
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 19:31:49 +01:00
David Shah
ab063b2456
clangformat
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 18:37:17 +01:00
David Shah
11cdc197bc
ecp5: Fix global buffer connectivity and timing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 18:29:23 +01:00
David Shah
f46f205782
ecp5: Fix handling of global to fabric connections
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 18:06:08 +01:00
David Shah
5e46d1eb98
ecp5: Remove excessive debugging from global promoter
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 17:38:39 +01:00
David Shah
c5f9a12bb1
ecp5: Global router produces a working bitstream
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 17:36:08 +01:00
David Shah
c2a062d254
ecp5: Fixing global to global user routing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 17:13:50 +01:00
David Shah
9ff5d5a735
ecp5: Fixing global router bugs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 17:01:19 +01:00
David Shah
2a0bb2be29
ecp5: Integrate global router and debug naming
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 16:49:29 +01:00
David Shah
4cd582478b
ecp5: Adding main global promoter/router function
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 16:37:18 +01:00
David Shah
f7a270a1d8
ecp5: Fix globals.cc following API update
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 16:15:17 +01:00
David Shah
c8674652dc
ecp5: Add SPINE routing to global router
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 16:09:21 +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
dfdaaa6f57
ecp5: Adding DCCA insertion function
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 16:09:21 +01:00
David Shah
97b12fa741
ecp5: Add DCC Bels, fix global router post-rebase
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 16:09:21 +01:00
David Shah
bc10a5646d
ecp5: Working on global router
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 16:06:30 +01:00
David Shah
d43138b022
ecp5: Global routing algorithm up to TAPs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 16:06:30 +01:00
David Shah
7d48acff52
ecp5: Clock usage counter function
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 16:06:30 +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
39e79db854
ecp5: clangformat
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-19 17:12:03 +01:00
David Shah
1b3a201a54
ecp5: Fix delay heuristic
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-19 17:10:55 +01:00
David Shah
ec94848774
ecp5: Add cell delays
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-19 16:59:36 +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
Clifford Wolf
26be6f9761
Merge pull request #47 from YosysHQ/settings_propagate
...
Use settings for placer1 and router1
2018-08-18 19:25:19 +02: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
97520bb728
Merge branch 'master' of github.com:YosysHQ/nextpnr into archattr
2018-08-18 13:06:21 +02:00
David Shah
5fe29922fd
ecp5: Speedup router with slightly better estimates
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-18 11:54:53 +02:00
Clifford Wolf
428f0b9eba
Add Arch attrs API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-14 17:16:14 +02:00
Miodrag Milanovic
93a0d24560
Use settings for placer1 and router1
2018-08-09 18:39:10 +02:00
David Shah
ed602baa06
Merge pull request #42 from YosysHQ/floorplan
...
Add basic data structures for floorplanning
2018-08-09 10:49:11 +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
Miodrag Milanovic
61bce47f3c
Use settings for json and pcf
2018-08-08 20:14:18 +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
Miodrag Milanovic
fc5cee6fb8
clangformat
2018-08-08 18:17:34 +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
f44a5fb904
clangformat
2018-08-06 17:35:23 -07: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
David Shah
1ce0b5add2
API change: Use CellInfo* and NetInfo* as cell/net handles (Python bindings)
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-05 16:21:13 +02:00
Miodrag Milanovic
3bb9a7df01
Added command parser and common implementation
2018-08-05 16:13:34 +02:00
Miodrag Milanović
dc34d4c9ed
Merge pull request #33 from YosysHQ/gui-ecp5
...
Gui ecp5
2018-08-04 04:05:38 -07:00
Miodrag Milanovic
a31c00ed96
Chip selection ui for ECP5
2018-08-04 11:48:29 +02:00
Eddie Hung
d66edf5223
Merge branch 'master' into slack_redist_freq
2018-08-03 23:43:53 -07:00
Eddie Hung
3d5dcda12c
Auto frequency only if --freq 0 is set
2018-08-03 19:53:32 -07:00
David Shah
b937e6defe
Add constraint weight as a command line option
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 18:31:54 +02:00
Miodrag Milanovic
e68ca65e9e
Unify interfaces for gui
2018-08-03 18:23:40 +02:00
David Shah
26c68c4bcc
Remove old place legaliser, set placement constraints instead (currently ignored by placer)
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 13:18:48 +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 Milanović
775dba2bee
Merge pull request #15 from YosysHQ/fix-ecp5-msvc
...
Add missing files and missing includes for MSVC
2018-08-02 08:24:30 -07:00
David Shah
cc32290c1f
ecp5: Write tiletype names in correct order
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-02 16:15:46 +02:00
Miodrag Milanovic
f1893f9681
Add missing files and missing includes for MSVC
2018-08-02 14:51:05 +02:00
Clifford Wolf
6ccf8629b5
Add Router1Cfg
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-02 13:58:23 +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
David Shah
305145ffe4
ecp5: Adding configuration data structures
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-01 15:07:05 +02:00
David Shah
2743d0fa9d
ecp5: Tweak bitstream chip scope
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-01 14:41:36 +02:00
David Shah
1a34d6d334
ecp5: Memory fixes in packer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-01 14:39:56 +02:00
Clifford Wolf
29dd98420b
Remove getFrameDecal() API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-01 11:30:11 +02:00
David Shah
fa4fb52665
ecp5: Making arch.cc compile
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-01 11:21:03 +02:00
Eddie Hung
92ec2cd138
clangformat for stuff I've touched
2018-07-31 20:57:36 -07: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
David Shah
f3127f7dfd
ecp5: Add Bel graphics
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-31 14:39:37 +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
0eaa92bd6a
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-28 12:51:37 -07:00
David Shah
b9d774041b
ecp5: Fix typo
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-27 18:56:19 +02:00
David Shah
32559638d3
ecp5: Fix chipdb builder
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-27 18:48:02 +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
Eddie Hung
d5c2332ebf
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-26 21:00:26 -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
Eddie Hung
749dae4ae5
Remove Arch::getBudgetOverride()
2018-07-25 23:02:31 -07:00
Eddie Hung
9d489e8198
Retry clangformat
2018-07-25 18:34:14 -07:00
Eddie Hung
a21cc4dd5b
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-25 17:55:20 -07:00
Eddie Hung
950f33c1bb
clangformat
2018-07-25 17:53:01 -07:00
Eddie Hung
7c8c13aba1
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-25 17:41:23 -07:00
David Shah
7a8e8999d2
clangformat
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-25 19:45:38 +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
4b6d78ebe7
ecp5: Update trellis_import to use new bbasm
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-25 14:15:39 +02:00
Eddie Hung
c71212d0e1
If --freq not set, attempt to find max by adjusting budget so min path slack == 0
2018-07-24 23:19:24 -07:00
Eddie Hung
9382938661
Merge branch 'master' into redist_slack
2018-07-24 22:20:10 -07:00
David Shah
32c7247785
ecp5: Bitsream gen tuning
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 22:26:26 +02:00
David Shah
5a7e7b2d03
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr
2018-07-24 21:25:41 +02:00
David Shah
6a7f3cd336
ecp5: Working on LVDS inputs for Versa support
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 21:25:33 +02:00
Miodrag Milanovic
c9c3d970c9
Fixed pybiding so generic can work and ecp5 expose all needed
2018-07-24 20:21:31 +02:00
David Shah
3931c84fed
ecp5: Architecture testing and fixing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 16:38:35 +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
35a6bc496e
ecp5: Support for differential IO
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 12:57:54 +02:00
David Shah
f61e9e5609
ecp5: Set BANKREF to correct VccIO
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 12:22:57 +02:00
Eddie Hung
9149012fd1
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-23 18:22:32 -07: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
David Shah
baa673f9ed
ecp5: Helper functions for I/O placement and checking
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-23 18:56:46 +02:00
Eddie Hung
771edd1fda
Merge branch 'master' into redist_slack
2018-07-23 07:16:39 -07: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
Clifford Wolf
38962d0f02
clangformat
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-23 12:45:31 +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
Eddie Hung
926c186ec7
Add Arch::getBudgetOverride() to eliminate hack for COUT
2018-07-21 13:05:09 -07:00
Clifford Wolf
78f40ca0af
Change DelayInfo semantics to what we actually need
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 13:52:59 +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
50bf32665d
ecp5: Tidying up examples
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 16:31:55 +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
74cbaa5b83
ecp5: Simple packer working
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 09:52:53 +02:00
David Shah
f138368e34
ecp5: Add simple constant packer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 09:35:40 +02:00
David Shah
edf7bd09cf
ecp5: Function to handle constant LUT inputs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 21:51:24 +02:00
Clifford Wolf
ddfc535df7
Add ArchNetInfo and ArchCellInfo
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-17 20:04:49 +02:00
David Shah
2eb783d626
ecp5: Fixing packer bugs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 16:45:39 +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
David Shah
6c54d4f93c
ecp5: FF packer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 15:48:34 +02:00
David Shah
b52269bc19
ecp5: LUT packer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 15:44:36 +02:00
David Shah
c0567c0d30
ecp5: Working on packer LUT pairing functionality
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 15:25:10 +02:00
David Shah
7c89aed70e
ecp5: Infrastructure for FF packing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 14:19:21 +02:00
David Shah
eb773f246d
ecp5: Working on packer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 13:41:33 +02:00
David Shah
ac4cdd6604
ecp5: Refactor skeleton of packer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 13:19:27 +02:00
David Shah
0e31a8e266
ecp5: Adding command line options for device type
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 12:50:22 +02:00
David Shah
e6725dcde4
ecp5: Build all chip types
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 12:46:25 +02:00
David Shah
044db02012
ecp5: Major improvements to Trellis importer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 12:21:24 +02:00
David Shah
889e1fc19f
ecp5: Adding cell definitions
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 11:28:59 +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
David Shah
e9668ed618
Fixing hash link problem
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-13 12:42:04 +02:00
Miodrag Milanovic
8e54ac1542
Use command line parameters settings for GUI as well.
2018-07-13 09:14:48 +02:00
Clifford Wolf
b8a42ff53b
Updates from clang-format
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-12 22:04:13 +02:00
David Shah
d16d34736f
ecp5/cmake: Improve error message when trellis/pytrellis not found
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-12 19:59:18 +02:00
David Shah
a8a3ba2647
ecp5: Unbreaking groups
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-12 18:01:40 +02:00
Clifford Wolf
a436035424
Add Groups API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-12 17:22:29 +02:00
David Shah
9e06954edb
ecp5: Improving SLICE bel
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-12 10:09:56 +02:00
Clifford Wolf
6ffae27aa1
Deterministic chipdb blobs
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 18:36:15 +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
Clifford Wolf
7df67c91b3
Add ctx->route() API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 18:04:09 +02:00
Clifford Wolf
2a01b5e4d3
New refreshUi API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 17:02:13 +02:00
David Shah
35216298d5
ecp5: Update arch to use new graphics API
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 14:27:15 +02:00
David Shah
bcc63091fb
ecp5: New libtrellis tile lookup API
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 11:08:12 +02:00
David Shah
eac5a6dbd8
ecp5: Blinky tweaks
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
610adfef7e
ecp5: Make blinky more fancy
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
9a2e8caf1c
ecp5: Buttons working
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
1830c9372e
ecp5: *** Blinky working ***
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
98cdb6082d
ecp5: Bitstream progress
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
29d65bd368
ecp5: Working on bitstream gen
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
b397dd8071
ecp5: Adding bitstream gen for slice config
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
bad926bcc3
ecp5: Adding bitstream gen for pips and LUT init
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
de82ecad59
ecp5: Make target device 45k on account of current hardware access
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
54f06fdf72
ecp5: Adding tiletypes to database
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
6cc6113d5a
ecp5: Link libtrellis library to ecp5 binary
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
863c22620b
ecp5: Dump routing as a sanity check
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
981522b10e
ecp5: Blinky example places and routes
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
417913fd85
ecp5: Architecture fixes
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
49f39b8d56
ecp5: Place design working, router now segfaults due to db issue
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
59cb1600d9
ecp5: Fixing arch bugs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
93f379a488
ecp5: Adding JSON input option (not working yet)
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
c33aa259ad
ecp5: Adding a simple prepacked synth script
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah
bb683d71d6
ecp5: Add 25k database
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:41:36 +02:00
David Shah
6f90c3df61
ecp5: Adding complete binary blob writer to Trellis importer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:41:36 +02:00
David Shah
ee45f57909
ecp5: Starting to add BBA to importer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:41:36 +02:00
David Shah
12b0f7f162
ecp5: Adding Bels to import script
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:41:36 +02:00
David Shah
fdd13edff0
ecp5: Starting to develop a Trellis importer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:41:36 +02:00
David Shah
83303bae5a
ecp5: Implementing (at least stubs) most of arch.cc
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:41:36 +02:00
David Shah
7862d1b84b
ecp5: Implementing core arch.h functions
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:41:36 +02:00
David Shah
c4af52dd5b
ecp5: Working on arch implementation
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:41:36 +02:00
David Shah
eaae6b7dca
ecp5: Begin planning data structures
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:40:16 +02:00