blob: ff13419deba97ebed112935cf1249cbcc54be479 [file] [log] [blame]
/**********************************************************
* Name: BUS
*
* Author: Hanssel Norato-Sep 17, 2019.
*
* Modified by: Oscar Pardo-27/08/2020.
*
* Abstract: An AES accelerator
***********************************************************/
package fossiAES
import chisel3._
import chisel3.util._
object BusConsts{
//
def AddrBits = 32
def DataBits = 32
def BURST = 3
def PROT = 4
def SIZE = 3
def TRANS = 2
// Operation HTRANS modes
def IDLE = 0
def BUSY = 1
def NONSEQ = 2
def SEQ = 3
// Protection control HPROT
def Opcode_fetch = 0 //"b0"
def Data_access = 1
def User_access = 0
def Privileged_access = 2
def Non_bufferable = 0
def bufferable = 4
def Non_cacheable = 0
def cacheable = 16
}
class Condor_SlaveIO extends Bundle{
val caddr = Input(UInt(BusConsts.AddrBits.W))
val cop = Input(UInt(BusConsts.TRANS.W))
val cwrite = Input(Bool())
val creq = Input(Bool())
val cvalid = Input(Bool())
val cburst = Input(UInt(BusConsts.BURST.W))
val csel = Input(Bool())
val csize = Input(UInt(BusConsts.SIZE.W))
val cprot = Input(UInt(BusConsts.PROT.W))
val cready = Input(Bool())
val cwdata = Input(Bits(BusConsts.DataBits.W))
val crdata = Output(Bits(BusConsts.DataBits.W))
val creadyout = Output(Bool())
val cresp = Output(Bool())
}