From 32c3c0d46dcd24ae3430ec151eacab5049bf07a9 Mon Sep 17 00:00:00 2001 From: Paul Rigge Date: Thu, 1 Dec 2016 13:35:48 -0800 Subject: Have FixedPoint use asFixedPoint in fromBits. --- chiselFrontend/src/main/scala/chisel3/core/Bits.scala | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'chiselFrontend/src') diff --git a/chiselFrontend/src/main/scala/chisel3/core/Bits.scala b/chiselFrontend/src/main/scala/chisel3/core/Bits.scala index 035ac213..a769342d 100644 --- a/chiselFrontend/src/main/scala/chisel3/core/Bits.scala +++ b/chiselFrontend/src/main/scala/chisel3/core/Bits.scala @@ -911,6 +911,12 @@ sealed class FixedPoint private (width: Width, val binaryPoint: BinaryPoint, lit override def do_asUInt(implicit sourceInfo: SourceInfo): UInt = pushOp(DefPrim(sourceInfo, UInt(this.width), AsUIntOp, ref)) override def do_asSInt(implicit sourceInfo: SourceInfo): SInt = pushOp(DefPrim(sourceInfo, SInt(this.width), AsSIntOp, ref)) //TODO(chick): Consider "convert" as an arithmetic conversion to UInt/SInt + + override def do_fromBits(that: Bits)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): this.type = { + val res = Wire(this, null).asInstanceOf[this.type] + res := that.asFixedPoint(this.binaryPoint) + res + } } /** Use PrivateObject to force users to specify width and binaryPoint by name -- cgit v1.2.3