-
Notifications
You must be signed in to change notification settings - Fork 666
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1973 from ucb-bar/ara-integrate
Integrate Ara vector unit
- Loading branch information
Showing
13 changed files
with
78 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
Ara | ||
=== | ||
|
||
`Ara <https://github.com/pulp-platform/ara>`__ is a RISC-V vector unit developed by the PULP project. | ||
The Ara vector unit supports integration with either the Rocket or Shuttle in-order cores, following a similar methodology as used in the original Ara+CVA6 system. | ||
Example Ara configurations are listed in ``generators/chipyard/src/main/scala/config/AraConfigs.scala``. | ||
|
||
.. Warning:: Ara only supports a partial subset of the full V-extension. Notably, we do not support virtual memory or precise traps with Ara. | ||
|
||
To compile simulators using Ara, you must pass an additional ``USE_ARA`` flag to the makefile. | ||
|
||
.. Note:: Ara only supports VCS for simulation | ||
|
||
.. code-block:: shell | ||
make CONFIG=V4096Ara2LaneRocketConfig USE_ARA=1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
32 changes: 32 additions & 0 deletions
32
generators/chipyard/src/main/scala/config/AraConfigs.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package chipyard | ||
|
||
import org.chipsalliance.cde.config.{Config} | ||
import saturn.common.{VectorParams} | ||
|
||
// Rocket-integrated configs | ||
class V4096Ara2LaneRocketConfig extends Config( | ||
new ara.WithAraRocketVectorUnit(4096, 2) ++ | ||
new freechips.rocketchip.rocket.WithNBigCores(1) ++ | ||
new chipyard.config.AbstractConfig) | ||
|
||
|
||
class V8192Ara4LaneRocketConfig extends Config( | ||
new ara.WithAraRocketVectorUnit(8192, 4) ++ | ||
new chipyard.config.WithSystemBusWidth(128) ++ | ||
new freechips.rocketchip.rocket.WithNBigCores(1) ++ | ||
new chipyard.config.AbstractConfig) | ||
|
||
|
||
// Shuttle-integrated configs | ||
class V4096Ara2LaneShuttleConfig extends Config( | ||
new ara.WithAraShuttleVectorUnit(4096, 2) ++ | ||
new shuttle.common.WithNShuttleCores(1) ++ | ||
new chipyard.config.AbstractConfig) | ||
|
||
|
||
class V8192Ara4LaneShuttleConfig extends Config( | ||
new ara.WithAraShuttleVectorUnit(8192, 4) ++ | ||
new chipyard.config.WithSystemBusWidth(128) ++ | ||
new shuttle.common.WithShuttleTileBeatBytes(16) ++ | ||
new shuttle.common.WithNShuttleCores(1) ++ | ||
new chipyard.config.AbstractConfig) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters