Как увеличить пропускную способность некэшируемого ввода-вывода RoCC в Rocket-chip - PullRequest
0 голосов
/ 30 августа 2018

Я смотрю на RoCC в чипе Rocket. Я создаю экземпляр RoCC с tlNode следующим образом:

MyExample(opcodes: OpcodeSet, val n: Int = 2, val m: Int = 8, val pix: Int = 16)(implicit p: Parameters) extends LazyRoCC(opcodes) {
  override lazy val module = new MyExampleModuleImp(this)
  override val tlNode = TLClientNode(Seq(TLClientPortParameters(Seq(TLClientParameters("MyRoCC", IdRange(0,32))))))
}

В MyExample tlNode - это TLClient с диапазоном идентификаторов от 0 до 32, поэтому я надеюсь, что для повышения пропускной способности по шине может одновременно выполняться несколько транзакций в полете.

Однако в симуляции я обнаружил, что пропускная способность шины ограничена некоторыми узлами верхнего уровня, так как a_ready всегда низок.

Полагаю, это ограничено некоторыми настройками перемычек или буфера очереди, но я не знаю, где.

...