Jump to content

All Activity

This stream auto-updates

  1. Yesterday
  2. Analysis ports are non-blocking by definition. Subscribers are required by the standard to: Not do any blocking activities (e.g. wait()) Not to modify any aspects of delivered reference. Copy the payload if you want to extend the lifetime of the payload
  3. Is there any limitation of this applying to analysis ports, many producers connected to one write implementation. Will the built-in blocking of the method be enough to "arbitrate" and not violate the non-blocking the nature of the port if two transactions are reported in the same time delta? Again with this approach I want the random interleaving - first come first served. Thanks for any comments.
  4. Last week
  5. I know this question had been asked for version-1 also, but is there some clarity/decision taken on whether the conditions of if-else (13.4.5) and repeat-while (13.4.2) statements should be evaluated during generation or during simulation? In other words, should these conditional statements be generated into the target language, or will they be evaluated and the appropriate branch taken during generation itself? I tried searching in the new document, but did not find any discussion/resolution on this topic. If it is already answered, please provide a link to that section.
  6. I have a system c block (sc_method) with a sc_out<double> output port and a static tdf block with a sca_tdf::sca_de::sca_in<double> input converter port. I connected the two blocks with a sc_core::signal<double>. Basically the system c block writes a value only once, during the initialization call to the method, but the first input value read by tdf block on the converter port is zero. Only after the first step it starts reading the value written by system c block. Is there a way for the tdf block to read the value written during the initialization method call or I
  7. Hello @Issraa, That good to hear. For completeness you can append at the end of the following file: ".bashrc" # SystemC Install path export SYSTEM_HOME=/home/israa/systemc export LD_LIBRARY_PATH=$SYSTEMC_HOME/lib-linux64 # If echo $LD_LIBRARY_PATH is not empty then the following #export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SYSTEMC_HOME/lib-linux64 This will keep the configuration every time you open a new terminal. For reference: https://askubuntu.com/questions/58814/how-do-i-add-environment-variables Hope this helps. Regards, Ameya Vikram Singh
  8. Dear Ameya, Thank you very much! It is solved after I set the environment variables from the same terminal where I run my executable file Regards, Israa
  9. Hello @Issraa, Can you post the output of the following command: ldd <your_executable_file> After setting the environment variable from the same terminal. Regards, Ameya Vikram Singh
  10. Dear @AmeyaVS Thank you for your response! I tried the commands you mentioned as follows: export SYSTEMC_HOME=/home/israa/systemc echo $SYSTEMC_HOME /home/israa/systemc export LD_LIBRARY_PATH=$SYSTEMC_HOME/lib-linux64 echo $LD_LIBRARY_PATH /home/israa/systemc/lib-linux64 However, The problem still persist and display the following message when I run my software: error while loading shared libraries: libsystemc-2.3.3.so: cannot open shared object file: No such file or directory Notice I am using Ubuntu 20.04 Best regards,
  11. Hello @Issraa, Can you try setting the following environment variables: # Below statement are for bash shell modify the export command to be consistent with your shells configuration export SYSTEM_HOME=/home/israa/systemc export LD_LIBRARY_PATH=$SYSTEMC_HOME/lib-linux64 # If echo $LD_LIBRARY_PATH is not empty then the following export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SYSTEMC_HOME/lib-linux64 And try again. Hope this helps. Regards, Ameya Vikram Singh
  12. Dear @AmeyaVS, Thank you for your response! I run the command : ls -al /home/israa/systemc and I got the following: total 148 drwxrwxr-x 6 israa israa 4096 تشرين الثاني 23 11:32 . drwxr-xr-x 28 israa israa 4096 تشرين الثاني 23 11:18 .. -rw-r--r-- 1 israa israa 2165 تشرين الثاني 23 11:32 AUTHORS -rw-r--r-- 1 israa israa 1540 تشرين الثاني 23 11:32 ChangeLog drwxrwxr-x 4 israa israa 4096 تشرين الثاني 23 11:32 docs drwxrwxr-x 6 israa israa 4096 تشرين الثاني 23 11:32 examples drwxrwxr-x 5 israa israa 4096 تشرين الثاني 23 11:32 include -rw-r--r-- 1
  13. Yes, you're correct. There should be no "|" before integer_type. I saw this myself just yesterday and have already corrected it. We'll be happy to hear any other feedback. Thanks! Regards, Shalom Bresticker (document editor)
  14. there seems to be a minor error in the grammar rule: casting_type ::= //seems like an error here - is this an empty rule here? | integer_type | bool_type | enum_type | user_defined_datatype
  15. Earlier
  16. Hello @Issraa, Have you shared the system root path list?(i.e. ls -al /) I want the content of the folder where the SystemC library was configured to be installed. ls -al /home/israa/systemc The system root will not really help. I would recommend you go through some UNIX/Linux system tutorial about the various shells and their configurations along with understanding various environment vairables. Hope this helps. Regards, Ameya Vikram Singh
  17. @AmeyaVS Good Morning, total 84 drwxr-xr-x 20 root root 4096 آب 8 04:13 . drwxr-xr-x 20 root root 4096 آب 8 04:13 .. lrwxrwxrwx 1 root root 7 آب 8 04:12 bin -> usr/bin drwxr-xr-x 4 root root 4096 تشرين الأول 26 19:55 boot drwxr-xr-x 2 root root 4096 آب 8 04:13 cdrom drwxr-xr-x 20 root root 4720 تشرين الثاني 27 10:31 dev drwxr-xr-x 130 root root 12288 تشرين الأول 26 19:55 etc drwxr-xr-x 4 root root 4096 آب 8 04:13 home lrwxrwxrwx 1 root root 7 آب 8 04:12 lib -> usr/lib l
  18. You should call sc_stop exactly once. Then you won’t get any errors.
  19. hello everyone, In my module code, when I detect the simulation is complete, I call > sc_stop(). Is there a better way to stop simulation witout getting the > following error:>> SystemC: simulation stopped by user.>> Error: (E546) sc_start called after sc_stop has been called> In file: ../../../../src/sysc/kernel/sc_simcontext.cpp:1315>> Thank you,
  20. I can build SystemC 2.3.3 in VC++ 2017 but when it come to linking, it cannot find some assignment operators like: Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol "public: class sc_dt::sc_fixed_fast<8,1,0,0,0> & __cdecl sc_dt::sc_fixed_fast<8,1,0,0,0>::operator=(class sc_dt::sc_fxnum_fast const &)" (??4?$sc_fixed_fast@$07$00$0A@$0A@$0A@@sc_dt@@QEAAAEAV01@AEBVsc_fxnum_fast@1@@Z) referenced in function "void __cdecl utils::fx2fp<12,8>(class fx_complex_<class sc_dt::sc_fixed_fast<
  21. Dear @AmeyaVS, Thank you for your fast response. I reinstalled the SystemC in separated directory based on your suggestion using this command: ../configure --prefix=/home/israa/systemc and when I get to the command "make install" this is the full output: Making install in docs make[1]: Entering directory '/home/israa/systemc-2.3.3/objdir/docs' make[2]: Entering directory '/home/israa/systemc-2.3.3/objdir/docs' make[2]: Nothing to be done for 'install-exec-am'. /usr/bin/mkdir -p '/home/israa/systemc/docs' /usr/bin/mkdir -p '/home/israa/systemc/docs/tl
  22. Hello @Issraa, Using default for configure script would probably generate the installation location to: /opt/systemc # or something similar. You would get error while trying to run the installation target if you don't have necessary privileges: make install Can you post the output you get on the terminal after running the previous command? Also, while setting the following environment variable: # Instead of this: export LD_LIBRARY_PATH=/home/israa/systemc-2.3.3/lib-linux64 # Can you try with this: export LD_LIBRARY_PATH=/opt/systemc/lib-linux64 Also, I would reco
  23. Hi everyone, For the installation I used the following exact commands: > mkdir objdir > cd objdir > export CXX=g++ >../configure > make > make check > make install and every thing run without any errors However, when I run my simulator based on SystemC I still get the following error: error while loading shared libraries: libsystemc-2.3.3.so: cannot open shared object file: No such file or directory regards, Israa
  24. Hi @AmeyaVS, Thank you for your response I used the following command: ../configure and then when I used the command make install there were no issue Also I tried the commands that you suggested: export SYSTEMC_HOME=<path when the make install command copied the files> # If "echo $LD_LIBRARY_PATH" is not empty export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SYSTEMC_HOME/lib-linux64 and when I use the command "echo $LD_LIBRARY_PATH" I get: /home/israa/systemc-2.3.3/lib-linux64:/home/israa/systemc-2.3.3/lib-linux64 However, the same error me
  25. Hello @Issraa, It would be great if you could post the exact commands used. #For e.g. the configure command: # Did you use this ../configure #or this one ../configure --prefix=<some path for systemc installation> What is the output of the following command: make install Did it install the SystemC library without any issues? If yes. Try setting the following environment variables: # Below snippet compatible with bash shell export SYSTEMC_HOME=<path when the make install command copied the files> # If "echo $LD_LIBRARY_PATH" is not empty export LD_LIB
  26. Good morning @AmeyaVS, I follow these steps: Basic SystemC Installation ========================== To install SystemC on a UNIX system, do the following steps: 1. Change to the top level directory (systemc-2.3.2) 2. Create a temporary directory, e.g., > mkdir objdir 3. Change to the temporary directory, e.g., > cd objdir 4. Choose your compiler by setting the CXX environment variable (the configure script tries to guess the default compiler, if this step is omitted): If you use a POSIX-compatibl
  27. This part is wrong: for ( int i=0; i<N ; i++){ for ( int j=0; j<NB_elements_trans ; j++){ i_adder = new adder("i_adder"); i_adder->in[j](sig_data[i][j]); } i_adder->out(sig_add); } You create N x NB_elements_trans i_adder elements and on each of them you only connect 1 of 4 in ports. I guess you mean: for ( int i=0; i<N ; i++){ i_adder = new adder("i_adder"); for ( int j=0; j<NB_elements_trans ; j++){ i_adder->in[j](sig_data[i][j]); } i_adder->out(sig_add); } A few remarks: you create a memo
  1. Load more activity
×
×
  • Create New...