Skip to content
Snippets Groups Projects
Verified Commit 3b74a1d4 authored by Minyong Li's avatar Minyong Li :speech_balloon:
Browse files

core.Round: add a grouped round block

Architectural change: the flattened columnar round and diagonal
round are now stacked and controlled by a signal, which means only
one can be activated now.
parent 79ae3d38
No related branches found
No related tags found
No related merge requests found
// SPDX-FileCopyrightText: 2021 Minyong Li <ml10g20@soton.ac.uk>
// SPDX-License-Identifier: CERN-OHL-W-2.0
package uk.ac.soton.ecs.can.core
import chisel3._
import uk.ac.soton.ecs.can.config.CanCoreConfiguration
class Round(implicit cfg: CanCoreConfiguration) extends MultiIOModule {
val roundSelect = IO(Input(Bool()))
val in = IO(Input(UInt(512.W)))
val out = IO(Output(UInt(512.W)))
private val columnarRound = Module(new ColumnarRound)
private val diagonalRound = Module(new DiagonalRound)
columnarRound.in := in
diagonalRound.in := in
out := Mux(roundSelect, columnarRound.out, diagonalRound.out)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment