Skip to content

Commit b8cb736

Browse files
Version 1.5.0. Recor type in signals/ports supported
1 parent 0345b87 commit b8cb736

File tree

104 files changed

+5259
-1198
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+5259
-1198
lines changed

build.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ cd $CWD_DIR
2323

2424
cd ..
2525

26-
mkdir build_icsc_dbg -p && cd build_icsc_dbg
27-
cmake ../ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$ICSC_HOME -DCMAKE_CXX_STANDARD=17 -DCMAKE_DEBUG_POSTFIX=d
28-
make -j12
29-
make install
26+
# mkdir build_icsc_dbg -p && cd build_icsc_dbg
27+
# cmake ../ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$ICSC_HOME -DCMAKE_CXX_STANDARD=17 -DCMAKE_DEBUG_POSTFIX=d
28+
# make -j12
29+
# make install
3030

3131
cp $CWD_DIR/cmake/CMakeLists.top $ICSC_HOME/CMakeLists.txt
3232
)

designs/tests/cthread/cthread_const_prop.sv

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//==============================================================================
22
//
3-
// The code is generated by Intel Compiler for SystemC, version 1.4.15
3+
// The code is generated by Intel Compiler for SystemC, version 1.4.39
44
// see more information at https://github.com/intel/systemc-compiler
55
//
66
//==============================================================================
@@ -51,6 +51,7 @@ module A // "b_mod.a_mod"
5151
logic [1:0] rr_first_indx;
5252

5353
// Local parameters generated for C++ constants
54+
localparam logic signed [31:0] ci = 42;
5455
localparam logic [31:0] PORT_NUM = 2;
5556
localparam logic [31:0] FIFO_LENGTH = 2;
5657
localparam logic [63:0] p = 0;

designs/tests/cthread/cthread_reset.sv

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//==============================================================================
22
//
3-
// The code is generated by Intel Compiler for SystemC, version 1.4.37
3+
// The code is generated by Intel Compiler for SystemC, version 1.4.39
44
// see more information at https://github.com/intel/systemc-compiler
55
//
66
//==============================================================================
@@ -48,7 +48,7 @@ begin : sct_assert_test_ff
4848
c <= 0;
4949

5050
`ifndef INTEL_SVA_OFF
51-
sctAssertLine99 : assert property ( a |=> c_next );
51+
sctAssertLine99r : assert property ( a |=> c_next );
5252
`endif // INTEL_SVA_OFF
5353
end
5454
else begin

designs/tests/method/CMakeLists.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ svc_target(method_const_liter_compound GOLDEN method_const_liter_compound.sv)
6868
add_executable(method_string_liter test_string_liter.cpp)
6969
svc_target(method_string_liter GOLDEN method_string_liter.sv)
7070

71+
add_executable(method_liter_width test_liter_width.cpp)
72+
svc_target(method_liter_width GOLDEN method_liter_width.sv)
73+
7174
add_executable(method_const_binary test_const_binary.cpp)
7275
svc_target(method_const_binary GOLDEN method_const_binary.sv)
7376

@@ -240,8 +243,8 @@ svc_target(method_explicit_type_conv GOLDEN method_explicit_type_conv.sv)
240243
add_executable(method_unary test_unary.cpp)
241244
svc_target(method_unary GOLDEN method_unary.sv)
242245

243-
#add_executable(method_unary_sc test_unary_sc.cpp)
244-
#svc_target(method_unary_sc GOLDEN method_unary_sc.sv)
246+
add_executable(method_unary_sc test_unary_sc.cpp)
247+
svc_target(method_unary_sc GOLDEN method_unary_sc.sv)
245248

246249
# Arrays
247250

@@ -401,3 +404,7 @@ svc_target(method_bit_range_fail WILL_FAIL)
401404

402405
add_executable(method_unsupport_types_fail test_unsupport_types_fail.cpp)
403406
svc_target(method_unsupport_types_fail WILL_FAIL)
407+
408+
## Not supported yet, see #304
409+
#add_executable(method_clock_sensitive test_clock_sensitive.cpp)
410+
#svc_target(method_clock_sensitive GOLDEN method_clock_sensitive.sv)

designs/tests/method/method_bool.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//==============================================================================
22
//
3-
// The code is generated by Intel Compiler for SystemC, version 1.4.16
3+
// The code is generated by Intel Compiler for SystemC, version 1.4.53
44
// see more information at https://github.com/intel/systemc-compiler
55
//
66
//==============================================================================
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
//==============================================================================
2+
//
3+
// The code is generated by Intel Compiler for SystemC, version 1.4.43
4+
// see more information at https://github.com/intel/systemc-compiler
5+
//
6+
//==============================================================================
7+
8+
//==============================================================================
9+
//
10+
// Module: A ()
11+
//
12+
module A // "a"
13+
(
14+
input logic clk,
15+
input logic nrst
16+
);
17+
18+
// Variables generated for SystemC signals
19+
logic signed [31:0] a;
20+
21+
//------------------------------------------------------------------------------
22+
// Clocked THREAD: meth1 (test_clock_sensitive.cpp:26:5)
23+
24+
// Thread-local variables
25+
logic signed [31:0] a_next;
26+
27+
// Next-state combinational logic
28+
always_comb begin : meth1_comb // test_clock_sensitive.cpp:26:5
29+
meth1_func;
30+
end
31+
function void meth1_func;
32+
a_next = a;
33+
a_next = 1;
34+
endfunction
35+
36+
// Synchronous register update
37+
always_ff @(posedge clk or negedge nrst)
38+
begin : meth1_ff
39+
if ( ~nrst ) begin
40+
a <= 0;
41+
end
42+
else begin
43+
a <= a_next;
44+
end
45+
end
46+
47+
endmodule
48+
49+

