Sylvain Munaut
519d4e2af8
ice40: Add support for SB_GB_IO
...
During packing we replace them by standard SB_IO cells and create the
'fake' SB_GB that matches that IO site global buffer connection.
It's done in a separate pass because we need to make sure the nextpnr iob
have been dealt first so we have our final Bel location on the SB_IO.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2018-11-19 18:20:20 +01:00
Sylvain Munaut
d8e4c21d96
ice40: Add support for PLL global outputs via PADIN
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2018-11-19 18:20:20 +01:00
Sylvain Munaut
bc9f2da470
ice40: Introduce the concept of forPadIn SB_GB
...
Those are cells that are created mainly to handle the various sources a
global network can be driven from other than a user net.
When the flag is set, this means the global network usually driven by
this BEL is in fact driven by something else and so that SB_GB BEL and
matching global network can't be used.
This is also what gets used to set the extra bits during bitstream
generation.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2018-11-19 18:20:20 +01:00
Sylvain Munaut
42fbb110fc
ice40/bitstream: Handle IoCtrl.IE_ polarity when configuring unused SB_IO
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2018-11-19 13:12:43 +01:00
Sylvain Munaut
01950a2349
ice40/bitstream: Convert to UNIX line endings
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2018-11-16 16:24:56 +01:00
David Shah
20aa0a0eed
ice40: Remove unnecessary RAM assertion
...
Fixes #121
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:18:53 +00:00
David Shah
becf3021bd
ice40: Don't set colbuf bits for 384
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-11-11 23:52:04 +01:00
David Shah
ea03aafc26
clangformat
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 15:13:18 +01:00
David Shah
dea87e46c4
ice40: LVDS input bitstream support
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-24 17:58:55 +01:00
Miodrag Milanovic
3c51007026
do not break if there are no nets loaded from sym section
2018-08-18 10:28:50 +02:00
Clifford Wolf
e03ae50e21
Get rid of PortPin and BelType (ice40, generic, docs)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-08 17:01:18 +02:00
Clifford Wolf
5e53075990
API change: Use CellInfo* and NetInfo* as cell/net handles (common, ice40)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-05 15:25:42 +02:00
Clifford Wolf
287fe7e894
clangformat
2018-08-05 14:18:34 +02:00
David Shah
67347573c2
ice40: Bitstream gen for LUT permutation
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-04 18:23:48 +02:00
David Shah
35bc80e130
ice40: Add bitstream gen for routethru LUTs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 09:26:37 +02:00
David Shah
0414c93403
ice40: Add HFOSC support, force fabric routing on oscillators for now
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-01 09:45:08 +02:00
Sergiusz Bazanski
85fc356fc1
clangformat
2018-08-01 03:59:27 +01:00
Eddie Hung
950f33c1bb
clangformat
2018-07-25 17:53:01 -07:00
Sergiusz Bazanski
90ba958abe
ice40: fixes before review
2018-07-24 03:19:22 +01:00
Sergiusz Bazanski
eaae1d299c
ice40: move PLL->IO from pseudo pip to second uphill bel
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
65ceb20784
ice40: emit list of upbels in chipdb
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
fae7994bc3
clang-format
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
dbf79d78bb
ice40: A slightly nicer way to do this.
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
e6c7b14465
ice40: Refactor PLL/LOCK LUT splicing out into Arch::
2018-07-24 02:55:40 +01:00
Sergiusz Bazanski
2b1f7875bb
ice40: Implement emitting PLLs
2018-07-24 02:38:10 +01:00
David Shah
bfa1137fe0
clangformat
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-23 13:02:57 +02:00
Miodrag Milanovic
b9c413a5aa
Move to new API and remove deprecated
2018-07-22 19:58:17 +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
Miodrag Milanovic
f438fc615b
Added driver and users for nets
2018-07-21 20:21:48 +02:00
Miodrag Milanovic
3175891cb5
Map ports to nets
2018-07-21 19:48:00 +02:00
Miodrag Milanovic
57c63e6921
create io cells out of asc
2018-07-21 17:54:35 +02:00
Miodrag Milanovic
912a79dc33
add cells that are in default state or no configuration
2018-07-21 17:38:22 +02:00
Miodrag Milanovic
7beb4739d4
Add used cells and attach them to bels
2018-07-21 17:04:47 +02:00
Miodrag Milanovic
13339c0355
Assign proper pips
2018-07-21 15:08:49 +02:00
Miodrag Milanovic
3afcd812c9
add only missing net
2018-07-21 14:41:04 +02:00
Miodrag Milanovic
20941292ad
fix introduced bug
2018-07-21 09:22:09 +02:00
Miodrag Milanovic
34ec70e88b
Bind wires to net
2018-07-20 18:42:27 +02:00
Miodrag Milanovic
6c835d76f2
Few more checks on parameters and error eol
2018-07-20 14:06:53 +02:00
Miodrag Milanovic
53034959f3
Start adding bitstream reading for ice40
2018-07-20 13:27:21 +02:00
David Shah
bff7d673ed
ice40: Packer and bitstream gen support for MAC16s
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 14:03:48 +02:00
David Shah
d221e90706
Reducing performance cost of asserts
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 11:43:10 +02:00
David Shah
ddd94edfe0
ice40: Fixes for inverted clocks
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 14:01:19 +02:00
David Shah
c75a924c3f
ice40: Assign ArchArgs after packing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-18 12:12:05 +02:00
Sergiusz Bazanski
d327a0afbb
Revert "Make ice40::Arch thread-safe"
...
This reverts commit 0816f447b7
.
2018-07-14 19:01:33 +01:00
Sergiusz Bazanski
2233040201
Revert "Remove legacy access to state via Arch"
...
This reverts commit 18b4b31678
.
2018-07-14 18:50:15 +01:00
Sergiusz Bazanski
18b4b31678
Remove legacy access to state via Arch
2018-07-14 12:02:28 +01:00
Sergiusz Bazanski
0816f447b7
Make ice40::Arch thread-safe
...
We move all non-chip data to be private and guard them with an R/W
mutex.
We then modify all calls that access these fields to lock/shared_lock
the mutex as required.
Profiling the code before and after is an exercise left to the reader
:).
2018-07-13 12:35:39 +01: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
2e8c0c872f
Add NPNR_ASSERT_FALSE, use in bitstream.cc
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 13:04:31 +02:00
David Shah
e0a851976f
refactor: Replace assert with NPNR_ASSERT
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 12:15:23 +02:00