Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


gurunath.kadam last won the day on December 2 2013

gurunath.kadam had the most liked content!

About gurunath.kadam

  • Rank
  • Birthday May 24

Profile Information

  • Gender

Recent Profile Visitors

493 profile views
  1. @Roman Popov Hi Roman, thanks for the link. I found the problem -- it was really stupid. I had Debug + x86 selected in VS, but in the properties it was Release + x64. I changed it in the second place as well, which changed the compiler + linker options, and the run time exception was eliminated. Thanks again.
  2. I have successful installation of SystemC 2.3.3 on Visual Studio 2017. All the enclosed examples compile and run successful. However, when I create a simple example (listed here: https://www.edaplayground.com/x/5UHA, un-comment lines 4 and 5 in testbench.cpp ), it throws an exception. The exception is thrown at line: SC_METHOD(op_DFF); And the exception thrown is // CHECK IF THIS IS AN sc_module-BASED PROCESS AND SIMUALTION HAS STARTED: if ( dynamic_cast<sc_module*>(host_p) != 0 && sc_is_running() ) { report_error( SC_ID_MODULE_MET
  3. Philipp, Torsten, Alan, Thank you for your prompt replies. Philipp, I followed what you said and it worked. All, Now I have problem with == operator, by looking at sc_signal.h. Exact error: Description Resource Path Location Type ‘std::vector<cdma_data, std::allocator<cdma_data> >’ is an inaccessible base of ‘CDMAVec<cdma_data>’ WNoC_Rev1 line 231, external location: /home/gurunath/Documents/systemc-2.3.0/include/sysc/communication/sc_signal.h C/C++ Problem no match for ‘operator<<’ in ‘os << ((const sc_core::sc_signal<std::vector<unsigned int
  4. Hi Philipp, Thank you for your reply! And thanks for the suggestions!! I am probably little embarrassed by the much needed spoon feeding thought!! I updated the code as suggested, but as of now I am getting another error, which I could not figure out. cdma_data.h: #ifndef CDMA_DATA_H_ #define CDMA_DATA_H_ #include "noc_package.h" struct cdma_data{ int data[MOD_SIZE]; inline bool operator ==(const cdma_data & cd) const { unsigned int check_int; check_int = 1; for (unsigned int i = 0; i < MOD_SIZE; i++){ if(cd.data[i] == data[i]) check_int++; } return (check_int == MOD_S
  5. I am writing the new vector for type of struct. I am getting some errors. I will post both codes and errors here. cdma_data.h /* * cdma_data.h * * Created on: Sep 12, 2012 * Author: gurunath */ #ifndef CDMA_DATA_H_ #define CDMA_DATA_H_ #include "noc_package.h" struct cdma_data{ int data[MOD_SIZE]; inline bool operator ==(const cdma_data & cd) const { unsigned int check_int; check_int = 1; for (unsigned int i = 0; i < MOD_SIZE; i++){ if(cd.data[i] == data[i]) check_int++; } if (check_int == MOD_SIZE) return 1; else return 0; }; }; inline void sc_trace(sc_trace_fil
  6. hi all, Normally, in C++, all dynamically created objects (pointer = new object) are deleted after their use is done to avoid memory leaks. This operation can be carried out in a destructor or special function as well. I have seen many SystemC (done by some experts) codes where such objects are not deleted. Is that not required in SC? Also now I am attempting to create a vector of pointers to objects. Shall I delete these objects later or does SC take care of this (I think SC can not do that)? Thank you.
  7. Hi all, I am creating some sc_signal<vector<T> > ports with a user defined T. I have already found a proper link for the same (answer provided by AR/Ravi, inheriting from STL vector). http://www.accellera...g=msg00004.html But now my question is, I am defining other ports where T will be sc_bv, double etc. So shall I write above code for each of the variable type or is it ok with all? (I am particularly worried about << and ==). Thank you. P.S. Will next IEEE1666 talk about sc_vector? Will some provision for above scenario provided in later versions?
  8. Hi guys, I got the mistake i was making. For future reference (check MISTAKE and CORRECTION comments): Mistake: SC_MODULE(fifo_rx){ sc_in<bool> clk; //etc decl. void fifo_rx_write(); void fifo_rx_read(); sc_fifo<sc_lv<FLIT_SIZE> > fifo_rx1; //Declare SC_CTOR(fifo_rx){ //------Initializations-------// fifo_rx_full.initialize(0); dout.initialize(0); data_step = 0; //----------METHODs--------------// SC_METHOD(fifo_rx_write); sensitive << clk.pos(); SC_METHOD(fifo_rx_read); sensitive << clk.pos(); sc_fifo<sc_lv<FLIT_SIZE> > fifo_rx1 (Wi_
  9. Hi all, I am defining the sc_fifo as, sc_fifo<sc_lv<FLIT_SIZE> > fifo_rx1 (BUFFER_SIZE); and BUFFER_SIZE and FLIT_SIZE are defined in another header file as, const unsigned int FLIT_SIZE = 39; const int BUFFER_SIZE = 50; The problem I encounter is, whenever I change the BUFFER_SIZE, I do not get any change in the performance of my system. And I checked that sc_fifo is getting defined at default size of 16 (with num_free() ). As I understand the size_ variable in sc_fifo class is of int type, so I am not sure what is the problem exactly, Help is appreciated. Thank you. Si
  • Create New...