| Age | Commit message (Collapse) | Author |
|
This patch adds support for icepll to try multiple input frequencies to
find the best crystal for the desired output frequency.
The values tested comes either from a specified file using-B, or from a
default set of frequencies from Mousers "normally stocked" crystal
oscillators.
|
|
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
On Windows, attempting to generate a netpbm image of the CRAM with
`icepack -b` causes the tool to crash after writing only the netpbm
header due to a stack overflow. The bug did not appear on Linux.
This was traced to a large stack-allocated variable length array
(`tile_type`) inside `FpgaConfig::write_cram_pbm`. For an 8k ice40 with
4 banks, `cram_width = 872` and `cram_height = 272` the `tile_type`
array ends up at `4 * 872 * 272 * sizeof(uint32_t) =` 3794944 bytes, or
about 3.6 MiB.
The fix replaces the large stack VLA with an array of 4 (bank) 2D C++
vectors, moving the large amount of data to the heap. Even though the
fix is not in a Windows-specific code path (and hence applies to all
platforms), I think it's wise to eliminate such a large stack allocation
entirely.
The fix has been tested working on both Windows and an Ubuntu WSL
install.
|
|
Allow the name of the Python interpreter to be changed.
Signed-off-by: Sean Cross <sean@xobs.io>
|
|
Don't hardcode `python3` as the name of the Python interpreter.
Signed-off-by: Sean Cross <sean@xobs.io>
|
|
Allow `python` to be provided by an interpreter other than `python3`.
Signed-off-by: Sean Cross <sean@xobs.io>
|
|
This variable can be overridden on platforms where python is not called
`python3`.
Signed-off-by: Sean Cross <sean@xobs.io>
|
|
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
Make iceprog optional
|
|
Avoids dependency on libftdi.
|
|
iceprog: Better reset of flash
|
|
Fix piping on windows
|
|
#228
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
If the flash was in a 'weird' mode (like CRM, QPI, ...), sending
a continuous stream of 0xff should take it out of it.
It looks like the previous code was trying to do that, but
was only transferring 8 bits and then 2 bits which is way
too short.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
On windows stdin and stdout have to be set to binary as otherwise windows treats it as text and converts occurences of CRLF to LF
|
|
up5k: Fix TOPADDSUB_CARRYSELECT_0 override where it swaps with osc tr…
|
|
Signed-off-by: David Shah <dave@ds0.me>
|
|
add RGB_DRV/LED_DRV_CUR for u4k
|
|
icepll: Add support for writing output data to stdout
|
|
|
|
Reduce icebox build time
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
icetime: Add generated timings-*.cc files to .gitignore and 'make clean'
|
|
|
|
|
|
icepll: Avoid segmentation fault, if opening of output file fails
|
|
|
|
icepll: In quiet mode don't print info about target file name
|
|
|
|
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
Option for icepack to skip initializing BRAM (tested for ice40hx8k) with "-n"
|
|
|
|
Fix warnings: 'may be used uninitialized in this function'
|
|
icetime.cc: In member function ‘double TimingAnalysis::report(std::__cxx11::string)’:
icetime.cc:1095:15: warning: ‘last_time’ may be used uninitialized in this function [-Wmaybe-uninitialized]
fprintf(frpt, "%10.3f ns ..%7.3f ns %s\n", first_time, last_time, last_net.c_str());
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
icetime.cc:1095:15: warning: ‘first_time’ may be used uninitialized in this function [-Wmaybe-uninitialized]
|
|
Add -X option to iceprog
|
|
In my setup, in OSX I have problems reading from libftdi but not writing. In case of a failure iceprog exits and leaves the FPGA in an useless state. I think it would be a good option to have the possibility to skip the verification process.
|
|
icetime: Split timing 'get_delay' functions per device
|
|
docs: Add new Eigen3 dependency
|