From 0a591c5b5b68d09aa179d8dfb97bc0a9cf535047 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Wed, 9 Aug 2017 18:39:47 -0700 Subject: [PATCH] Roll back use of UIntToOH1 (#946) These appear to be equivalent, but the old one seems to fail in Vivado and this one seems to pass. This is not yet conclusive. --- src/main/scala/rocket/IBuf.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/scala/rocket/IBuf.scala b/src/main/scala/rocket/IBuf.scala index b42e7484..4623b65b 100644 --- a/src/main/scala/rocket/IBuf.scala +++ b/src/main/scala/rocket/IBuf.scala @@ -77,8 +77,8 @@ class IBuf(implicit p: Parameters) extends CoreModule { val icMask = (~UInt(0, fetchWidth*coreInstBits) << (nBufValid << log2Ceil(coreInstBits)))(fetchWidth*coreInstBits-1,0) val inst = icData & icMask | buf.data & ~icMask - val valid = UIntToOH1(nValid, fetchWidth) - val bufMask = UIntToOH1(nBufValid, fetchWidth) + val valid = (UIntToOH(nValid) - 1)(fetchWidth-1, 0) + val bufMask = UIntToOH(nBufValid) - 1 val xcpt = (0 until bufMask.getWidth).map(i => Mux(bufMask(i), buf.xcpt, io.imem.bits.xcpt)) val buf_replay = Mux(buf.replay, bufMask, UInt(0)) val ic_replay = buf_replay | Mux(io.imem.bits.replay, valid & ~bufMask, UInt(0))