-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How is core_region's clock controlled and gated? #11
Comments
Hi!
You're right. That change didn't make it to the published code. To re-introduce it, it should be enough to drive the core clock from the HPU driver (https://github.com/spcl/pspin/blob/master/hw/src/pkt_scheduler/hpu_driver.sv): i.e., add a Alternatively, HPU driver could have a I'll be happy to review a PR in case you implement this!
I'm pretty sure that this unit is not used in current design version. In the first iteration, the DMA engine was communicating with the cores via events (e.g., to signal DMA completion), thus via cluster_peripherals_i. Now the DMA engine provides a per-core interface, iirc. I think it could be safely removed but I'd need to double check. |
As the
That's great. I'll try to remove it from the cluster to have a slimmer one. I understand that the DMAC is important to the cluster for tasks like moving data from L2 Cache into the L1 TCDM, so I'll be careful dealing with it.
I know little about this iirc interface, and don't find it in the code. I wonder where I can have a look at this interface? Maybe I can make some modifcation to the I really appreciate your reply and it helps a lot! |
I'm recently reading your paper "A RISC-V in-network accelerator for flexible high-performance low-power packet processing", along with the source code. And I find there're some mismatches between the paper and the source code, which are quite confusing for me.
I'm reading the source code on tag
v0.6.1
, and I make no changes to the source files. There's no significant changes for hardware design inhw/
according togit diff
with branchmaster
, so I think it's okay to considerv0.6.1
as "update-to-date".There are connections in
hw/deps/pulp_cluster/rtl/pulp_cluster.sv
, that I believe play the role of clock-gating thecore_region
.Looks like that this
cluster_peripherals_i
instance is controlling/clock-gating the RISC-V cores. However, the paper mentions thatBut I didn't find any connection between HPU driver and
cluster_peripherals_i
in the source code... Yet I don't find much description about this instance in the paper. So here are my questions:cluster_peripherals_i
playing in the design? I noticed that it manages "events" from timer, DMA and etc., but how do these events and their sources work as a part of the design?The text was updated successfully, but these errors were encountered: