David Shah
9b83e67460
ecp5: Preparations for new IO bels
...
Signed-off-by: David Shah <dave@ds0.me>
2019-10-09 10:55:10 +01:00
David Shah
cba36239a4
ecp5: Fix parameters
...
Signed-off-by: David Shah <dave@ds0.me>
2019-10-04 14:54:31 +01:00
David Shah
d04e5954a6
ecp5: Adding support for 36-bit wide PDP RAMs
...
Signed-off-by: David Shah <dave@ds0.me>
2019-10-01 12:01:33 +01:00
David Shah
cb71b488ec
Merge pull request #332 from YosysHQ/dave/python-refactor
...
Improving Python API and adding docs for it
2019-09-19 20:15:42 +01:00
David Shah
8351ae275e
Merge branch 'precompiled-bba' of https://github.com/xobs/nextpnr into xobs-precompiled-bba
2019-09-19 16:02:10 +01:00
David Shah
f8719a5717
Merge pull request #330 from zeldin/bba
...
bba: Default to native endian in bbasm
2019-09-19 15:57:23 +01:00
Sean Cross
062091e9e4
ecp5: add support for PREGENERATED_BBA_PATH
...
Support pre-generated bba files to speed up compiling on Windows
and get it compiling on Darwin.
Signed-off-by: Sean Cross <sean@xobs.io>
2019-09-17 11:32:44 +08:00
David Shah
d5e4986e1b
python: Refactor out bindings shared between ECP5 and iCE40
...
Signed-off-by: David Shah <dave@ds0.me>
2019-09-15 16:15:07 +01:00
David Shah
c2299c8972
python: Fix getWireBelPins
...
Fixes #327
Signed-off-by: David Shah <dave@ds0.me>
2019-09-15 15:59:16 +01:00
Marcus Comstedt
2f9b04fd56
CMake: Generate chipdbs in build tree when building out-of-tree
...
Signed-off-by: Marcus Comstedt <marcus@mc.pp.se>
2019-09-15 13:42:17 +02:00
Marcus Comstedt
3d9ce8836c
bba: Require explicit endianness flag, and supply it
...
Signed-off-by: Marcus Comstedt <marcus@mc.pp.se>
2019-09-15 12:30:03 +02:00
David Shah
bc6b47efe0
Merge pull request #329 from YosysHQ/dave/net_aliases
...
json: Add support for net aliases
2019-09-13 19:01:26 +01:00
David Shah
95540763b9
json: Add support for net aliases
...
Signed-off-by: David Shah <dave@ds0.me>
2019-09-13 17:27:15 +01:00
David Shah
2ace9b5ad3
ecp5: Move clock constraints across IO and DCCA
...
Signed-off-by: David Shah <dave@ds0.me>
2019-09-13 16:50:07 +01:00
Sean Cross
f98960b936
ecp5: use $PYTHON_EXECUTABLE for python path
...
Sometimes the python executable might have a different name. Cmake
sets the $PYTHON_EXECUTABLE variable to point to the binary path,
so use this variable.
Signed-off-by: Sean Cross <sean@xobs.io>
2019-09-09 22:10:51 +08:00
David Shah
04be9a71f9
ecp5: Add support for clock gating with DCCA
...
Signed-off-by: David Shah <dave@ds0.me>
2019-08-31 10:45:12 +01: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
Arnaud Durand
a26c9bb6d9
Rename clock restriction attribute to "noglobal"
2019-08-24 18:09:42 +02:00
Arnaud Durand
a947f09bfb
Restrict clock promotion to global
2019-08-22 00:43:03 +02:00
David Shah
c70f87e4c5
Merge pull request #309 from YosysHQ/dsptiming
...
ecp5: Conservative analysis of comb DSP timing
2019-08-09 10:27:15 +01:00
David Shah
c9969c1593
Add deprecation warning for default packages
...
Signed-off-by: David Shah <dave@ds0.me>
2019-08-08 21:35:55 +01:00
David Shah
f0abbc71b5
ecp5: Fix handling of missing ports in LUT permutation
...
Fixes #310
Signed-off-by: David Shah <dave@ds0.me>
2019-08-08 21:24:01 +01:00
David Shah
e55946bec7
clangfromat
...
Signed-off-by: David Shah <dave@ds0.me>
2019-08-07 14:46:53 +01:00
David Shah
661237eb64
ecp5: Add --out-of-context for building hard macros
...
Signed-off-by: David Shah <dave@ds0.me>
2019-08-07 14:22:47 +01:00
David Shah
7126dacccd
ecp5: Add a check for legacy parameter values
...
Signed-off-by: David Shah <dave@ds0.me>
2019-08-06 09:53:33 +01:00
David Shah
ec48f8f464
ecp5: New Property interface
...
Signed-off-by: David Shah <dave@ds0.me>
2019-08-05 17:22:37 +01:00
David Shah
1839a3a770
Major Property improvements for common and iCE40
...
Signed-off-by: David Shah <dave@ds0.me>
2019-08-05 14:52:15 +01:00
David Shah
d297a96dc1
ecp5: Fix missing LUT inputs, fixes #301
...
Signed-off-by: David Shah <dave@ds0.me>
2019-07-10 09:34:22 +01:00
David Shah
2da41a66c7
ecp5: Conservative analysis of comb DSP timing
...
Signed-off-by: David Shah <dave@ds0.me>
2019-07-08 15:09:54 +01:00
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