uart: make it easy to simulate large text printouts (#33)
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							5b74df20a1
						
					
				
				
					commit
					d973c659eb
				
			| @@ -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))) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user