RTL Studio Open IDE

Bus Interfaces

8-Bit Valid/Ready Register Slice

A single-cycle valid/ready register slice for 8-bit data paths with backpressure handling.

About this block

Simulate it in the Verilog IDE

Mediumverilogsimsyn

8-Bit Valid/Ready Register Slice is a Verilog reference block in the Bus Interfaces catalog. AXI, APB, Wishbone, and other on-chip bus interface adapters. Marked Medium: more state or a wider datapath, still one workspace in the IDE.

This IP implements a single-cycle, 8-bit valid/ready register slice. It provides flow control compatibility between asynchronous or mismatched speed domains by buffering data when backpressure occurs on either the source or destination side.

The module is designed for minimal area footprint using simple flip-flops and supports synchronous active-low reset. It is suitable for use as a buffer in AXI-like or standard valid/ready interfaces.

This IP is a robust, low-latency 8-bit valid/ready slice that ensures data integrity across clock domain or speed mismatches.

  1. Choose Open in IDE. RTL Studio loads the packaged workspace for 8-Bit Valid/Ready Register Slice.
  2. Read the Verilog module in the editor. The catalog line for this block: A single-cycle valid/ready register slice for 8-bit data paths with backpressure handling.
  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

  • Data Width: 8-bit parallel data transfer.
  • Protocol: Standard valid/ready handshaking (AXI-like).
  • Backpressure Handling: Supports backpressure on both input (s_ready) and output (m_ready) sides.
  • Reset: Synchronous reset with active-low polarity (rst_n).
  • Performance: Single-cycle latency for pass-through when no backpressure is present.
  • Area: Minimal footprint using basic flip-flops.

Ports

Port NameDirectionWidthDescription
clkinput1Clock input
rst_ninput1Active-low synchronous reset
s_validinput1Source valid signal
s_readyoutput1Source ready signal (high when buffer is empty)
s_datainput[7:0]Source data bus
m_validoutput1Master valid signal (high when buffer has data)
m_readyinput1Master ready signal
m_dataoutput[7:0]Master data bus

Verification

The provided testbench (tb/tb_valid_ready_slice_8.v) covers the following scenarios:

Test CaseDescriptionResult
TC1Basic Pass-ThroughPASS
TC2Input BackpressurePASS
TC3Output BackpressurePASS
TC4Drain BufferPASS
TC5Reset FunctionalityPASS

### Running Simulation

  1. Ensure you have a Verilog simulator installed (e.g., Icarus Verilog, ModelSim).
  2. Run the simulation script or command:
  3. Check the log output for INFO: PASS.
  4. View the VCD waveform in sim/dump.vcd for detailed signal analysis.

More in Bus Interfaces

All Bus Interfaces blocks