| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\
| |
| | |
Fix arch checks, and add these to CI
|
| |
| |
| |
| | |
Signed-off-by: David Shah <dave@ds0.me>
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
`if(NOT DEFINED)` is not appropriate since a variable that contains
`-NOTFOUND` still counts as `DEFINED`. This can cause issues if
configuration fails, writes `-NOTFOUND` to the cache, and is then
restarted.
|
|/
|
|
| |
Signed-off-by: David Shah <dave@ds0.me>
|
| |
|
| |
|
|\
| |
| | |
Simplify and improve chipdb embedding/loading
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: David Shah <dave@ds0.me>
|
|\
| |
| | |
Port nextpnr-{ice40,ecp5} to WASI
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This involves very few changes, all typical to WASM ports:
* WASM doesn't currently support threads or atomics so those are
disabled.
* WASM doesn't currently support exceptions so the exception
machinery is stubbed out.
* WASM doesn't (and can't) have mmap(), so an emulation library is
used. That library currently doesn't support MAP_SHARED flags,
so MAP_PRIVATE is used instead.
There is also an update to bring ECP5 bbasm CMake rules to parity
with iCE40 ones, since although it is possible to embed chipdb into
nextpnr on WASM, a 200 MB WASM file has very few practical uses.
The README is not updated and there is no included toolchain file
because at the moment it's not possible to build nextpnr with
upstream boost and wasi-libc. Boost requires a patch (merged, will
be available in boost 1.74.0), wasi-libc requires a few unmerged
patches.
|
|\ \
| | |
| | | |
Fixes for the Lattice SERDES eye demo designs
|
| | |
| | |
| | |
| | | |
Signed-off-by: David Shah <dave@ds0.me>
|
| | |
| | |
| | |
| | | |
Signed-off-by: David Shah <dave@ds0.me>
|
| | |
| | |
| | |
| | | |
Signed-off-by: David Shah <dave@ds0.me>
|
| |/
| |
| |
| | |
Signed-off-by: David Shah <dave@ds0.me>
|
| |
| |
| |
| | |
Signed-off-by: David Shah <dave@ds0.me>
|
|\ \
| |/
|/| |
Fix spelling of 'unsupported'
|
| |
| |
| |
| | |
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
|
|/ |
|
|
|
|
| |
Signed-off-by: David Shah <dave@ds0.me>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the REG_INPUTA_CLK and REG_INPUTB_CLK values are set, then we should
use the faster setup/hold timings for the 18x8 multiplier.
Similarly, check the value of REG_OUTPUT_CLK for whether or not to use
faster timings for the output.
This is based on how I currently understand the registers to work - if
anyone knows the actual rules for when each timing applies please do
chime in to correct this implementation if necessary.
Along the same lines, this PR does not address the case when the
pipeline registers are enabled, since it is not clear to me how exactly
that affects the timing.
|
|
|
|
| |
Signed-off-by: David Shah <dave@ds0.me>
|
|
|
|
| |
Signed-off-by: David Shah <dave@ds0.me>
|
| |
|
|
|
|
| |
Signed-off-by: David Shah <dave@ds0.me>
|
|
|
|
| |
Signed-off-by: David Shah <dave@ds0.me>
|
|\
| |
| | |
Add support for REGMODE to DP16KD
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Handle OPENDRAIN attribute.
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Trying to parse this invalid LPF syntax:
LOCATE COMP "a" SITE "A1"
IOBUF PORT "a" IO_TYPE=LVCMOS33;
(note missing semicolon on first line) gives an assertion failure in
strip_quotes, because the fifth token is scanned as "A1"IOBUF (without
a trailing quote).
Avoid the problem by detecting extraneous input and issuing a more
specific error.
|
| |
| |
| |
| | |
Signed-off-by: David Shah <dave@ds0.me>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Tested and verified working: the trivial configuration:
module USRMCLK( USRMCLKI, USRMCLKTS );
input USRMCLKI, USRMCLKTS;
endmodule
module top( input clk );
reg[ 24:0 ] count = 0;
always @( posedge clk ) begin
count <= count + 1'b1;
end
USRMCLK mspi( .USRMCLKI( count[ 20 ] ), .USRMCLKTS( count[ 24 ] ) );
endmodule
produces the expected output (toggling at high frequency, toggling
tri-state at lower frequency) on an LFE5U-85 when fed with an appropriate
clock. See https://bayimg.com/AAnNKAAGO for an example. The top
(magenta) trace is the MCLK line.
|
| |
| |
| |
| |
| |
| | |
- Lattice component EHXPLLL parameter compatibility, allowing to
pass an int parameter for the enum (as expected by trellis tile)
e.g. CLKOP_TRIM_DELAY : integer := 0;
|