bluespec.com Forum Index bluespec.com
Bluespec Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

TLM modeling

 
Post new topic   Reply to topic    bluespec.com Forum Index -> Non-technical discussions and questions
View previous topic :: View next topic  
Author Message
ahmed



Joined: 21 May 2014
Posts: 1

PostPosted: Fri May 23, 2014 2:35 pm    Post subject: TLM modeling Reply with quote

Does BSV support TLM modeling ?

Thanks
Back to top
View user's profile Send private message
quark
Site Admin


Joined: 02 Nov 2007
Posts: 496

PostPosted: Tue May 27, 2014 12:30 pm    Post subject: Re: TLM modeling Reply with quote

BSV is quite suited to transaction-based modeling. Can you be more specific about what you'd like to know?

If you are referring to the SystemC TLM standard, then yes BSC comes with several libraries for implementing versions of TLM. Bluespec's first TLM implementation is available as source code in BLUESPECDIR/BSVSource/Contrib/TLM. Documentation is in that directory in the file TLM.pdf. The library is also pre-compiled in BLUESPECDIR/Libraries/Contrib/TLM/. A newer implementation, for TLM3, is available only pre-compiled, in BLUESPECDIR/Libraries/TLM3, as and documentation for it is available separately.

If you just interested in transaction-based modeling in general, then you might also want to make use of the Get and Put interfaces, which are in the GetPut library, which is documented in the BSV Reference Guide.

If you are looking for a document or white paper on recommended techniques for transaction-level modeling in BSV, I don't think we have that. I would simply point out that everything in BSC is synthesizable, so you can synthesize a design with a FIFO that contains an entire packet transaction; even if that wouldn't be feasible in hardware, because it would be many bits wide (or would make more sense to be serialized into chunks and pipelined), you can still generate a simulation. So it's very easy to make a model that passes abstract transaction data types around. So I would just suggest using Get and Put interfaces, and FIFOs between modules, and using them to pass around structs or tagged unions that represent the transactions. You can also use techniques such as storing the associated data in a memory, and just including a pointer to the data in the transaction struct that you're passing from FIFO to FIFO. Unfortunately, I don't think we have a document describing those types of techniques.
Back to top
View user's profile Send private message
nikhil
Site Admin


Joined: 23 Jul 2007
Posts: 14
Location: Waltham, MA

PostPosted: Tue May 27, 2014 1:15 pm    Post subject: Reply with quote

To add to Jacob's comments:

We usually design by "refining" from a high-level TLM model to an
acceptable hardware implementation.

The initial high-level TLM model just uses Get and Put interfaces
between Initiators, Interconnect Fabrics, and Targets, where the
payload types are the actual data types we want to communicate. The
interconnect is initially a simple full crossbar switch.

This can of course be simulated in Bluesim. It can even be
synthesized as is, but as Jacob mentioned, the hardware may not be
efficient if the payloads are large.

If the hardware needs to be improved, we can _refine_ the design using
the TLM3 library, where simple parameter settings can narrow the data
path to the required widths, and the library takes care of
serialization into bursts and vice versa. We can also refine the full
crossbar switch to a more area-efficient one.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic    bluespec.com Forum Index -> Non-technical discussions and questions All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum
bluespec.com topic RSS feed 


Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP