修复sync的64位加法器输入位宽转换问题
This commit is contained in:
@@ -818,6 +818,7 @@ trait SlaveParserSync{ this: SlaveParserBase =>
|
|||||||
val addr64_res = addr64_op1 + addr64_op2
|
val addr64_res = addr64_op1 + addr64_op2
|
||||||
|
|
||||||
val addrConflict = WireDefault(VecInit(Seq.fill(4){false.B}))
|
val addrConflict = WireDefault(VecInit(Seq.fill(4){false.B}))
|
||||||
|
dontTouch(addrConflict)
|
||||||
assert( PopCount(addrConflict) <= 1.U )
|
assert( PopCount(addrConflict) <= 1.U )
|
||||||
|
|
||||||
|
|
||||||
@@ -933,8 +934,8 @@ trait SlaveParserSync{ this: SlaveParserBase =>
|
|||||||
when( RegNext(isSync) & ~isSync ){
|
when( RegNext(isSync) & ~isSync ){
|
||||||
// deltaMstSlvDeltaTimeStamp := (mstDeltaTimeStamp - slvDeltaTimeStamp) >>> 1 //(mstDeltaTimeStamp - slvDeltaTimeStamp) >> 1
|
// deltaMstSlvDeltaTimeStamp := (mstDeltaTimeStamp - slvDeltaTimeStamp) >>> 1 //(mstDeltaTimeStamp - slvDeltaTimeStamp) >> 1
|
||||||
|
|
||||||
addr64_op1 := mstDeltaTimeStamp //组合逻辑
|
addr64_op1 := Cat( Fill(32, mstDeltaTimeStamp(31)), mstDeltaTimeStamp) //组合逻辑
|
||||||
addr64_op2 := subOp2(slvDeltaTimeStamp) //组合逻辑
|
addr64_op2 := subOp2( Cat( Fill(32, slvDeltaTimeStamp(31)), slvDeltaTimeStamp) ) //组合逻辑
|
||||||
addrConflict(2) := true.B //组合逻辑
|
addrConflict(2) := true.B //组合逻辑
|
||||||
deltaMstSlvDeltaTimeStamp := Cat(addr64_res(63),addr64_res(63,1)) //时序逻辑
|
deltaMstSlvDeltaTimeStamp := Cat(addr64_res(63),addr64_res(63,1)) //时序逻辑
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user