Replacing FPU with custom block

35 views
Skip to first unread message

Anirudh Krishna

unread,
May 18, 2021, 5:24:48 PM5/18/21
to OpenPiton Discussion
Hi everyone!

I have a custom module which is capable of performing some operations. 
I would like to add a port from my custom module to the L1.5 Cache, using the CCX Arbiter.
Essentially, the goal is to have the custom module replace the FPU in the following image:

Screenshot 2021-05-18 172211.png
The only difference between my custom module and the FPU is that the custom module should be able to both send and receive messages from the L1.5 cache. The current implementation allows for the custom module to receive messages from the L1.5 cache, and I would like to modify it to send messages to the L1.5 through the CCX Arbiter

I would appreciate it if I can get some pointers on how to go about the same!
Thanks in advance!!

Jonathan Balkind

unread,
May 20, 2021, 2:43:59 PM5/20/21
to OpenPiton Discussion
Hi Anirudh,

Unless you're using the OST1 core as shown in that figure, the CCX arbiter doesn't exist any longer. We make use of the Transaction Response Interface (TRI) as detailed in our paper BYOC which was published in ASPLOS 2020.

If you'd like to do what you're saying with Ariane, you'd want to modify Ariane to use only a single threadid and then assign your own module to use the other threadid. You can then add a simple arbiter between the two. We've done this internally for a couple of projects (not the Ariane modification part, but that shouldn't be too hard) and haven't seen any significant issues in doing so.

Thanks,
Jon

--
You received this message because you are subscribed to the Google Groups "OpenPiton Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpiton+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/openpiton/337ae1de-fac5-4fea-bbf9-c039523c75can%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages