pulp-platform / occamy Goto Github PK
View Code? Open in Web Editor NEWA high-efficiency system-on-chip for floating-point compute workloads.
Home Page: https://pulp-platform.github.io/occamy/
License: Apache License 2.0
A high-efficiency system-on-chip for floating-point compute workloads.
Home Page: https://pulp-platform.github.io/occamy/
License: Apache License 2.0
We probably need to think about generating a couple of different systems in occamygen.py
.
I can at least think about two in that context:
I think we have all the necessary ingredients for this. What is missing is:
jsonref
we could also share the cluster configuration between the system configuration.Bender.yml
to include the appropriate files.Actually, maybe we can call the occamy_cluster_pkg::sram_cfgs_t
something like occamy_cluster_pkg::sram_cluster_cfgs_t
and the occamy_pkg::sram_cfgs_t
something like occamy_pkg::sram_occamy_cfgs_t
?
Originally posted by @GiannaP in pulp-platform/snitch#303 (comment)
Make sure that the params.json
can be changed directly in Occamy, rather than taking the configuration of the snitch_cluster
dependency
Currently, all AXI crossbars in occamy are configured with master port 0
as default slave:
https://github.com/pulp-platform/snitch/blob/49346c18504c06df088bf86a21e78f7ebc31d9ea/util/solder/solder.py#L1364-L1365
For the top-level crossbars, it might make sense to disable the default slave and return a DEC_ERROR
when accessing an unmapped memory region instead.
The verilator testbench is faster for cycle-accurate software benchmarks than VCS/VSIM simulators. Occamy is not yet fully verilator compatible. Verilating this many cores will require a lot of RAM and will likely not work.
This was the motivation to enable hierachical mode inside the Snitch cluster. Current effort can be seen in the verilator-hierachical branch.
parameter type
parameters. This was mitigated by adding a wrapper around snitch_cc
and passing the structs by their bit with and re-generating the structs before instantiating snitch_cc
The model compiles but the first instructions to the FPU subsystem are not retired
fcvt.d.w ft0, zero #; ac1 = 0
fcvt.d.w ft1, zero #; ac1 = 0
The VSIM testbench works with the modifications enabled (adding ``define VERILATORand run
make bin/snitch_cluster.vsim`). Instructions offloaded to outside `snitch_cc` work too (`div/mul`). The `fcvt` instruction is offloaded to the FPU-SS that resides inside `snitch_cc` which due to the hierarchical mode cannot be inspected in the generated VCD.
This issue should serve as an entry-point for someone interested in picking this up again.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.