Fix FST tracing of little endian vectors

This commit is contained in:
Geza Lore 2020-05-03 21:55:22 +01:00
parent 16e258eb4c
commit 8afcd67a1f
8 changed files with 456 additions and 16 deletions

View File

@ -5,6 +5,8 @@ The contributors that suggested a given feature are shown in []. Thanks!
* Verilator 4.035 devel
**** Fix FST tracing of little bit endian signals. [Geza Lore]
* Verilator 4.034 2020-05-03

View File

@ -132,9 +132,10 @@ void VerilatedFst::declDTypeEnum(int dtypenum, const char* name, vluint32_t elem
m_local2fstdtype[dtypenum] = enumNum;
}
void VerilatedFst::declSymbol(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir,
fstVarType vartype, bool array, int arraynum, vluint32_t len,
vluint32_t bits) {
void VerilatedFst::declare(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir,
fstVarType vartype, bool array, int arraynum, int msb, int lsb) {
const int bits = ((msb > lsb) ? (msb - lsb) : (lsb - msb)) + 1;
VerilatedTrace<VerilatedFst>::declCode(code, bits, false);
std::pair<Code2SymbolType::iterator, bool> p
@ -178,39 +179,36 @@ void VerilatedFst::declSymbol(vluint32_t code, const char* name, int dtypenum, f
fstWriterEmitEnumTableRef(m_fst, enumNum);
}
if (p.second) { // New
p.first->second = fstWriterCreateVar(m_fst, vartype, vardir, len, name_str.c_str(), 0);
p.first->second = fstWriterCreateVar(m_fst, vartype, vardir, bits, name_str.c_str(), 0);
assert(p.first->second);
} else { // Alias
fstWriterCreateVar(m_fst, vartype, vardir, len, name_str.c_str(), p.first->second);
fstWriterCreateVar(m_fst, vartype, vardir, bits, name_str.c_str(), p.first->second);
}
}
void VerilatedFst::declBit(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir,
fstVarType vartype, bool array, int arraynum) {
declSymbol(code, name, dtypenum, vardir, vartype, array, arraynum, 1, 1);
declare(code, name, dtypenum, vardir, vartype, array, arraynum, 0, 0);
}
void VerilatedFst::declBus(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir,
fstVarType vartype, bool array, int arraynum, int msb, int lsb) {
declSymbol(code, name, dtypenum, vardir, vartype, array, arraynum, msb - lsb + 1,
msb - lsb + 1);
declare(code, name, dtypenum, vardir, vartype, array, arraynum, msb, lsb);
}
void VerilatedFst::declQuad(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir,
fstVarType vartype, bool array, int arraynum, int msb, int lsb) {
declSymbol(code, name, dtypenum, vardir, vartype, array, arraynum, msb - lsb + 1,
msb - lsb + 1);
declare(code, name, dtypenum, vardir, vartype, array, arraynum, msb, lsb);
}
void VerilatedFst::declArray(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir,
fstVarType vartype, bool array, int arraynum, int msb, int lsb) {
declSymbol(code, name, dtypenum, vardir, vartype, array, arraynum, msb - lsb + 1,
msb - lsb + 1);
declare(code, name, dtypenum, vardir, vartype, array, arraynum, msb, lsb);
}
void VerilatedFst::declFloat(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir,
fstVarType vartype, bool array, int arraynum) {
declSymbol(code, name, dtypenum, vardir, vartype, array, arraynum, 1, 32);
declare(code, name, dtypenum, vardir, vartype, array, arraynum, 31, 0);
}
void VerilatedFst::declDouble(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir,
fstVarType vartype, bool array, int arraynum) {
declSymbol(code, name, dtypenum, vardir, vartype, array, arraynum, 2, 64);
declare(code, name, dtypenum, vardir, vartype, array, arraynum, 63, 0);
}
// Note: emit* are only ever called from one place (full* in

View File

@ -55,8 +55,8 @@ private:
// CONSTRUCTORS
VL_UNCOPYABLE(VerilatedFst);
void declSymbol(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir,
fstVarType vartype, bool array, int arraynum, vluint32_t len, vluint32_t bits);
void declare(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir,
fstVarType vartype, bool array, int arraynum, int msb, int lsb);
protected:
//=========================================================================

View File

@ -0,0 +1,144 @@
$version Generated by VerilatedVcd $end
$date Sun May 3 21:38:46 2020
$end
$timescale 1ps $end
$scope module top $end
$var wire 1 } clk $end
$scope module t $end
$var wire 8 ~ P [0:7] $end
$var wire 8 !! Q [0:7] $end
$var wire 1 } clk $end
$var wire 32 # cyc [31:0] $end
$var wire 1 $ v_a [0:0] $end
$var wire 2 % v_b [0:1] $end
$var wire 8 & v_c [0:7] $end
$var wire 9 ' v_d [0:8] $end
$var wire 16 ( v_e [0:15] $end
$var wire 17 ) v_f [0:16] $end
$var wire 32 * v_g [0:31] $end
$var wire 33 + v_h [0:32] $end
$var wire 64 - v_i [0:63] $end
$var wire 65 / v_j [0:64] $end
$var wire 128 2 v_k [0:127] $end
$var wire 129 6 v_l [0:128] $end
$var wire 256 ; v_m [0:255] $end
$var wire 257 C v_n [0:256] $end
$var wire 512 L v_o [0:511] $end
$var wire 3 \ v_p [-1:1] $end
$var wire 15 ] v_q [-7:7] $end
$var wire 31 ^ v_r [-15:15] $end
$var wire 63 _ v_s [-31:31] $end
$var wire 127 a v_t [-63:63] $end
$var wire 255 e v_u [-127:127] $end
$var wire 511 m v_v [-255:255] $end
$upscope $end
$upscope $end
$enddefinitions $end
#0
b00000000000000000000000000000000 #
0$
b00 %
b00000000 &
b000000000 '
b0000000000000000 (
b00000000000000000 )
b00000000000000000000000000000000 *
b000000000000000000000000000000000 +
b0000000000000000000000000000000000000000000000000000000000000000 -
b00000000000000000000000000000000000000000000000000000000000000000 /
b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 2
b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 6
b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ;
b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 C
b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 L
b000 \
b000000000000000 ]
b0000000000000000000000000000000 ^
b000000000000000000000000000000000000000000000000000000000000000 _
b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 a
b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 e
b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m
0}
b00001010 ~
b00010100 !!
#10
b00000000000000000000000000000001 #
1$
b11 %
b11111111 &
b111111111 '
b1111111111111111 (
b11111111111111111 )
b11111111111111111111111111111111 *
b111111111111111111111111111111111 +
b1111111111111111111111111111111111111111111111111111111111111111 -
b11111111111111111111111111111111111111111111111111111111111111111 /
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 2
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 6
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 ;
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 C
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 L
b111 \
b111111111111111 ]
b1111111111111111111111111111111 ^
b111111111111111111111111111111111111111111111111111111111111111 _
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 a
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 e
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 m
1}
#15
0}
#20
b00000000000000000000000000000010 #
0$
b10 %
b11111110 &
b111111110 '
b1111111111111110 (
b11111111111111110 )
b11111111111111111111111111111110 *
b111111111111111111111111111111110 +
b1111111111111111111111111111111111111111111111111111111111111110 -
b11111111111111111111111111111111111111111111111111111111111111110 /
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 2
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 6
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 ;
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 C
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 L
b110 \
b111111111111110 ]
b1111111111111111111111111111110 ^
b111111111111111111111111111111111111111111111111111111111111110 _
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 a
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 e
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 m
1}
#25
0}
#30
b00000000000000000000000000000011 #
b00 %
b11111100 &
b111111100 '
b1111111111111100 (
b11111111111111100 )
b11111111111111111111111111111100 *
b111111111111111111111111111111100 +
b1111111111111111111111111111111111111111111111111111111111111100 -
b11111111111111111111111111111111111111111111111111111111111111100 /
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 2
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 6
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 ;
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 C
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 L
b100 \
b111111111111100 ]
b1111111111111111111111111111100 ^
b111111111111111111111111111111111111111111111111111111111111100 _
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 a
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 e
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 m
1}

View File

@ -0,0 +1,24 @@
#!/usr/bin/perl
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
#
# Copyright 2020 by Geza Lore. This program is free software; you can
# redistribute it and/or modify it under the terms of either the GNU
# Lesser General Public License Version 3 or the Perl Artistic License
# Version 2.0.
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
scenarios(simulator => 1);
compile(
verilator_flags2 => ['--cc --trace --trace-params -Wno-LITENDIAN'],
);
execute(
check_finished => 1,
);
vcd_identical("$Self->{obj_dir}/simx.vcd", $Self->{golden_filename});
ok(1);
1;

View File

@ -0,0 +1,97 @@
// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed under the Creative Commons Public Domain, for
// any use, without warranty, 2020 by Geza Lore.
// SPDX-License-Identifier: CC0-1.0
module t #(
parameter [0:7] P = 8'd10
)(/*AUTOARG*/
// Inputs
clk
);
input clk;
int cyc = 0;
localparam [0:7] Q = 8'd20;
logic [ 0: 0] v_a = '0;
logic [ 0: 1] v_b = '0;
logic [ 0: 7] v_c = '0;
logic [ 0: 8] v_d = '0;
logic [ 0: 15] v_e = '0;
logic [ 0: 16] v_f = '0;
logic [ 0: 31] v_g = '0;
logic [ 0: 32] v_h = '0;
logic [ 0: 63] v_i = '0;
logic [ 0: 64] v_j = '0;
logic [ 0:127] v_k = '0;
logic [ 0:128] v_l = '0;
logic [ 0:255] v_m = '0;
logic [ 0:256] v_n = '0;
logic [ 0:511] v_o = '0;
logic [ -1: 1] v_p = '0;
logic [ -7: 7] v_q = '0;
logic [ -15: 15] v_r = '0;
logic [ -31: 31] v_s = '0;
logic [ -63: 63] v_t = '0;
logic [-127:127] v_u = '0;
logic [-255:255] v_v = '0;
always @(posedge clk) begin
if (cyc == 0) begin
v_a <= '1;
v_b <= '1;
v_c <= '1;
v_d <= '1;
v_e <= '1;
v_f <= '1;
v_g <= '1;
v_h <= '1;
v_i <= '1;
v_j <= '1;
v_k <= '1;
v_l <= '1;
v_m <= '1;
v_n <= '1;
v_o <= '1;
v_p <= '1;
v_q <= '1;
v_r <= '1;
v_s <= '1;
v_t <= '1;
v_u <= '1;
v_v <= '1;
end else begin
v_a <= v_a << 1;
v_b <= v_b << 1;
v_c <= v_c << 1;
v_d <= v_d << 1;
v_e <= v_e << 1;
v_f <= v_f << 1;
v_g <= v_g << 1;
v_h <= v_h << 1;
v_i <= v_i << 1;
v_j <= v_j << 1;
v_k <= v_k << 1;
v_l <= v_l << 1;
v_m <= v_m << 1;
v_n <= v_n << 1;
v_o <= v_o << 1;
v_p <= v_p << 1;
v_q <= v_q << 1;
v_r <= v_r << 1;
v_s <= v_s << 1;
v_t <= v_t << 1;
v_u <= v_u << 1;
v_v <= v_v << 1;
end
cyc <= cyc + 1;
if (cyc == 2) begin
$write("*-* All Finished *-*\n");
$finish;
end
end
endmodule