designs/tests/method/method_fcall.sv

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//==============================================================================
22
//
3-
// The code is generated by Intel Compiler for SystemC, version 1.4.23
3+
// The code is generated by Intel Compiler for SystemC, version 1.4.44
44
// see more information at https://github.com/intel/systemc-compiler
55
//
66
//==============================================================================
@@ -29,10 +29,10 @@ assign s1[0] = struct_c_out_port;
2929
assign s1[1] = struct_c2_out_port;
3030

3131
//------------------------------------------------------------------------------
32-
// Method process: std_funcs (test_fcall.cpp:431:5)
32+
// Method process: std_funcs (test_fcall.cpp:432:5)
3333

3434
always_comb
35-
begin : std_funcs // test_fcall.cpp:431:5
35+
begin : std_funcs // test_fcall.cpp:432:5
3636
integer unsigned a_1;
3737
a_1 = 2;
3838
end
@@ -101,27 +101,29 @@ end
101101
always_comb
102102
begin : port_access_call // test_fcall.cpp:299:5
103103
logic b1;
104+
integer i;
104105
logic TMP_0;
105106
logic [1:0] val;
107+
i = s1[1];
106108
// Call f6() begin
107109
b = !a;
108110
// Call f6() end
109111
// Call f7() begin
110112
c = a;
111113
TMP_0 = !a;
112114
// Call f7() end
113-
b1 = TMP_0;
115+
b1 = |(TMP_0 + i);
114116
val = 3;
115117
// Call f3() begin
116118
struct_c_out_port = val;
117119
// Call f3() end
118120
end
119121

120122
//------------------------------------------------------------------------------
121-
// Method process: included_func_calls (test_fcall.cpp:311:5)
123+
// Method process: included_func_calls (test_fcall.cpp:312:5)
122124

123125
always_comb
124-
begin : included_func_calls // test_fcall.cpp:311:5
126+
begin : included_func_calls // test_fcall.cpp:312:5
125127
logic [3:0] TMP_0;
126128
logic [2:0] val;
127129
logic TMP_3;
@@ -155,10 +157,10 @@ begin : included_func_calls // test_fcall.cpp:311:5
155157
end
156158

157159
//------------------------------------------------------------------------------
158-
// Method process: multiple_returns (test_fcall.cpp:320:5)
160+
// Method process: multiple_returns (test_fcall.cpp:321:5)
159161

160162
always_comb
161-
begin : multiple_returns // test_fcall.cpp:320:5
163+
begin : multiple_returns // test_fcall.cpp:321:5
162164
integer j;
163165
integer m_1;
164166
j = 1;
@@ -169,10 +171,10 @@ begin : multiple_returns // test_fcall.cpp:320:5
169171
end
170172

171173
//------------------------------------------------------------------------------
172-
// Method process: return_in_loop (test_fcall.cpp:330:5)
174+
// Method process: return_in_loop (test_fcall.cpp:331:5)
173175

174176
always_comb
175-
begin : return_in_loop // test_fcall.cpp:330:5
177+
begin : return_in_loop // test_fcall.cpp:331:5
176178
integer unsigned TMP_0;
177179
integer unsigned val;
178180
integer j;
@@ -223,10 +225,10 @@ begin : static_func_call // test_fcall.cpp:246:5
223225
end
224226

225227
//------------------------------------------------------------------------------
226-
// Method process: included_funcs1 (test_fcall.cpp:356:5)
228+
// Method process: included_funcs1 (test_fcall.cpp:357:5)
227229

228230
always_comb
229-
begin : included_funcs1 // test_fcall.cpp:356:5
231+
begin : included_funcs1 // test_fcall.cpp:357:5
230232
integer k_1;
231233
integer k_2;
232234
integer k_3;
@@ -243,10 +245,10 @@ begin : included_funcs1 // test_fcall.cpp:356:5
243245
end
244246

245247
//------------------------------------------------------------------------------
246-
// Method process: included_funcs2 (test_fcall.cpp:365:5)
248+
// Method process: included_funcs2 (test_fcall.cpp:366:5)
247249

248250
always_comb
249-
begin : included_funcs2 // test_fcall.cpp:365:5
251+
begin : included_funcs2 // test_fcall.cpp:366:5
250252
integer k_1;
251253
integer k_2;
252254
integer k_3;
@@ -271,19 +273,19 @@ begin : included_funcs2 // test_fcall.cpp:365:5
271273
end
272274

273275
//------------------------------------------------------------------------------
274-
// Method process: func_double_used (test_fcall.cpp:376:5)
276+
// Method process: func_double_used (test_fcall.cpp:377:5)
275277

276278
always_comb
277-
begin : func_double_used // test_fcall.cpp:376:5
279+
begin : func_double_used // test_fcall.cpp:377:5
278280
logic b_1;
279281
b_1 = 0;
280282
end
281283

282284
//------------------------------------------------------------------------------
283-
// Method process: func_chan_pointer (test_fcall.cpp:393:5)
285+
// Method process: func_chan_pointer (test_fcall.cpp:394:5)
284286

285287
always_comb
286-
begin : func_chan_pointer // test_fcall.cpp:393:5
288+
begin : func_chan_pointer // test_fcall.cpp:394:5
287289
integer j;
288290
integer TMP_0;
289291
integer i;
@@ -316,22 +318,22 @@ begin : func_chan_pointer // test_fcall.cpp:393:5
316318
end
317319

318320
//------------------------------------------------------------------------------
319-
// Method process: func_var_pointer (test_fcall.cpp:416:5)
321+
// Method process: func_var_pointer (test_fcall.cpp:417:5)
320322

321323
// Process-local variables
322324
logic [2:0] s;
323325

324326
always_comb
325-
begin : func_var_pointer // test_fcall.cpp:416:5
327+
begin : func_var_pointer // test_fcall.cpp:417:5
326328
integer j;
327329
j = 0; // Call of f_ptr()
328330
end
329331

330332
//------------------------------------------------------------------------------
331-
// Method process: special_funcs (test_fcall.cpp:423:5)
333+
// Method process: special_funcs (test_fcall.cpp:424:5)
332334

333335
always_comb
334-
begin : special_funcs // test_fcall.cpp:423:5
336+
begin : special_funcs // test_fcall.cpp:424:5
335337
integer y;
336338
y = 0;
337339
end
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
//==============================================================================
2+
//
3+
// The code is generated by Intel Compiler for SystemC, version 1.4.52
4+
// see more information at https://github.com/intel/systemc-compiler
5+
//
6+
//==============================================================================
7+
8+
//==============================================================================
9+
//
10+
// Module: A ()
11+
//
12+
module A // "a"
13+
(
14+
input logic clk
15+
);
16+
17+
// Variables generated for SystemC signals
18+
logic nrst;
19+
logic [15:0] s;
20+
21+
//------------------------------------------------------------------------------
22+
// Method process: checkWidthProc (test_liter_width.cpp:31:5)
23+
24+
// Process-local variables
25+
logic [2:0] k;
26+
27+
always_comb
28+
begin : checkWidthProc // test_liter_width.cpp:31:5
29+
if (|s)
30+
begin
31+
k = 1;
32+
end else begin
33+
k = 3'd1;
34+
end
35+
if (|s)
36+
begin
37+
k = 23'd1;
38+
end else begin
39+
k = 2'd1;
40+
end
41+
end
42+
43+
//------------------------------------------------------------------------------
44+
// Clocked THREAD: concatProc (test_liter_width.cpp:49:5)
45+
46+
// Thread-local variables
47+
logic [2:0] j;
48+
logic [2:0] j_next;
49+
logic [2:0] i;
50+
logic [2:0] i_next;
51+
52+
// Next-state combinational logic
53+
always_comb begin : concatProc_comb // test_liter_width.cpp:49:5
54+
concatProc_func;
55+
end
56+
function void concatProc_func;
57+
logic [30:0] t;
58+
i_next = i;
59+
j_next = j;
60+
t = {j_next, i_next};
61+
endfunction
62+
63+
// Synchronous register update
64+
always_ff @(posedge clk or negedge nrst)
65+
begin : concatProc_ff
66+
if ( ~nrst ) begin
67+
j <= 1;
68+
i <= 1;
69+
end
70+
else begin
71+
j <= j_next;
72+
i <= i_next;
73+
end
74+
end
75+
76+
endmodule
77+
78+

designs/tests/method/method_unary.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//==============================================================================
22
//
3-
// The code is generated by Intel Compiler for SystemC, version 1.4.16
3+
// The code is generated by Intel Compiler for SystemC, version 1.4.53
44
// see more information at https://github.com/intel/systemc-compiler
55
//
66
//==============================================================================

designs/tests/method/method_var.sv

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//==============================================================================
22
//
3-
// The code is generated by Intel Compiler for SystemC, version 1.4.23
3+
// The code is generated by Intel Compiler for SystemC, version 1.4.39
44
// see more information at https://github.com/intel/systemc-compiler
55
//
66
//==============================================================================
@@ -64,6 +64,7 @@ logic signed [31:0] sig;
6464

6565
// Local parameters generated for C++ constants
6666
localparam logic signed [31:0] m = 11;
67+
localparam logic signed [31:0] ci = 42;
6768

6869
//------------------------------------------------------------------------------
6970
// Method process: unknown_ref (test_var.cpp:78:5)

0 commit comments

Comments
 (0)