7 Commits

Author SHA1 Message Date
Richard Yan
2bbee0542b update radiance main with ae changes 2025-01-31 22:26:44 -08:00
Richard Yan
ae552222d6 Merge branch 'asplos-ae' 2025-01-31 19:17:14 -08:00
Richard Yan
4a0b1c05cd add defines for flash config 2025-01-30 23:58:50 -08:00
Richard Yan
34c33278d2 Merge branch 'asplos-ae' of https://github.com/ucb-bar/radiance into asplos-ae 2025-01-30 22:34:43 -08:00
Richard Yan
68e4ebb471 remove tensor dpu sv 2025-01-30 22:34:38 -08:00
Hansung Kim
dd6c53bd85 Deinit cyclotron submodules 2025-01-30 21:35:39 -08:00
Richard Yan
a88da88a63 fix microcode of manual job invocation 2025-01-29 01:17:24 -08:00
8 changed files with 12 additions and 3991 deletions

4
.gitmodules vendored
View File

@@ -1,8 +1,6 @@
[submodule "src/main/resources/vsrc/vortex"]
path = src/main/resources/vsrc/vortex
url = https://github.com/hansungk/vortex.git
[submodule "cyclotron-main"]
path = cyclotron-main
url = https://github.com/hansungk/cyclotron-main.git
[submodule "cyclotron"]
path = cyclotron
url = https://github.com/hansungk/cyclotron.git

Submodule cyclotron-main deleted from 06081eb052

View File

@@ -2,8 +2,7 @@
# extra variables/targets ingested by the chipyard make system
##############################################################
VORTEX_SRC_DIR = $(base_dir)/generators/radiance/src/main/resources/vsrc/vortex
CYCLOTRON_SRC_DIR = $(base_dir)/generators/radiance/cyclotron
VORTEX_SRC_DIR = $(base_dir)/generators/radiance/src/main/resources/vsrc/vortex CYCLOTRON_SRC_DIR = $(base_dir)/generators/radiance/cyclotron
CYCLOTRON_BUILD_DIR = $(CYCLOTRON_SRC_DIR)/target/debug
# CYCLOTRON_BUILD_DIR = $(CYCLOTRON_SRC_DIR)/target/release
RADIANCE_CSRC_DIR = $(base_dir)/generators/radiance/src/main/resources/csrc
@@ -24,6 +23,9 @@ endif
ifeq ($(shell echo $(CONFIG) | grep -E "HopperConfig$$"),$(CONFIG))
EXTRA_SIM_PREPROC_DEFINES += +define+NUM_CORES=4 +define+EXT_T_HOPPER
endif
ifeq ($(shell echo $(CONFIG) | grep -E "FlashConfig$$"),$(CONFIG))
EXTRA_SIM_PREPROC_DEFINES += +define+NUM_CORES=4
endif
EXTRA_SIM_PREPROC_DEFINES += \
+define+SIMULATION \
+define+GPR_RESET \

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -216,6 +216,7 @@ class GemminiTileModuleImp(outer: GemminiTile) extends BaseTileModuleImp(outer)
val squareBoundsInst = ciscInstT.Lit(_.inst -> 0x1220b07b.U, _.rs1 -> 0.U,
_.rs2 -> (tileSizeM | (tileSizeM << 16) | (BigInt(tileSizeM) << 32)).U)
val boundsInst = Mux(ciscId(7), squareBoundsInst, rectBoundsInst)
val nopInst = ciscInstT.Lit(_.inst -> 0.U, _.rs1 -> 0.U, _.rs2 -> 0.U)
def genStrideInst(tileA: UInt, tileB: UInt) = {
val inst = Wire(ciscInstT)
@@ -249,7 +250,9 @@ class GemminiTileModuleImp(outer: GemminiTile) extends BaseTileModuleImp(outer)
val accSkipInst = genAccSkipInst(0.U, ((ciscArgs(23, 16) * spadHexadecile.U) << 32).asUInt | 0x238.U)
ciscInst := microcodeEntry(Seq(boundsInst, strideInst, accSkipInst))
}
is (2.U) {} // no actual invocation, fake job placeholder
is (2.U) {
ciscInst := microcodeEntry(Seq(nopInst))
} // no actual invocation, fake job placeholder
is (8.U) { // set a, b stride
val inst = Wire(ciscInstT)
inst.inst := 0x1820b07b.U
@@ -337,7 +340,7 @@ class GemminiTileModuleImp(outer: GemminiTile) extends BaseTileModuleImp(outer)
gemminiIO.bits.inst := Mux(ciscValid, ciscInst.inst.asTypeOf(gemminiIO.bits.inst), regCommand)
gemminiIO.bits.rs1 := Mux(ciscValid, ciscInst.rs1, Cat(gemminiRs1RegMSB, gemminiRs1RegLSB))
gemminiIO.bits.rs2 := Mux(ciscValid, ciscInst.rs2, Cat(gemminiRs2RegMSB, gemminiRs2RegLSB))
gemminiIO.valid := ciscValid || regValid
gemminiIO.valid := (ciscValid && (ciscInst.inst =/= 0.U)) || regValid
assert(gemminiIO.ready || !gemminiIO.valid)
accSlave.status := RegNext(outer.gemmini.module.io.busy).asUInt