Jump to conversation
Unresolved conversations (13)
@sequencer sequencer Jun 16, 2022
why these are all 0?
Outdated
src/main/scala/rocket/ALU.scala
ZenithalHourlyRate
@sequencer sequencer Jun 16, 2022
Seems to be a high fanout `out`... But I don't have so much idea here to provide better circuit performance...
src/main/scala/rocket/ABLU.scala
@sequencer sequencer May 16, 2022
I really like the SBox impl here! wondering if is possible to upstream this to `chisel.stdlib`.
src/main/scala/util/SBox.scala
ZenithalHourlyRate
@sequencer sequencer Mar 21, 2022
refer to spec here plz...
Outdated
src/main/scala/zk/zkn.scala
@sequencer sequencer Mar 21, 2022
Logic here is so deep...... I think we may need pipe here.
Outdated
src/main/scala/zk/zbk.scala
ZenithalHourlyRate
@sequencer sequencer Mar 21, 2022
Thinking... This is expansive, is possible to share circuit here?
Outdated
src/main/scala/zk/zbk.scala
@sequencer sequencer Mar 21, 2022
use `Option` for RV32.
Outdated
src/main/scala/zk/zbk.scala
@sequencer sequencer Mar 21, 2022
use `Option` for RV32.
Outdated
src/main/scala/zk/zbk.scala
ZenithalHourlyRate
@sequencer sequencer Mar 21, 2022
I think view API could be used here.
Outdated
src/main/scala/zk/zbk.scala
@sequencer sequencer Mar 21, 2022
nit: doubt `chisel3.util.Reverse` PPA.
Outdated
src/main/scala/zk/zbk.scala
@sequencer sequencer Mar 21, 2022
put them to RC utils or upstream to chisel? but the function may be conflict to `zext`.
Outdated
src/main/scala/zk/zbk.scala
@sequencer sequencer Mar 21, 2022
put them to RC utils or upstream to chisel?
Outdated
src/main/scala/zk/zbk.scala
@sequencer sequencer Mar 21, 2022
IMHO, ZBK is similar to ZB Ext, thus I wonder if is possible to support both? And I think for better reuse of area, maybe this should be merged into ALU.
Outdated
src/main/scala/zk/zbk.scala
ZenithalHourlyRate
Resolved conversations (39)
@jerryz123 jerryz123 Jan 17, 2023
Can we add checks for invalid configurations? Is `useBitManipCrypto && !useBitManip` legal?
src/main/scala/tile/Core.scala
ZenithalHourlyRate
@jerryz123 jerryz123 Jan 17, 2023
Shouldn't there be a `_` before `$multiLetterString`?
src/main/scala/tile/BaseTile.scala
ZenithalHourlyRate
@jerryz123 jerryz123 Jan 17, 2023
Try ``` val multiLetterExt = (Option.when(tileParams.core.useBitManip)(Seq("Zba", "Zbb", "Zbc")) ++ Option.when(tileParams.core.hasBitManipCrypto)(Seq("Zbkb", "Zbkc", "Zbkx")) ++ ...).flatten val multiLetterString = multiLetterExt.mkString("_") ```
Outdated
src/main/scala/tile/BaseTile.scala
ZenithalHourlyRate
@jerryz123 jerryz123 Jan 15, 2023
I think this can just be `class ALU(implicit p: Parameters) extends AbstractALU(ALUFN())(p) {
Outdated
src/main/scala/rocket/ALU.scala
ZenithalHourlyRate
@jerryz123 jerryz123 Jan 15, 2023
Would `class MultiplierReq(dataBits: Int, tagBits: Int, alufn: ALUFN = ALUFN())` work?
Outdated
src/main/scala/rocket/Multiplier.scala
ZenithalHourlyRate jerryz123
@jerryz123 jerryz123 Jan 14, 2023
I don't want to make this depend on `HasRocketCoreParameters`.
Outdated
src/main/scala/rocket/Multiplier.scala
ZenithalHourlyRate
@jerryz123 jerryz123 Jan 14, 2023
Instead of deleting this, can you comment out a line, and add that the current spec does not define what sub-extensions constitute the 'B' misa bit?
src/main/scala/rocket/CSR.scala
ZenithalHourlyRate
@jerryz123 jerryz123 Jan 14, 2023
Can these be done in `ABLUFN.isSub`? etc.
Outdated
src/main/scala/rocket/ABLU.scala
ZenithalHourlyRate jerryz123
@jerryz123 jerryz123 Jan 14, 2023
See comment on `abstract class AbstractALU`
Outdated
src/main/scala/rocket/ALU.scala
@jerryz123 jerryz123 Jan 14, 2023
Can we make this: ``` class ALUFN ... class ABLUFN extends ALUFN ``` Get rid of the companion object.
Outdated
src/main/scala/rocket/ALU.scala
ZenithalHourlyRate
@jerryz123 jerryz123 Jan 14, 2023
Can you make this `abstract class AbstractALU(implicit p: Parameters) extends CoreModule()(p)`?
Outdated
src/main/scala/rocket/ALU.scala
ZenithalHourlyRate jerryz123
@jerryz123 jerryz123 Jan 14, 2023
Can you make these throw an exception if they are accessed? If `ALU` is selected instead of `ABLU`, then no code should try to access `ALU.FN_ADDUW` right?
Outdated
src/main/scala/rocket/ALU.scala
ZenithalHourlyRate
@jerryz123 jerryz123 Jan 13, 2023
Shouldn't `bitmanip` be reflected somehow in the dts? I don't know what the exact correct isa string composiiton should be, but it should be implemented here.
Outdated
src/main/scala/tile/BaseTile.scala
ZenithalHourlyRate
@jerryz123 jerryz123 Jan 13, 2023
Does anything else in `BaseTile/BaseCore` use `useBitManipCrypto/useCryptoNIST/useCryptoSM`? maybe those should be rocket-core only params
src/main/scala/tile/Core.scala
jerryz123 ZenithalHourlyRate
@jerryz123 jerryz123 Jan 13, 2023
Why would user want `useBitManip && !useABLU`. Can we make `useABLU` derived?
Outdated
src/main/scala/rocket/RocketCore.scala
ZenithalHourlyRate jerryz123
@sequencer sequencer May 16, 2022
Why?
Outdated
src/main/scala/tile/BaseTile.scala
sequencer ZenithalHourlyRate
@sequencer sequencer May 16, 2022
`id_ctrl.alu_fn(ZKN.FN_Len-1,0) === ZKN.FN_AES_KS1` needs additional comparing logic, which should be better to wire a `isAESKS1` signal out form the decoder. you can add a TODO here.
Outdated
src/main/scala/rocket/RocketCore.scala
ZenithalHourlyRate
@sequencer sequencer May 16, 2022
Actually this file is under the Apache license(not SiFive), although SiFive is Apache as well. ```suggestion // SPDX-License-Identifier: Apache-2.0 ```
Outdated
src/main/scala/rocket/ABLU.scala
@sequencer sequencer May 16, 2022
Actually this file is under the Apache license(not SiFive), although SiFive is Apache as well. ```suggestion // SPDX-License-Identifier: Apache-2.0 ```
Outdated
src/main/scala/rocket/CryptoNIST.scala
@sequencer sequencer May 16, 2022
Actually this file is under the Apache license(not SiFive), although SiFive is Apache as well. ```suggestion // SPDX-License-Identifier: Apache-2.0 ```
Outdated
src/main/scala/rocket/CryptoSM.scala
@sequencer sequencer May 16, 2022
Actually this file is under the Apache license(not SiFive), although SiFive is Apache as well. ```suggestion // SPDX-License-Identifier: Apache-2.0 ```
Outdated
src/main/scala/util/SBox.scala
@sequencer sequencer May 16, 2022
For a better PPA result. I doubt these MicroOp need more careful designing, but for now(functionally work), it LGTM.
Outdated
src/main/scala/rocket/CryptoNIST.scala
ZenithalHourlyRate
@sequencer sequencer May 16, 2022
since chipsalliance/chisel3#2518 merged, you should split these lines into a separate file, add note saying: use `chisel3.stdlib.BarrelShifter` after bumping to Chisel 3.6
Outdated
src/main/scala/rocket/CryptoNIST.scala
ZenithalHourlyRate
@sequencer sequencer May 16, 2022
use `AbstractAlu` here.
Outdated
src/main/scala/rocket/RocketCore.scala
ZenithalHourlyRate jerryz123
@sequencer sequencer Mar 21, 2022
OH
Outdated
src/main/scala/zk/zkn.scala
ZenithalHourlyRate
@sequencer sequencer Mar 21, 2022
OH
Outdated
src/main/scala/zk/zkn.scala
ZenithalHourlyRate
@sequencer sequencer Mar 21, 2022
I'm not sure the ROM compiler can provide a good PPA here. Need physical implementation.
Outdated
src/main/scala/zk/zkn.scala
sequencer
@sequencer sequencer Mar 21, 2022
1-bit control signal.
Outdated
src/main/scala/zk/zkn.scala
ZenithalHourlyRate
@sequencer sequencer Mar 21, 2022
bad design :(
Outdated
src/main/scala/zk/zbk.scala
@sequencer sequencer Mar 21, 2022
Put it in ALU.
Outdated
src/main/scala/zk/zbk.scala
ZenithalHourlyRate
@sequencer sequencer Mar 21, 2022
I think using OH here should provide better circuit.
Outdated
src/main/scala/zk/zbk.scala
@sequencer sequencer Mar 21, 2022
bad design :(
Outdated
src/main/scala/zk/zks.scala
ZenithalHourlyRate
@sequencer sequencer Mar 21, 2022
These code should be auto generated via https://github.com/riscv/riscv-opcodes/blob/master/Makefile
Outdated
src/main/scala/zk/zks.scala
@sequencer sequencer Mar 21, 2022
`MircoOp` should redesign.
Outdated
src/main/scala/zk/zkn.scala
@sequencer sequencer Mar 21, 2022
These code should be auto generated via https://github.com/riscv/riscv-opcodes/blob/master/Makefile
Outdated
src/main/scala/zk/zkn.scala
@sequencer sequencer Mar 21, 2022
barrel should be upstreamed to Chisel.
Outdated
src/main/scala/zk/zkn.scala
ZenithalHourlyRate
@sequencer sequencer Mar 21, 2022
These `MicroOp` should be redesigned: firstly design the data path, then figure out all enable signal of registers and select signal of muxes. At last, design the `MicroOp` based on those signals.
Outdated
src/main/scala/zk/zbk.scala
ZenithalHourlyRate
@sequencer sequencer Mar 21, 2022
These code should be auto generated via https://github.com/riscv/riscv-opcodes/blob/master/Makefile
Outdated
src/main/scala/zk/zbk.scala
ZenithalHourlyRate
@sequencer sequencer Mar 21, 2022
I think `Mux` here should be implemented via OH
src/main/scala/rocket/RocketCore.scala
ZenithalHourlyRate