Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crossbar #2

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open

Crossbar #2

wants to merge 19 commits into from

Conversation

OceanS2000
Copy link
Contributor

Initial implementation of TileLink bus arbiter and crossbar.

@sequencer
Copy link
Member

LICENSE.SiFive can be removed, since it's also the Apache-2.0 license, which is duplicated to the SPDX-License-Identifier. please add copyright under the SPDX-License-Identifier license.

@sequencer
Copy link
Member

See https://www.sifive.com/documentation, please update to latest TileLink Spec.(CMO in Hint)

@OceanS2000 OceanS2000 force-pushed the crossbar branch 2 times, most recently from deca900 to 5f62529 Compare February 15, 2023 16:22
tilelink/src/xbar/TLArbiter.scala Outdated Show resolved Hide resolved
tilelink/src/bundle/TLLinkParameter.scala Outdated Show resolved Hide resolved
@OceanS2000 OceanS2000 force-pushed the crossbar branch 2 times, most recently from 3ffe37b to db272d1 Compare February 16, 2023 07:21
@OceanS2000 OceanS2000 force-pushed the crossbar branch 2 times, most recently from 5caa975 to 86e5d66 Compare February 16, 2023 07:57
val mask = RegInit(((BigInt(1) << width) - 1).U(width - 1, 0))
val filter = Cat(scanRightOr(valid & ~mask), valid)
val unready = (filter >> 1).asUInt | (mask << width).asUInt
val readys = (~((unready >> width).asUInt & unready(width - 1, 0))).asUInt
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to .asUInt here, this actually is a IDEA bug.


import scala.collection.immutable.SeqMap

object TLLink {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe this should be a utils object


import chisel3.util.log2Ceil
import upickle.default.{macroRW, readwriter, ReadWriter => RW}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do need ScalaDoc for this file!

@OceanS2000 OceanS2000 mentioned this pull request Feb 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants