SystemC uint64_t pins are now the default instead of sc_bv<64>.

Use --no-pins64 for backward compatibility.
This commit is contained in:
Wilson Snyder 2008-09-18 09:20:16 -04:00
parent d8efae2aba
commit d90071637d
4 changed files with 14 additions and 10 deletions

View File

@ -5,6 +5,9 @@ indicates the contributor was also the author of the fix; Thanks!
* 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.
*** When warnings are disabled on signals that are flattened out, disable

View File

@ -202,13 +202,13 @@ descriptions in the next sections for more information.
--MP Create phony dependency targets
--Mdir <directory> Name of output object directory
--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
-O0 Disable optimizations
-O3 High performance optimizations
-O<optimization-letter> Selectable optimizations
--output-split <bytes> Split .cpp files into pieces
--output-split-cfuncs <statements> Split .ccp functions
--pins64 Use uint64_t's for 33-64 bit sigs
--prefix <topname> Name of top level class
--profile-cfuncs Name functions for profiling
--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
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
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
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>
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
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
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
SystemC pin interconnect scheme everywhere would reduce performance by an

View File

@ -833,7 +833,7 @@ V3Options::V3Options() {
m_makeDepend = true;
m_makePhony = false;
m_outFormatOk = false;
m_pins64 = false;
m_pins64 = true;
m_profileCFuncs = false;
m_preprocOnly = false;
m_psl = false;

View File

@ -51,10 +51,10 @@ int sc_main(int argc, char* argv[]) {
sc_signal<bool> reset_l;
sc_signal<bool> passed;
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<uint32_t> out_small;
sc_signal<sc_bv<40> > out_quad;
sc_signal<uint64_t> out_quad;
sc_signal<sc_bv<70> > out_wide;
//==========