tyler Posted October 13, 2018 Report Share Posted October 13, 2018 Hi all, I recently start to study systemC TLM2.0 for AT modeling. As a major AT concept, the non-blocking interface is used. I am very confused in this non-blocking concept as the interface barely defines 4 enums as different phases. The LRM explains them in a very theoretical way but I am confused that why we need the four phases. What makes the four phases so important for modeling ? 0,1,2,3 can be states, handshakes, sync points, whatever, but it is not very clearly said to me. Sync points maybe, but why 4? no more wait() to advance the time, the time is advanced in different phases and based on the protocol. But the time is advanced, and blocking can advance the time as well, the only difference here is the phase. So why adding a phase makes a call nonblocking? The transaction items are just put into a queue to wait. It is blocked in the queue in the target instead of the initiator now. Could someone give a real example about when a non-blocking is a must over the blocking transport? As many are saying that non-blocking is majorly used to model pipeline structure without stalling the owner process, but blocking interface somehow can do the same. The nonblocking transfer can indeed initiate two transactions to, for example , a memory chip, at the same time, say, 0ns;while the blocking has to wait for the first one to finish. However, in the real world, the instructions are cycle based. No one would send out two instructions at the same time over one port. If they do, there are more than one port for access. Blocking interface can have multiple ports too. Please help me with some other real cases that a nonblocking interface has practical meaning to a hardware structure. Enlighten me on this please as I am scratching my head right now. I thought of some types of instructions from cpu to access sram and dram at the same time, but this can be done by blocking as well because it would use multiple sockets. I read the LRM many times and other resources. no one seems to give very clear explanation. I am new so please help! Thanks in advance. Quote Link to comment Share on other sites More sharing options...
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.