2023-07-03 23:51:01 +08:00
|
|
|
package MAC
|
|
|
|
|
|
|
|
|
|
import chisel3._
|
|
|
|
|
import chisel3.stage._
|
|
|
|
|
import freechips.rocketchip.diplomacy._
|
|
|
|
|
|
|
|
|
|
import org.chipsalliance.cde.config._
|
|
|
|
|
|
2023-07-11 17:45:32 +08:00
|
|
|
// abstract class MacModule(implicit val p: Parameters) extends Module with HasMacParameters { def io: Record }
|
|
|
|
|
// abstract class MacBundle(implicit val p: Parameters) extends Bundle with HasMacParameters
|
2023-07-04 15:40:51 +08:00
|
|
|
|
|
|
|
|
|
2023-07-03 23:51:01 +08:00
|
|
|
case object MacParamsKey extends Field[MacSetting]
|
|
|
|
|
|
|
|
|
|
|
2023-07-04 15:40:51 +08:00
|
|
|
case class MacSetting(
|
2023-07-11 17:45:32 +08:00
|
|
|
// isTileLink: Boolean = true
|
2023-07-04 15:40:51 +08:00
|
|
|
){
|
2023-07-03 23:51:01 +08:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
trait HasMacParameters {
|
|
|
|
|
implicit val p: Parameters
|
|
|
|
|
|
2023-07-04 15:40:51 +08:00
|
|
|
val macSetting = p(MacParamsKey)
|
|
|
|
|
|
2023-07-11 17:45:32 +08:00
|
|
|
// def isTileLink = macSetting.isTileLink
|
2023-07-03 23:51:01 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class MacCfg extends Config((_, _, _) => {
|
|
|
|
|
case MacParamsKey => MacSetting()
|
2023-07-04 15:40:51 +08:00
|
|
|
})
|