High-Level Data Link Controller

Inicore's iniHDLC family of High-Level Data Link Controller (HDLC) cores consist of a Receiver (FPR: From Primary Rate) and a Transmitter (TPR: To Primary Rate) unit. These single channel HDLC controllers handle all interframe flags, delimiting flags and Frame Check Sequence (FCS) pattern. The FCS is calculated using a CRC-16 polynomial.

The HDLC protocol has several subsets (e.g., Q.921, Q922, X.25 etc.). The structure of a frame (header, trailer, FCS, stuffing/destuffing) is the same but the procedures for Commands, Responses and Abort Conditions are different and are handled by software. iniHDLC cores can be used within the whole HDLC subset.

The iniHDLC cores are a synthesiszable, flexible, and structured VHDL implementation of the HDLC protocol. The cores are designed for easy interfacing to custom buffers (e.g., FIFO, DMA-Interface).

Block Diagram



  • Single channel protocol
  • Transparent mode
  • Start- and Stopflag Generation/Detection
  • Frame Check Sequence (FCS) Generation/ Verification
  • Built-in bit stuffing/ destuffing
  • Frame Status Signalling
  • Supporting protocols: Q.921(LAPD), ISDN, Q.922 Frame Relay, X.25 (LAPB), PBX, WAN ...and more
  • Flexible I/O Interface towards FIFO, uP-, RAM-, DMA-Interface