CbrSystemC Posted February 8, 2016 Report Share Posted February 8, 2016 Hi, my task is to set up a virtual platform using systemc and tlm 2.0 for embedded software development. The software developer should write a stimulus file and download it in the virtual platform to generate external events. (for example: gpio pin is set high or a serial interface gets a packet) Is there any general approach how to generate external events?? regards, Christoph Quote Link to comment Share on other sites More sharing options...
apfitch Posted February 11, 2016 Report Share Posted February 11, 2016 Not as far as I know. If you haven't found it already, you might want to look at http://www.embecosm.com/appnotes/ean1/ean1-tlm2-or1ksim-2.0.html regards Alan Quote Link to comment Share on other sites More sharing options...
CbrSystemC Posted February 16, 2016 Author Report Share Posted February 16, 2016 thx for your reply. I saw this article already. I am trying to build an internal testbench within the VP, were ports are connected to each IP block which can have external events ( uart, spi, gpio). Each IP has ports for input and output. Via this Interface I send custom packets with information which is needed for the event. regards, Christoph Quote Link to comment Share on other sites More sharing options...
Gopher Posted April 11, 2016 Report Share Posted April 11, 2016 On 2/16/2016 at 9:31 AM, CbrSystemC said: thx for your reply. I saw this article already. I am trying to build an internal testbench within the VP, were ports are connected to each IP block which can have external events ( uart, spi, gpio). Each IP has ports for input and output. Via this Interface I send custom packets with information which is needed for the event. regards, Christoph Have you had any success setting up a virtual testbench this Christoph? I'd think to use tlm 2.0 as well. Quote Link to comment Share on other sites More sharing options...
Bella19 Posted December 26, 2016 Report Share Posted December 26, 2016 On 2/16/2016 at 1:31 PM, CbrSystemC said: thx for your reply. I saw this article already. I am trying to build an internal testbench within the VP, were ports are connected to each IP block which can have external events ( uart, spi, gpio). Each IP has ports for input and output. Via this Interface I send custom packets with information which is needed for the event. https://legalsteroids.best/bulking/ will help you find some of the best bulking supplements available on the market that aren't harmful as steroids, regards, Christoph I am looking to make something similar with a light twist i mean i will aslo be tracking OS and other details like browsers. let me know how is your thing coming along? Quote Link to comment Share on other sites More sharing options...
Haillie Posted November 11, 2017 Report Share Posted November 11, 2017 On 2/16/2016 at 4:31 PM, CbrSystemC said: thx for your reply. I saw this article already. I am trying to build an internal testbench within the VP, were ports are connected to each IP block which can have external events ( uart, spi, gpio). Then I discovered where to buy Phen375. Each IP has ports for input and output. Via this Interface I send custom packets with information which is needed for the event. regards, Christoph 5 5 Hi Christoph, have you had any success in building the internal testbench within the VP? If yes, could you please share it with me? I might need it in the near future. Thanks. Quote Link to comment Share on other sites More sharing options...
osborn ronald Posted June 27, 2019 Report Share Posted June 27, 2019 On 2/16/2016 at 12:31 AM, CbrSystemC said: thx for your reply. I saw this article already. I am trying to build an internal testbench within the VP, Contrave were ports are connected to each IP block which can have external events ( uart, spi, gpio). Each IP has ports for input and output. Via this Interface I send custom packets with information which is needed for the event. regards, Christoph Virtual prototyping allows designers to set up an electronic system level software simulator of a full HW/SW platform to carry out SW development and HW design almost in parallel. Quote Link to comment Share on other sites More sharing options...
David Black Posted June 27, 2019 Report Share Posted June 27, 2019 If you are trying to inject events from received TCP/IP running in parallel OS threads or external OS processes, then you will need to create a primitive channel utilizing sc_core::async_request_update() in order to safely (see note 1) inject events into SystemC. Your only other option is to poll, which is rather inefficient. Also be mindful that the SystemC side performance does not guarantee you will only get one event per delta cycle; therefor, you need to use a queue to receive data. You will also likely need to use an OS mutex (C++11 std::mutex should work fine for this application). Note 1: SystemC is not inherently thread-safe and random injection from outside can corrupt the simulation. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.