Skip to content

Latest commit

 

History

History
31 lines (23 loc) · 1.21 KB

File metadata and controls

31 lines (23 loc) · 1.21 KB

Message Parser

Introduction

All market exchanges have a custom protocol in which they disseminate data and accept data from their customers. The objective is to design and implement a message extractor/parser.

The format of the incoming data stream is given below.

ADDRESS LSB <--


MSG COUNT MSG_1 LENGTH PAYLOAD_1 ... MSG_n LENGTH PAYLOAD_n
2 Bytes 2 Bytes Variable bytes ... 2 Bytes Variable Bytes
Field name Length Description
Message count 2 Bytes Number of messages in the packet
Message length 2 Bytes Length of the following message excluding this field
Payload Variable Payload data

The expected output of the block is the payload of these messages. Assumptions:

  1. The input of the module is a 64bit AXI-ST interface.
  2. The minimum message length for any message is 8 Bytes and the maximum is 32 Bytes. The total size of the entire stream can be a maximum of 1,500 bytes.
  3. It outputs each message one after the other

RTL Block diagram

Alt text