Commit Graph

95 Commits

Author SHA1 Message Date
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
Jesús Arroyo Torrens fb2b83a19b icetime: support PREFIX expansion for win32 2016-08-23 21:30:00 +02:00
Clifford Wolf 12b2295c90 Only define _GNU_SOURCE for vasprintf() when not _WIN32 2016-07-26 10:31:22 +02:00
Yury Gribov 8a7a746ca9 Explicitly ask for vasprintf where appropriate. 2016-07-26 10:26:05 +02:00
Clifford Wolf 49e3ad404a Bugfix in icetime .pcf parser 2016-06-14 09:34:06 +02:00
Clifford Wolf 6a0fabcfa8 Better icetime error message for empty designs 2016-06-14 09:22:03 +02:00
Clifford Wolf 4fbc8d20b6 Bugfix for when e.g. PLL LOCK drives longest path 2016-05-16 15:18:25 +02:00
Clifford Wolf a3510a4c11 Some icetime json format fixes 2016-05-16 11:57:13 +02:00
Clifford Wolf a9ca5ef543 icetime: only include "net" in json output if different from hwnet 2016-05-16 11:47:33 +02:00
Clifford Wolf a2f635f3f1 icetime: json now contains net and hwnet 2016-05-16 11:39:23 +02:00
Clifford Wolf bafd99bd84 Added icetime json output format (icetime -j) 2016-05-15 22:19:40 +02:00
Clifford Wolf b1d6d0a5ca Added "icetime -c" 2016-05-03 22:37:50 +02:00
Clifford Wolf 6178dfbbd6 Added Makefile support for "make STATIC=1" 2016-03-02 12:34:51 +01:00
Clifford Wolf 0ac6a3545a Fixed make_lc40 with y=0 bug #32 2016-02-29 10:53:29 +01:00
Ruben Undheim 798eb52556 fix a few spelling errors 2016-02-27 09:37:47 -07:00
Clifford Wolf a519d2ab82 Added/improved support for mxe-based win32 cross builds 2016-02-14 13:47:27 +01:00
Clifford Wolf 04e6143457 Cleanups for PREFIX patch 2016-02-10 19:02:06 +01:00