Jump to content

How to implement floating point pipelines?


Recommended Posts

The syntax of SystemC is C++. C++ supports float, double, and long double. The basic idea of SystemC is to raise abstraction above (away-from) RTL to obtain faster running simulations. So modeling a pipelined multiplier can be quite trivial using three SystemC processes:

  1. Grab inputs and schedule to be placed into pipeline on the next clock using sc_event.
  2. Schedule an sc_event_queue for stages*clock_period and place calculation into queue.
  3. When event queue triggers, pop the queue and output the value.

If you need to deal with floating point status, that can be placed in the queue as well at the point of computation and updated when it pops out.


Link to comment
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.

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.

  • Create New...