Skip to content
Snippets Groups Projects
Select Git revision
  • 398f003182a6edebbc4a98c63b2a83a29ae31f0f
  • master default protected
2 results

common.cmake

Blame
  • DoubleRound.scala 584 B
    package uk.ac.soton.ecs.can.core
    
    import chisel3._
    
    class DoubleRound(regBetweenRounds: Boolean) extends Module {
      val io = IO(new Bundle {
        val in = Input(Vec(16, UInt(32.W)))
        val out = Output(Vec(16, UInt(32.W)))
      })
    
      val betweenRounds =
        if (regBetweenRounds)
          Reg(Vec(16, UInt(32.W)))
        else
          Wire(Vec(16, UInt(32.W)))
    
      val columnRound = Module(new ColumnRound)
      val diagonalRound = Module(new DiagonalRound)
    
      columnRound.io.in := io.in
      betweenRounds := columnRound.io.out
      diagonalRound.io.in := betweenRounds
      io.out := diagonalRound.io.out
    }