systemc-clang icon indicating copy to clipboard operation
systemc-clang copied to clipboard

This is a Clang tool that parses SystemC models, and synthesizes Verilog from it.

Results 37 systemc-clang issues
Sort by recently updated
recently updated
newest added

https://github.com/intel/systemc-compiler/blob/main/tests/cthread/test_continue.cpp For `continue_break_exit1`, we are currently generating the following, where the next state is not assigned for state 1. ```c++ void continue_break_exit1() { int k = 0; wait(); while (1)...

bug

https://github.com/intel/systemc-compiler/blob/main/tests/cthread/test_break.cpp The last few lines of the errors are: ``` systemc-clang: /opt/clang-13.0.0/include/llvm/ADT/SmallVector.h:281: const T& llvm::SmallVectorTemplateCommon::operator[](llvm::SmallVectorTemplateCommon::size_type) const [with T = std::pair; = void; llvm::SmallVectorTemplateCommon::const_reference = const std::pair&; llvm::SmallVectorTemplateCommon::size_type = long unsigned...

bug

Code in SystemC may exhibit the following pattern (see [here](https://github.com/LLNL/zhw/blob/1Dfix/src/zhw_decode.h#L1311)), where the returned value is indexed. ``` bhdr.set_zb(!(get_window(b_wrk,w_wordoff) [0])); ``` Currently, the generated SystemVerilog code is as follows. The code...

bug

In Vivado (as of 2022.1), there are two ways where we could generate an array of modules as shown below. - The `top_generate` shows one way where we translate the...

enhancement

In https://github.com/intel/systemc-compiler/blob/main/tests/method/test_const_static_mem.cpp#L94 . ``` // Constant static members, constant records struct Simple { bool a; sc_uint b; Simple(bool a, sc_uint b) : a(a), b(b) {} }; ... const Simple mrec1{false,...

bug

The systemc-clang binary crashes, it does not seem to be a syntax error. The design is a mix of thread and processes. https://github.com/intel/systemc-compiler/blob/main/tests/method/test_level2.cpp The last couple lines of log: ```...

bug

In https://github.com/anikau31/systemc-clang/blob/master/examples/llnl-examples/zfpsynth/shared3/zhw_decode.h#L1043 We have declaration of `plane_reg`'s arrays ```c++ plane_regw[B::dbits/bw_w(2)]; .... plane_regtmp[4]; ``` However, currently the call to constructors of `plane_reg` is not present.

bug

From https://github.com/intel/systemc-compiler/blob/main/tests/method/test_empty_sensvty4_fail.cpp (A similar issue in https://github.com/intel/systemc-compiler/blob/main/tests/method/test_fcall_const_eval2.cpp) [/systemc-compiler/tests/method/test_generic_fcall.cpp](https://github.com/intel/systemc-compiler/blob/main/tests/method/test_generic_fcall.cpp) Note: we currently do not have support for global functions. ``` void glob_f() {} bool glob_g() {return 1;} hFunction glob_f_func_3 [ hFunctionRetType...

bug
enhancement

[https://github.com/intel/systemc-compiler/blob/main/tests/method/test_ff_latch.cpp#L128](https://github.com/intel/systemc-compiler/blob/main/tests/method/test_ff_latch.cpp#L128) Notice that the `i__local_3` of the for loop is declared after a `hVarAssign`, and it should be in front of the process. ```c++ void async_rst_tff() { sc_uint b =...

bug

[https://github.com/intel/systemc-compiler/blob/main/tests/method/test_const_prop_loop.cpp](https://github.com/intel/systemc-compiler/blob/main/tests/method/test_const_prop_loop.cpp) The thread seems to have an excessive block of statements for state 1 after the first return statement. ```c++ void threadProc() { unsigned slot = 0; wait(); while (true)...

bug