Jump to content

basarts

Members
  • Content Count

    25
  • Joined

  • Last visited

  • Days Won

    1

basarts last won the day on February 26 2019

basarts had the most liked content!

2 Followers

About basarts

  • Rank
    Member

Recent Profile Visitors

509 profile views
  1. So you could write a program that returns a random number as exit code, but that limits you to 0-255 🙂
  2. I guess the return value reflects either successful (zero) or non-successful (non-zero). E.g. the following code prints a non-zero value (in my case, 256 although I would have expected 1): module foo; int val; initial begin val = $system("test -f thisfileprobablydoesnotexist"); $display(val); end endmodule
  3. If you separate application code and read/write implementation code, you can keep your C code application and compile it still for your CPU module. Yes, you will need a C++ compiler then, but it also allows you to port your application to e.g. a commercial CPU model which could use plain C. You'd only need to replace your read/write C++ implementation with a C implementation. // C header file #ifndef C_H #define C_H #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ void mywrite(uint32_t address, uint32_t value); void myread (uint32_t address, uint32_t *value); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* C_H */
  4. (See also https://github.com/OSCI-WG/uvm-core/issues/244) Functions last_req and last_rsp in uvm_sequencer_param_base.svh use "if (n == m_last_[req|rsp]_buffer.size())"; "==" should be replaced by ">=". Bas
  5. What errors do you get? From your question, it is not clear whether you have errors related to your (UVM-)SystemC installation, your Makefile, your application or something else.
  6. The freely available SCML library from Synopsys provides a way to describe registers with optional callback functions that will trigger when a register read or write occurs.
  7. Are you using a commercial simulator for your setup? Then consult its manual; but typically, you can use "-D<macro>[=<value>]" to define a macro.
  8. You could use an optional command line parameter to sc_main and propagate that to the "real" test.
  9. See https://docs.microsoft.com/en-us/visualstudio/debugger/debugger-feature-tour?view=vs-2019 for basic information regarding application debugging.
  10. You also need to include -I, -L and -l for uvm-systemc in your compilation.
  11. basarts

    euphony

    Forget that last post, it seems that brackets etc. are not displayed in the posts.
  12. basarts

    euphony

    I guess you need some extra changes: firnodes = new FirNode(...) firnodes->data_in(...) accu->mul_in(mul_sig) etc.
  13. To be clear: I cannot use `uvm_blocking_transport_imp_decl(SFX) macros, because I need to use TLM2 sockets at the UVM-SV side.
  14. Thanks David, but I already know about the SystemC side 🙂 I'm looking for possibilities in the UVM-SV space (hence the post in "UVM SystemVerilog Discussions").
  15. In SystemC, we have the possibility to bind a specific b_transport function to a specific target socket. Hence, I can create a module with multiple target sockets that each bind to their own b_transport implementation. Reading the UVM user's guide v1.2 chapter 2.47 (TLM2 - Use Models), I get the impression that there exists an implicit binding between all target sockets of a module and one b_transport implementation. In other words, we can only have one b_transport function per uvm_component. Is that correct, or is there a way to implement and bind different b_transport implementations to different target sockets?
×
×
  • Create New...