3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-27 19:05:52 +00:00
Commit graph

12 commits

Author SHA1 Message Date
Catherine
a94fafa8fe cxxrtl: add a representation of simulation timestamps.
While the VCD format separates the timescale and the timestep (likely
to allow representing the timestep with a small integer type), time in
CXXRTL is represented using a uniform 96-bit number, which allows for
a ±100 year range at femtosecond resolution.

The implementation uses `value<96>`, which provides fast arithmetic and
comparison operations, as well as conversion to/from a more common
representation of integer seconds plus femtoseconds.
2024-01-05 19:01:45 +00:00
Martin Povišer
449e3dbbd3 cxxrtl: Mask bmux result appropriately 2023-12-14 06:57:28 +00:00
Merry
d7cb6981b5 cxxrtl: Fix value::ctlz 2023-12-13 12:21:44 +00:00
Merry
ded63bedd5 cxxrtl: Fix value::sshr 2023-12-13 12:11:57 +00:00
Merry
ff53f3d2b6 cxxrtl: Fix value::shl 2023-12-13 12:02:30 +00:00
Martin Povišer
18d1907fa8 cxxrtl: Assert well-formedness of input to udivmod 2023-12-12 10:08:12 +01:00
Martin Povišer
6206a3af30 cxxrtl: Handle case of Bits < 4 in formatting of values 2023-12-12 09:51:17 +01:00
Martin Povišer
c848d98d91 cxxrtl: Fix udivmod logic 2023-12-11 22:11:35 +01:00
Martin Povišer
bcf5e92389 cxxrtl: Fix ctlz implementation 2023-12-11 22:10:51 +01:00
Merry
0681baae19 cxxrtl: Extract divmod algorithm into value 2023-12-09 19:23:04 +00:00
Merry
99c8143ded cxxrtl: Remove redundant divmod 2023-12-09 19:23:04 +00:00
Catherine
62bbd086b1 cxxrtl: reorganize runtime component files.
In preparation for substantial expansion of CXXRTL's runtime, this commit
reorganizes the files used by the implementation. Only minimal changes are
required in a consumer.

First, change:
  -I$(yosys-config --datdir)/include
to:
  -I$(yosys-config --datdir)/include/backends/cxxrtl/runtime

Second, change:
  #include <backends/cxxrtl/cxxrtl.h>
to:
  #include <cxxrtl/cxxrtl.h>
(and do the same for cxxrtl_vcd.h, etc.)
2023-11-28 15:32:36 +00:00