View File

@ -0,0 +1,149 @@
$date
Sun May 3 21:53:46 2020
$end
$version
fstWriter
$end
$timescale
1ps
$end
$scope module top $end
$var wire 1 ! clk $end
$scope module t $end
$var parameter 8 " P $end
$var wire 1 ! clk $end
$var int 32 # cyc $end
$var parameter 8 $ Q $end
$var logic 1 % v_a $end
$var logic 2 & v_b $end
$var logic 8 ' v_c $end
$var logic 9 ( v_d $end
$var logic 16 ) v_e $end
$var logic 17 * v_f $end
$var logic 32 + v_g $end
$var logic 33 , v_h $end
$var logic 64 - v_i $end
$var logic 65 . v_j $end
$var logic 128 / v_k $end
$var logic 129 0 v_l $end
$var logic 256 1 v_m $end
$var logic 257 2 v_n $end
$var logic 512 3 v_o $end
$var logic 3 4 v_p $end
$var logic 15 5 v_q $end
$var logic 31 6 v_r $end
$var logic 63 7 v_s $end
$var logic 127 8 v_t $end
$var logic 255 9 v_u $end
$var logic 511 : v_v $end
$upscope $end
$upscope $end
$enddefinitions $end
#0
$dumpvars
b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 :
b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 9
b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 8
b000000000000000000000000000000000000000000000000000000000000000 7
b0000000000000000000000000000000 6
b000000000000000 5
b000 4
b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3
b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 2
b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1
b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0
b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 /
b00000000000000000000000000000000000000000000000000000000000000000 .
b0000000000000000000000000000000000000000000000000000000000000000 -
b000000000000000000000000000000000 ,
b00000000000000000000000000000000 +
b00000000000000000 *
b0000000000000000 )
b000000000 (
b00000000 '
b00 &
0%
b00010100 $
b00000000000000000000000000000000 #
b00001010 "
0!
$end
#10
1!
b00000000000000000000000000000001 #
1%
b11 &
b11111111 '
b111111111 (
b1111111111111111 )
b11111111111111111 *
b11111111111111111111111111111111 +
b111111111111111111111111111111111 ,
b1111111111111111111111111111111111111111111111111111111111111111 -
b11111111111111111111111111111111111111111111111111111111111111111 .
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 /
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 0
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 1
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 2
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 3
b111 4
b111111111111111 5
b1111111111111111111111111111111 6
b111111111111111111111111111111111111111111111111111111111111111 7
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 8
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 9
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 :
#15
0!
#20
1!
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 :
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 9
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 8
b111111111111111111111111111111111111111111111111111111111111110 7
b1111111111111111111111111111110 6
b111111111111110 5
b110 4
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 3
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 2
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 1
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 0
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110 /
b11111111111111111111111111111111111111111111111111111111111111110 .
b1111111111111111111111111111111111111111111111111111111111111110 -
b111111111111111111111111111111110 ,
b11111111111111111111111111111110 +
b11111111111111110 *
b1111111111111110 )
b111111110 (
b11111110 '
b10 &
0%
b00000000000000000000000000000010 #
#25
0!
#30
1!
b00000000000000000000000000000011 #
b00 &
b11111100 '
b111111100 (
b1111111111111100 )
b11111111111111100 *
b11111111111111111111111111111100 +
b111111111111111111111111111111100 ,
b1111111111111111111111111111111111111111111111111111111111111100 -
b11111111111111111111111111111111111111111111111111111111111111100 .
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 /
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 0
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 1
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 2
b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 3
b100 4
b111111111111100 5
b1111111111111111111111111111100 6
b111111111111111111111111111111111111111111111111111111111111100 7
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 8
b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 9
b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100 :

View File

@ -0,0 +1,26 @@
#!/usr/bin/perl
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
#
# Copyright 2020 by Geza Lore. This program is free software; you can
# redistribute it and/or modify it under the terms of either the GNU
# Lesser General Public License Version 3 or the Perl Artistic License
# Version 2.0.
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
scenarios(simulator => 1);
top_filename("t/t_trace_litendian.v");
compile(
verilator_flags2 => ['--cc --trace-fst --trace-params -Wno-LITENDIAN'],
);
execute(
check_finished => 1,
);
fst_identical("$Self->{obj_dir}/simx.fst", $Self->{golden_filename});
ok(1);
1;