Commit Graph

731 Commits

Author SHA1 Message Date
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