Commit Graph

111 Commits

Author SHA1 Message Date
Matt Venn d06a967590 Update Claire's name and fix the reference image in the iceprog help 2025-06-03 11:06:08 +02:00
Jason Thorpe 98d4c3d7c3 Tweak the FreeBSD version of proc_self_dirname() to work on NetBSD
and use it.
2024-03-02 18:06:27 -08:00
Miodrag Milanović eaea10ba4c
Merge pull request #291 from maikmerten/master
icetime: Parse PCF files with -pullup and -pullup_resistor in set_io directives
2022-05-30 10:08:40 +02:00
gatecat b5f9560233 icetime: Ignore false paths through LUTs based on function
Signed-off-by: gatecat <gatecat@ds0.me>
2022-03-29 13:24:51 +01:00
Maik Merten c9ad6ca881 icetime: indent with tabs 2022-03-05 17:36:21 +01:00
Maik Merten 5b5c7ce599 icetime PCF parsing: handle -pullup and -pullup_resistor in set_io constraints 2022-03-05 17:33:14 +01:00
Miodrag Milanovic 9880f6e2dd Update variable name to PYTHON3 2021-09-06 11:11:52 +02:00
Miodrag Milanović f14a7fb4ca
Merge pull request #239 from xobs/python-bin-name
Use $(PYTHON) in Makefiles instead of `python3`
2021-09-06 11:08:23 +02:00
Miodrag Milanovic af42a45b91 Enable rest of lattice parts in icetime 2020-07-08 19:48:11 +02:00
Miodrag Milanovic 4b54d341de Prevent rebuilding timing files 2020-07-08 19:28:18 +02:00
Claire Wolf cc24caa4c6
Merge pull request #254 from per-gron/fix-oob
Fix array out of bounds access bug
2020-06-25 18:26:00 +02:00
Ed Maste e52149944e icetime: avoid string + int Clang warning
Clang warns that "adding 'int' to a string does not append to the string".
Although a false positive it's trivially avoided by using the array index
equivalent &PREFIX[1].
2020-05-28 13:33:47 -04:00
Per Grön 4590de5c7f Fix array out of bounds access bug
This is triggered for example when icetime is invoked with an empty design.
2020-05-25 16:57:01 +02:00
Miodrag Milanovic 0c97a5519b Explicit include to compile with GCC 10 2020-04-17 12:27:17 +02:00
Miodrag Milanovic fe3086a733 Support custom PROGRAM_PREFIX 2020-04-10 10:05:17 +02:00
Sean Cross bc84cef2b1 icetime: use $(PYTHON) in Makefile
Allow the name of the Python interpreter to be changed.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-10-22 14:09:18 +08:00
Michael Buesch fab366e81d icetime: Add generated timings-*.cc files to .gitignore and make clean 2019-06-07 22:55:48 +02:00
Clifford Wolf aa5a623bb3 Add missing C headers to timings.py
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-05-22 11:59:21 +02:00
Michael Buesch 9f48587713 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]
2019-04-30 22:08:47 +02:00
Sylvain Munaut 472fd1a56f icetime: Split timing 'get_delay' functions per device
This should reduce the memory requirement during build of icetime, not
trying to compile one huge file all at once

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-03-20 11:38:36 +01:00
gojimmypi 865cb895bf clarify empty design message. See Isse #204 2019-03-10 15:56:54 -07:00
Clifford Wolf 90f0e40cb8
Merge pull request #184 from nathanrossi/nrossi/portable-chipdb
icetime: Add support for searching for chipdb relative to binary
2018-10-30 11:28:34 +01:00
Jon Burgess ccb2b40412 Fix compile warning in icetime.cc
icetime.cc: In function ‘std::__cxx11::string ecnetname_to_vlog(std::__cxx11::string)’:
icetime.cc:1323:32: warning: catching polymorphic type ‘class std::invalid_argument’ by value [-Wcatch-value=]
  } catch(std::invalid_argument e) { // Not numeric and stoi throws exception
2018-10-28 19:27:56 +00:00
Nathan Rossi c1c13f3b3e icetime: Add support for searching for chipdb relative to binary
Like yosys and arachne-pnr, allow for searching for the desired chipdb
file relative to the executing binaries directory. This allows for
portable builds of icetime without needing to specify the exact path to
the needed chipdb file with the -C arg.

In order to support this icetime must be able to get the
"proc_self_dirname" path just like yosys and arachne-pnr. As such copy
the equivalent code to get this path information. To avoid cluttering
the icetime.cc file with this code, place it in a separate iceutil.cc
file.

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2018-09-03 23:11:26 +10:00
Clifford Wolf 8cac6c5840 Also install text timing databases
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-30 16:04:04 +02:00
David Shah c588247387 icetime: Remove non-existent paths from ce/sr to ltout
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 18:51:17 +02:00
Tim 'mithro' Ansell b1d0af7edd icetime: Output where the chipdb should be found.
Makes it easier to know where it can't be.
2018-06-14 17:31:32 -07:00
Clifford Wolf f23b1f212a Fix icetime for .asc files that do not contain all tiles
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 14:32:52 +02:00
Tim 'mithro' Ansell dc5a4d9934 icetime: Lowercase the device type information.
Makes `-d HX1K` work as well as `-d hx1k`.
2018-06-11 15:59:19 -07:00
Robert Ou 3bee3cfead Mount NODEFS if using emscripten and nodejs
Mounts root directory on `/hostfs` and the current working directory on
`/hostcwd`
2018-03-31 14:10:36 -07:00
David Shah c1d7ef8b52 Fix handling of a port name like CLKHF_FABRIC in icetime
Signed-off-by: David Shah <davey1576@gmail.com>
2018-02-28 15:04:57 +00:00
David Shah 4cdf41c840 Properly ignore unsupported cell types 2018-02-19 09:26:59 +00:00
Clifford Wolf 594644e755 Fix compiler warning (comparison between signed and unsigned int) in icetime
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-02-09 16:38:53 +01:00
David Shah a5849e3ba8 Misc UltraPlus fixes 2018-01-30 10:15:59 +00:00
David Shah aa2b857d73 Updated 5k timing data, icetime regression fix 2018-01-29 14:02:37 +00:00
David Shah dd49c058a5 DSP related fixes 2018-01-28 16:38:46 +00:00
David Shah a6b2ca91e5 Working DSP timing analysis 2018-01-26 19:08:16 +00:00
David Shah cd4352e0ce Work on timing analysis of DSPs 2018-01-26 18:35:35 +00:00
David Shah 49dfe15d8c Parse extra cells in icetime 2018-01-23 09:56:14 +00:00
David Shah 420ef041b6 More DSP timing fuzzing, start adding new tiles to icetime 2018-01-22 17:03:16 +00:00
David Shah baa7a45c2e Initial 5k support in icetime (no support for new cells yet) 2017-11-24 16:41:34 +00:00
Robert Ou 05440e4d62 Fix up build system to work with emscripten 2017-11-15 03:13:35 -08:00
Robert Ou 4111f9cca5 makefile: Make install target work for Windows 2017-07-16 20:59:55 -07:00
Cliff L. Biffle e787fa2d30 icetime: never silently truncate asc file lines
icetime was reading the asc configuration file using a 128-byte line
buffer -- which is usually fine, but can cause it to truncate the names
of nets given in .sym lines if those names are very, very long.  The way
fgets was being used meant this went undetected.

Long net names like this can arise in deeply hierarchical designs,
particularly if there's a code generator involved.

This change:
1. Increases the buffer size to 64kiB.
2. Adds a truncation check that causes icetime to fail.

A more robust solution would manage the line buffer on the heap, since
the symbol gets copied into a std::string anyway, but this is a
workaround for now.
2017-05-09 08:06:43 -07:00
Clifford Wolf b2b7985e81 Add LP384 support to icetime 2017-03-13 11:34:02 +01:00
Clifford Wolf 7d98cd82f9 Add "icetime -N" 2017-02-26 11:45:54 +01:00
Elvira Khabirova ea82010fbf Clean up Makefiles 2017-02-12 16:13:03 +03:00
Clifford Wolf 01b9822638 Removed icetime estimate warning 2016-11-01 11:34:50 +01:00
Salvador E. Tropea 1fb08362d9 Added a new config variable CHIPDB_SUBDIR. It determines the subdir name
used in $(PREFIX)/share/ to install the chip database. This provides a
mechanism to choose a directory different than icebox (default).
I.e. fpga-icestorm/chipdb for Debian.
2016-10-13 16:58:21 -03:00
Clifford Wolf 9ab00ea131 Added "icetime -C <chipdb-file>" 2016-10-02 15:18:48 +02:00