RTL Studio Open IDE

Multiplexers

One-Hot Select Mux 8:1 — L1 Upgrade

Registered 8-to-1 multiplexer with one-hot select encoding and enable control.

About this block

Simulate it in the Verilog IDE

Hardverilogsimsyn

One-Hot Select Mux 8:1 — L1 Upgrade is a Verilog reference block in the Multiplexers catalog. Multiplexers, demultiplexers, and data-path selectors. Marked Hard: a larger reference. Simulate the packaged testbench before you change the RTL.

This IP implements a registered 8-to-1 multiplexer with one-hot select encoding. It provides an active-high enable signal to control data propagation. The design is fully synthesizable and latch-free. It uses a case statement for complete combinational coverage. The output is registered on the positive clock edge. Reset is asynchronous and active-low.

This IP provides a reliable registered multiplexer with one-hot select. It is suitable for simple data routing tasks in digital designs. The design is verified and ready for integration.

  1. Choose Open in IDE. RTL Studio loads the packaged workspace for One-Hot Select Mux 8:1 — L1 Upgrade.
  2. Read the Verilog module in the editor. The catalog line for this block: Registered 8-to-1 multiplexer with one-hot select encoding and enable control.
  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

  • 8 input data lines of 1-bit width.
  • 3-bit one-hot select signal.
  • Registered output with enable control.
  • Asynchronous active-low reset.
  • Fully synthesizable Verilog.

Ports

PortDirectionWidthDescription
clkInput1Clock input
rst_nInput1Active-low reset
enInput1Enable signal
selInput3Select signal [2:0]
dInput8Data inputs [7:0]
qOutput1Mux output

Architecture

The module uses a single always block sensitive to the clock and reset. It registers the selected data bit when the enable signal is high. The reset forces the output to zero immediately. The case statement covers all 8 select combinations plus a default.

Verification

The testbench verifies reset behavior and enable functionality. It checks all 8 select combinations for correct data routing. It verifies that data is ignored when enable is low. It confirms output stability when enable toggles. All 11 test cases pass successfully.

Test CaseDescriptionResult
TC1Reset behavior checkPASS
TC2Enable low checkPASS
TC3Select 0 checkPASS
TC4Select 7 checkPASS
TC5Select 3 checkPASS
TC6Select 5 checkPASS
TC7Select 1 checkPASS
TC8Select 2 checkPASS
TC9Select 4 checkPASS
TC10Select 6 checkPASS
TC11Enable toggle checkPASS

More in Multiplexers

All Multiplexers blocks