RTL Studio Open IDE

Shift & Bit Manipulation

Funnel Shift Merge 16-bit — L2 Upgrade

A single-slot valid/ready handshake buffer for 16-bit data with backpressure support.

About this block

Simulate it in the Verilog IDE

Easyverilogsimsyn

Funnel Shift Merge 16-bit — L2 Upgrade is a Verilog reference block in the Shift & Bit Manipulation catalog. Shifters, rotators, bit masks, and bitwise manipulation blocks. Marked Easy: a small block you can read, simulate, and synthesize in one sitting.

This IP implements a single-slot valid/ready handshake buffer for 16-bit data.

It merges upstream valid signals into a downstream valid stream.

The module asserts ready_in only when the internal register is empty.

  1. Choose Open in IDE. RTL Studio loads the packaged workspace for Funnel Shift Merge 16-bit — L2 Upgrade.
  2. Read the Verilog module in the editor. The catalog line for this block: A single-slot valid/ready handshake buffer for 16-bit data with backpressure support.
  3. Run the packaged testbench with the in-browser Verilator simulator, then open the VCD in the waveform viewer.
  4. Run Yosys in the same IDE for a generic netlist. Sky130 liberty mapping is a separate Pro library option.

RTL Studio is the Verilog simulator and IDE around this block: Slang lint, Verilator, VCD waveforms, and Yosys, in the browser. Simulation guide · Yosys guide.

Features

  • Supports 16-bit parallel data transfer.
  • Implements standard valid/ready handshake protocol.
  • Asynchronous reset for safe initialization.
  • Low latency single-cycle data path.
  • Prevents data loss during backpressure scenarios.

Ports

PortDirectionWidthDescription
clkinput1Clock signal
rst_ninput1Active-low reset
valid_ininput1Upstream data valid
data_ininput16Upstream data bus
ready_inoutput1Upstream ready signal
valid_outoutput1Downstream data valid
data_outoutput16Downstream data bus

Architecture

The following diagram illustrates the data flow and control logic.

The internal register holds the data until valid_out is asserted. Ready_in is driven by the inverse of the valid_reg flag. This ensures the upstream source cannot overwrite uncommitted data.

Verification

The testbench covers reset behavior and data transfer scenarios. It verifies backpressure handling when the buffer is full. It checks data integrity across multiple transfer cycles. It ensures reset clears the state even during active transfer.

Test CaseDescriptionResult
TC1Reset CheckPASS
TC2Single TransferPASS
TC3Backpressure InitPASS
TC4Stream Word 1PASS
TC5Invalid Data HandlingPASS
TC6Reset During TransferPASS

More in Shift & Bit Manipulation

All Shift & Bit Manipulation blocks