Jump to content
Sign in to follow this  
mohitnegi

loosely timed vs accurate timed ??

Recommended Posts

The two coding styles trade off speed vs timing accuracy.

 

The main limitation of the loosely timed coding style is that you cannot model pipelined transactions.

 

So you need to decide how much timing accuracy you need, and if you need to model pipelined transactions,

 

regards

Alan

Share this post


Link to post
Share on other sites

Imagine you are modelling a bus-based system.

You send a request to a slave on the bus.

That request takes keeps the bus busy for 50 ns, and then the peripheral takes 25 ns to process the data.

 

That means you can send a new request on the bus every 50 ns, before you have received the response from the slave.

 

Req1    Req2
---------|---------|---------
   |---------|---------|---------
                Resp1   Resp2

If you need to model at that level of detail, then you would use approximately timed modeling, with non-blocking transport.

 

If you don't need that level of detail (perhaps you don't even know what bus you're using yet?) then loosely-timed might be appropriate (and faster)

 

regards

Alan

Share this post


Link to post
Share on other sites

Hello Alan,

 

If i have a LT model whose response i will get after 50 ns ....and i  have a AT which i am running in multiple phases and response of those multiple phases also add up to 50 ns ...so how does one becomes more timing accurate .../????

 

Regards

Mohit Negi

Share this post


Link to post
Share on other sites

In a loosely timed model you only have two timing points - start of transaction, end of transaction.

 

In an approximately timed model using the base protocol, you have four timing points - start request, end request, start response, end response - hence you can model overlapped (pipelined) transactions, because you can start a new request before you have the response to the previous request.

 

In my example above, you would only be able to send a new transaction every 75 ns using loosely timed, so the model of the timing of the transaction is less accurate - in the loosely timed model I can send a new transaction every 75 ns, in approximately timed every 50 ns using that example.

 

If you do not use overlapped transactions, then you could just use begin request and end response, so as you say the non-blocking (approximately timed) and blocking (loosely timed) models would give the same results,

 

regards

Alan

Share this post


Link to post
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...