D16550
Configurable UART with FIFO
Description
D16550 UART IP Core – FIFO-Based UART for FPGA & ASIC Designs
The D16550 UART IP Core from DCD-SEMI is a proven Universal Asynchronous Receiver/Transmitter (UART) designed for seamless FPGA and ASIC integration. Delivered as a flexible bridge to APB, AHB, and AXI bus architectures, the D16550 is functionally identical to the TL16C550A, ensuring full compatibility with existing software and drivers.
The core supports serial communication in both standard UART mode and FIFO mode, making it an ideal solution for legacy UART replacement and moderate-throughput embedded systems.
FIFO-Based Data Transfer with Reduced CPU Load
In FIFO mode, the D16550 activates internal buffers allowing:
-
16-byte transmit FIFO
-
16-byte receive FIFO, with 3 bits of error status per byte
FIFO buffering significantly reduces interrupt frequency compared to classic 16450 UARTs, improving overall system efficiency while preserving legacy behavior.
Complete Status Visibility and Robust Error Detection
The processor can read the full UART status at any time during operation. Status reporting includes:
-
Transfer state and FIFO conditions
-
Parity, overrun, framing, and break error detection
-
Interrupt source identification
This enables predictable serial communication and simplifies firmware development and debugging.
Programmable Baud Rate and Accurate Timing
The D16550 integrates a programmable baud rate generator capable of dividing a reference clock by divisors from 1 to (2¹⁶ − 1), generating a 16× clock for the internal transmitter logic. The same clock can also be used to drive the receiver logic.
A dedicated BAUD CLK input allows designers to set an exact transmission speed, while the UART core logic continues to operate at the CPU clock frequency—simplifying clock-domain integration and timing closure.
MODEM Control and Programmable Interrupts
The core includes full MODEM control functionality and a programmable interrupt system, allowing efficient interrupt-driven communication. Interrupt behavior can be tailored to application requirements, minimizing CPU overhead and eliminating unnecessary polling.
Configurable Architecture for Area Optimization
During synthesis, the D16550 offers fine-grain configurability, allowing designers to:
-
Enable or disable MODEM control logic
-
Enable or disable FIFO buffers
-
Adjust FIFO depth
In area-constrained designs where FIFO and MODEM features are not required, disabling these blocks allows up to ~50% logic resource savings, effectively operating the core in 16450-compatible mode.
Optimized for SoC and Multi-UART Designs
The D16550 is ideal for systems where the UART and microcontroller share the same clock domain inside an FPGA or ASIC. Its universal interface simplifies implementation and verification by reducing clock tree complexity.
The core is also well suited for standalone multi-UART designs, where several UART instances are integrated within a single chip and connected to off-chip devices.
Verification-Ready and Technology Independent
Like all DCD-SEMI UART IP Cores, the D16550 includes a fully automated testbench with a complete test suite, enabling straightforward validation throughout every stage of the SoC design flow.
The IP Core is technology-independent and can be implemented across a wide range of FPGA and ASIC process technologies.
Typical Applications
-
16550 / TL16C550A UART replacement
-
Embedded SoCs and microcontroller subsystems
-
Industrial and instrumentation systems
-
FPGA-based multi-UART designs
-
Legacy system modernization projects
UART IP Core Family Comparison
The table below compares DCD-SEMI UART and serial communication IP Cores to help FPGA and ASIC design engineers quickly select the optimal solution for their project requirements.
| Feature / IP Core | D16450 | D16550 | D16950 | D8530 | DMESCC |
|---|---|---|---|---|---|
| Primary Function | Classic UART | FIFO-based UART | High-performance UART | Dual-channel USART | Dual-channel multiprotocol serial controller |
| UART Compatibility | 16450 / TL16C450 | 16550 / TL16C550A | 16450–16750 + OX16C950 | Zilog 8530–compatible | Enhanced ESCC-compatible |
| Channels | 1 | 1 | 1 | 2 | 2 |
| Supported Modes | Asynchronous | Asynchronous & FIFO | Asynchronous & synchronous | Asynchronous & synchronous | Asynchronous & synchronous |
| FIFO Support | ❌ No FIFO | ✅ 16-byte FIFO | ✅ 128-byte FIFO | Optional / limited | Optional / configurable |
| FIFO Trigger Levels | — | Configurable | Programmable (1–127) | — | — |
| CPU Load | High | Medium | Low | Medium | Medium |
| Error Reporting | Parity, framing, overrun, break | Parity, framing, overrun, break | Parity, framing, overrun, break | Parity, CRC, abort | Parity, CRC, abort |
| CRC Generation / Check | No | No | No | Yes (sync modes) | Yes (sync modes) |
| Modem Control | Full | Full | Advanced autoflow | Yes (both channels) | Yes (both channels) |
| Interrupt System | Programmable | Programmable | Advanced programmable | Programmable | Programmable |
| DMA Support | Interrupt-optimized | Interrupt-optimized | Yes | Yes | Yes |
| Clocking Options | Internal BRG | Internal BRG | Internal / external | Internal BRG | Internal BRG |
| Special Features | Legacy compatibility | Configurable FIFO & Modem | Deep FIFO, 9-bit mode, synchronous | Legacy protocol support (HDLC, SDLC) | Enhanced block transfer, vectored interrupts |
| Typical Applications | Legacy UART replacement | FIFO-based legacy upgrade | High-throughput UART, legacy replacement | Telecom, LAN, industrial serial | Communications controllers, protocol engines |
| Bus Interfaces | APB, AHB, AXI | APB, AHB, AXI | APB, AHB, AXI | APB, AHB, AXI | APB, AHB, AXI |
| Technology Independence | Yes | Yes | Yes | Yes | Yes |
Selection Guidelines
- Choose D16450 for exact legacy 16450 / TL16C450 replacement.
- Choose D16550 when FIFO buffering and moderate CPU optimization are required.
- Choose D16950 for high-performance UART with deep FIFO and low CPU load.
- Choose D8530 when dual-channel USART and legacy protocol support are required.
- Choose DMESCC for advanced multiprotocol serial communication and block handling.
ALL DCD’S IP CORES ARE TECHNOLOGY AGNOSTIC, ENSURING 100% COMPATIBILITY WITH ALL FPGA AND ASIC VENDORS.
For further details, email info@dcd-semi.com.
Key features
- Software compatible with 16450 and 16550 UARTs
- Configuration capability
- Separate configurable BAUD clock line
- Majority Voting Logic
- Supports RS232 and RS485 standards (optional)
- Two modes of operation: UART mode and FIFO mode
- In the FIFO mode transmitter and receiver are each buffered with 16 byte FIFO to reduce the number of interrupts presented to the CPU
- In UART mode receiver and transmitter are double buffered to eliminate a need for precise synchronization between the CPU and serial data
- Adds or deletes standard asynchronous communication bits (start, stop and parity) to or from the serial data
- Independently controlled transmit, receive, line status and data set interrupts
- False start bit detection
- 16 bit programmable baud generator
- Independent receiver clock input
- MODEM control functions (CTS, RTS, DSR, DTR, RI, and DCD)
- Fully programmable serial interface characteristics:
- 5-, 6-, 7-, or 8-bit characters
- Even, odd or no-parity bit generation and detection
- 1-, 1 ½-, or 2-stop bit generation
- Internal baud generator
- Complete status reporting capabilities
- Line break generation and detection. Internal diagnostic capabilities:
- Loop-back controls for communications link fault isolation
- Break, parity, overrun, framing error simulation
- Full prioritized interrupt system controls
- Available system interface wrappers:
- AMBA – APB / AHB / AXI Bus
- Altera Avalon Bus
- Xilinx OPB Bus
- Fully synthesizable
- Static synchronous design and no internal tri-states
Similar products
D16450 UART IP Core – Classic Asynchronous UART for FPGA & ASIC The D16450 UART IP Core from DCD-SEMI is...
Functionally identical to the TL16C450
Configuration capability
Exact transmission rate
D16750 UART IP Core – High-Performance TL16C750-Compatible UART The D16750 UART IP Core from DCD-SEMI is a high-performance Universal Asynchronous...
Supports RS232 and RS485 standards
Hardware data flow control
APB, AHB AXI bus standards supported +
D16950 UART IP Core – High-Performance UART with 128-Byte FIFO for FPGA & ASIC The D16950 UART IP Core from...
The most powerful UART IP Core
Compatible to the OX16C950
Programmable Baud Rate Generator

