X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fdevices%2Fuart%2FUART.scala;fp=src%2Fmain%2Fscala%2Fdevices%2Fuart%2FUART.scala;h=de2cf554a33c1a4d061317b5f182619cee25fe98;hb=d973c659eb239d8bb1447ffe9a73df20cdd7bf04;hp=58722e112eaafe5edebaf9b121b6162b2edd853b;hpb=5b74df20a19cba359e5768ab358a1f320adf40ff;p=sifive-blocks.git diff --git a/src/main/scala/devices/uart/UART.scala b/src/main/scala/devices/uart/UART.scala index 58722e1..de2cf55 100644 --- a/src/main/scala/devices/uart/UART.scala +++ b/src/main/scala/devices/uart/UART.scala @@ -69,10 +69,14 @@ class UARTTx(c: UARTParams)(implicit p: Parameters) extends UARTModule(c)(p) { val out = Reg(init = Bits(1, 1)) io.out := out + val plusarg_tx = PlusArg("uart_tx", 1, "Enable/disable the TX to speed up simulation").orR + val busy = (counter =/= UInt(0)) io.in.ready := io.en && !busy when (io.in.fire()) { - printf("%c", io.in.bits) + printf("UART TX (%x): %c\n", io.in.bits, io.in.bits) + } + when (io.in.fire() && plusarg_tx) { shifter := Cat(io.in.bits, Bits(0, 1)) counter := Mux1H((0 until uartStopBits).map(i => (io.nstop === UInt(i)) -> UInt(n + i + 1)))