SystemC uint64_t pins are now the default instead of sc_bv<64>.
Use --no-pins64 for backward compatibility.
This commit is contained in:
parent
d8efae2aba
commit
d90071637d
3
Changes
3
Changes
|
|
@ -5,6 +5,9 @@ indicates the contributor was also the author of the fix; Thanks!
|
||||||
|
|
||||||
* Verilator 3.6***
|
* Verilator 3.6***
|
||||||
|
|
||||||
|
** SystemC uint64_t pins are now the default instead of sc_bv<64>.
|
||||||
|
Use --no-pins64 for backward compatibility.
|
||||||
|
|
||||||
*** Support SystemVerilog "cover property" statements.
|
*** Support SystemVerilog "cover property" statements.
|
||||||
|
|
||||||
*** When warnings are disabled on signals that are flattened out, disable
|
*** When warnings are disabled on signals that are flattened out, disable
|
||||||
|
|
|
||||||
|
|
@ -202,13 +202,13 @@ descriptions in the next sections for more information.
|
||||||
--MP Create phony dependency targets
|
--MP Create phony dependency targets
|
||||||
--Mdir <directory> Name of output object directory
|
--Mdir <directory> Name of output object directory
|
||||||
--mod-prefix <topname> Name to prepend to lower classes
|
--mod-prefix <topname> Name to prepend to lower classes
|
||||||
|
--no-pins64 Don't use uint64_t's for 33-64 bit sigs
|
||||||
--no-skip-identical Disable skipping identical output
|
--no-skip-identical Disable skipping identical output
|
||||||
-O0 Disable optimizations
|
-O0 Disable optimizations
|
||||||
-O3 High performance optimizations
|
-O3 High performance optimizations
|
||||||
-O<optimization-letter> Selectable optimizations
|
-O<optimization-letter> Selectable optimizations
|
||||||
--output-split <bytes> Split .cpp files into pieces
|
--output-split <bytes> Split .cpp files into pieces
|
||||||
--output-split-cfuncs <statements> Split .ccp functions
|
--output-split-cfuncs <statements> Split .ccp functions
|
||||||
--pins64 Use uint64_t's for 33-64 bit sigs
|
|
||||||
--prefix <topname> Name of top level class
|
--prefix <topname> Name of top level class
|
||||||
--profile-cfuncs Name functions for profiling
|
--profile-cfuncs Name functions for profiling
|
||||||
--private Debugging; see docs
|
--private Debugging; see docs
|
||||||
|
|
@ -413,6 +413,12 @@ be placed in this directory. If not specified, "obj_dir" is used.
|
||||||
Specifies the name to prepend to all lower level classes. Defaults to
|
Specifies the name to prepend to all lower level classes. Defaults to
|
||||||
the same as --prefix.
|
the same as --prefix.
|
||||||
|
|
||||||
|
=item --no-pins64
|
||||||
|
|
||||||
|
Specifies SystemC outputs of 33-64 bits wide should use sc_bv's instead of
|
||||||
|
uint64_t's. Uint64's are faster, but sc_bvs were the default until
|
||||||
|
Verilator 3.671.
|
||||||
|
|
||||||
=item --no-skip-identical
|
=item --no-skip-identical
|
||||||
|
|
||||||
Rarely needed. Disables skipping execution of Verilator if all source
|
Rarely needed. Disables skipping execution of Verilator if all source
|
||||||
|
|
@ -454,11 +460,6 @@ operations, a new function will be created. With --output-split, this will
|
||||||
enable GCC to compile faster, at a small loss in performance that increases
|
enable GCC to compile faster, at a small loss in performance that increases
|
||||||
with smaller statement values.
|
with smaller statement values.
|
||||||
|
|
||||||
=item --pins64
|
|
||||||
|
|
||||||
Specifies SystemC outputs of 33-64 bits wide should use uint64_t instead of
|
|
||||||
the backward-compatible default of sc_bv's.
|
|
||||||
|
|
||||||
=item --prefix I<topname>
|
=item --prefix I<topname>
|
||||||
|
|
||||||
Specifies the name of the top level class and makefile. Defaults to V
|
Specifies the name of the top level class and makefile. Defaults to V
|
||||||
|
|
@ -977,7 +978,7 @@ following type conversions: Pins of a single bit become bool, unless they
|
||||||
are marked with `systemc_clock, in which case they become sc_clock's (for
|
are marked with `systemc_clock, in which case they become sc_clock's (for
|
||||||
SystemC 1.2, not needed in SystemC 2.0). Pins 2-32 bits wide become
|
SystemC 1.2, not needed in SystemC 2.0). Pins 2-32 bits wide become
|
||||||
uint32_t's. Pins 33-64 bits wide become sc_bv's or uint64_t's depending on
|
uint32_t's. Pins 33-64 bits wide become sc_bv's or uint64_t's depending on
|
||||||
the -pins64 switch. Wider pins become sc_bv's.
|
the --no-pins64 switch. Wider pins become sc_bv's.
|
||||||
|
|
||||||
Lower modules are not pure SystemC code. This is a feature, as using the
|
Lower modules are not pure SystemC code. This is a feature, as using the
|
||||||
SystemC pin interconnect scheme everywhere would reduce performance by an
|
SystemC pin interconnect scheme everywhere would reduce performance by an
|
||||||
|
|
|
||||||
|
|
@ -833,7 +833,7 @@ V3Options::V3Options() {
|
||||||
m_makeDepend = true;
|
m_makeDepend = true;
|
||||||
m_makePhony = false;
|
m_makePhony = false;
|
||||||
m_outFormatOk = false;
|
m_outFormatOk = false;
|
||||||
m_pins64 = false;
|
m_pins64 = true;
|
||||||
m_profileCFuncs = false;
|
m_profileCFuncs = false;
|
||||||
m_preprocOnly = false;
|
m_preprocOnly = false;
|
||||||
m_psl = false;
|
m_psl = false;
|
||||||
|
|
|
||||||
|
|
@ -51,10 +51,10 @@ int sc_main(int argc, char* argv[]) {
|
||||||
sc_signal<bool> reset_l;
|
sc_signal<bool> reset_l;
|
||||||
sc_signal<bool> passed;
|
sc_signal<bool> passed;
|
||||||
sc_signal<uint32_t> in_small;
|
sc_signal<uint32_t> in_small;
|
||||||
sc_signal<sc_bv<40> > in_quad;
|
sc_signal<uint64_t> in_quad;
|
||||||
sc_signal<sc_bv<70> > in_wide;
|
sc_signal<sc_bv<70> > in_wide;
|
||||||
sc_signal<uint32_t> out_small;
|
sc_signal<uint32_t> out_small;
|
||||||
sc_signal<sc_bv<40> > out_quad;
|
sc_signal<uint64_t> out_quad;
|
||||||
sc_signal<sc_bv<70> > out_wide;
|
sc_signal<sc_bv<70> > out_wide;
|
||||||
|
|
||||||
//==========
|
//==========
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue