Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by afzalmd

  1. No. time values are greater than time resolution.
  2. Hi Alan, I was missing that wait() statement, which was outside of while loop. Now my program is working fine and I am getting desired results (which I can check by printing time values). tINT etc are defined values of time. Thanks to phillip as well.
  3. Hi Philip, Here I come across a small program to check the functionality. It uses only reset input to check the functionality(actual program uses other inputs also). Even if I use with SC_METHOD and use next_trigger, again it gives wrong results. dut.h class init:public sc_module{ public: sc_in<bool> clk; sc_in<bool> reset; sc_out<bool> rst_o; void conv(); init(sc_module_name name):sc_module(name){ SC_THREAD(conv); sensitive<<clk; } ~init(){ } private: SC_HAS_PROCESS(init); }; dut.cpp void init::conv(){ sc_time Tint; sc_time Tact; sc_time Tstab; sc_time
  4. The output of my program says this ... What might be the exact problem.. !! I am unable to tracethat particular port. SystemC 2.2.0 --- Sep 25 2012 13:13:03 Copyright © 1996-2006 by all Contributors ALL RIGHTS RESERVED As it is clear from the info message, you have to use sc_sensitive<<a.pos(); . sc_sensitive_pos is supported in previous versions. All systemC ports should be binded. SystemC does not support floating ports. Either you can bind that port another port or with a dummy signal. In this case port 3 in m1 module is not bounded. Info: (I804) /IEEE_Std_1666/d
  5. Hi Phillip, What does this mean? How does a waveform "appear"? How do you generate your clock events? How do you start the simulation? How/when do you stop it? I mean, I can't see trace file on gtkwave because when I click on that file, it doesn't dispaly result. At this point I don't know the reason. But when I don't use while loop, it appears fine. This is very hard to parse. What is the "first instance"? How do you "check manually"? Debugger? printf? I mean, for the first stimuli. I give different values at input, including "reset" and after 50ns I give some other values. Just
  6. Hi Phillip, I tried to implement in this way . First problem I got, I can't display the result on a waveform. it does not appear. When I check manually, system still remains in the first instance of module. For example: if input reset stimuli is changing after every 50ns, then say, system will check for reset and it finds reset to be LOW, until 50ns. Then after 50ns it enters in the "else" statement and remains there. I tried to print the time_stamp and it does not change the value of time after 50ns.
  7. Hi, In my module, if input reset signal is LOW, then module should produce a defined delay and after that it should make the output reset signal to HIGH (which will be given to other modules). In vice versa it should write the input reset to the output reset signal as it is. Stimulis are given in the testbench file, changing after every 50ns. In this case, module works fine for the first time, but when after some time input reset goes again to LOW, it is not working and does not produce any delay (process is not called after that). Can you described what is wrong in this code or something mi
  • Create New...