Jump to content

Martin Barnasconi

  • Content Count

  • Joined

  • Last visited

  • Days Won


Martin Barnasconi last won the day on March 12

Martin Barnasconi had the most liked content!

About Martin Barnasconi

  • Rank
    Advanced Member

Profile Information

  • Gender
  • Location
    Eindhoven, The Netherlands

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. It is recommended not to use VCD trace files for TDF, LSF and ELN signals due to their continuous-time nature. Instead you should use the tabular tracefile format. You can open that it many tools since it is basically a ASCII based file with space-separated columns.
  2. You need to specify the timestep to at least one TDF module or TDF port, using method set_timestep. In a TDF module this method should be called in the callback set_attributes. See section 2.3.1 (Discrete-time modeling) and Example 2.11 in the SystemC-AMS User's Guide.
  3. statistics_config is not part of the SystemC AMS language standard (IEEE 1666.1-2016) and as such also not described in the users guide.
  4. The behavior your describe is correct and caused by the discrete-event behavior of the SystemC kernel. I suggest to read section 2.4.1 (Reading from the discrete-event domain) in the SystemC AMS user guide.
  5. There is no such thing as a default state. Equation 7.34 in the 1666.1-2016 LRM defines the contribution of the switch to the equation system, and depends on the value of the control signal (ctrl) of the switch. Since the type of the control signal should be a Boolean value, the initial value can be true or false, which is driven from the digital discrete-event side.
  6. Yes, many publications have been posted on this during the last decade. Check IEEEEXplore for the papers. Another approach is check publications from DOCEA POWER, a company which was focusing on this, and is still active in this domain (although under a different name)
  7. Accellera released the SystemC AMS user's guide application examples, which are available for download via this link. These examples can be executed using your preferred EDA tools, as long as they support the SystemC and SystemC AMS language standard. Alternatively, you can use the open source SystemC and SystemC AMS reference implementations. Instructions for installation and execution can be found in the INSTALL or README files as part of these packages. We welcome your feedback!
  8. The SystemC AMS standard defines in section (sca_util::sca_trace) that it can trace objects of type sca_traceable_object. Since all ELN primitives are derived of this type, you can simply trace the ELN component itself, see example below SC_MODULE(eln_circuit) { // node declaration sca_eln::sca_node n1; // ELN node sca_eln::sca_node_ref gnd; // ELN ground // component declaration sca_eln::sca_vsource vin; sca_eln::sca_r r1; // constructor including ELN netlist eln_circuit( sc_core::sc_module_name nm ) : vin("vin", 0.0, 1.23), r1("r1", 1e3)
  9. The 2020 edition of the SystemC AMS user's guide is available here https://www.accellera.org/downloads/standards/systemc
  10. The Accellera SystemC AMS Working Group released the 2020 edition of the SystemC AMS User's Guide. You will find the user's guide on this page: https://www.accellera.org/downloads/standards/systemc This version of the user's guide is fully compatible with the SystemC AMS standard released as IEEE Std. 1666.1-2016. It describes all the features introduced in the SystemC AMS language standard during the last decade. For example, the user’s guide now explains the use of the dynamic timed data flow capabilities, to make AMS system simulations even more efficient and running even faster.
  11. The code snippet listed above shows that the file is repeatedly opened in the processing() method, since this method is called at each time step. Instead, the file should only be opened once, e.g. in the module constructor or initialize() callback. Note that in this case you need to make the variable of type ifstream a (private) member of the class, so other methods can access this variable.
  12. Indeed, the Accellera SystemC AMS working group is currently active in updating the SystemC AMS user's guide, including an detailed explanation of the dynamic TDF features introduced since SystemC AMS 2.0 (and also incorporated in the IEEE 1666.1 standard) and obviously removing deprecated methods. Examples have been presented in various workshops and tutorials given the last decade at DATE, DVCon Europe, DAC conferences. Please check the SystemC AMS community pages for some of the links. https://accellera.org/community/systemc/about-systemc-ams The "golden reference" for System
  13. The (old) SystemC AMS User's Guide is now directly accessible via this link: http://www.accellera.org/images/downloads/standards/systemc/OSCI_SystemC_AMS_Users_Guide.pdf And also listed in the overview of SystemC standards: http://www.accellera.org/downloads/standards/systemc As mentioned before, the AMS Working Group members are currently working on the update of the User's Guide by including the dynamic TDF timestep features which are also part of the IEEE 1666.1 standard.
  14. Please note that the electrical primitives are predefined elements using the ELN model of computation; there is no mechanism to create your own electrical primitives. As such there is no such thing as a SCA_ELN_MODULE. Primitive modules can only be created for the TDF MoC, hence the SCA_TDF_MODULE macro as alternative to the class sca_tdf::sca_module. Wrt the the SystemC AMS 1.0 User's Guide, I will start an action to make it available independently of the LRM. Although the authors of the User's Guide are quite busy with other things, they full recognize the need to update the guide
  • Create New...