rohd library Null safety

Copyright (C) 2021-2022 Intel Corporation SPDX-License-Identifier: BSD-3-Clause

Classes

Add
A two-input addition module.
And2Gate
A two-input AND gate.
AndUnary
A unary AND gate.
ARShift
An arithmetic right-shift module.
BusSubset
A Module which gives access to a subset range of signals of the input.
Case
A block of CaseItems where only the one with a matching CaseItem.value is executed.
CaseItem
Represents a single case within a Case block.
CaseZ
A special version of Case which can do wildcard matching via z in the expression.
Combinational
Represents a block of combinational logic.
Conditional
Represents an some logical assignments or actions that will only happen under certain conditions.
ConditionalAssign
An assignment that only happens under certain conditions.
Const
Represents a Logic that never changes value.
Divide
A two-input divison module.
Else
A conditional block to execute only if condition is satisified.
ElseIf
A conditional block to execute only if condition is satisified.
Equals
A two-input equality comparison module.
ExternalSystemVerilogModule
Represents a Module whose definition exists outside of this framework in SystemVerilog.
FlipFlop
Represents a single flip-flop with no reset.
GreaterThan
A two-input comparison module for greater-than.
GreaterThanOrEqual
A two-input comparison module for greater-than-or-equal-to.
If
Represents a block of code to be conditionally executed, like if/else.
IfBlock
Represents a chain of blocks of code to be conditionally executed, like if/else if/else.
IndexGate
A two-input bit index gate Module.
Interface<TagType>
Represents a logical interface to a Module.
LessThan
A two-input comparison module for less-than.
LessThanOrEqual
A two-input comparison module for less-than-or-equal-to.
Logic
Represents a logical signal of any width which can change values.
LogicValue
An immutable 4-value representation of an arbitrary number of bits.
LogicValueChanged
Represents the event of a Logic changing value.
LShift
A logical left-shift module.
Module
Represents a synthesizable hardware entity with clearly defined interface boundaries.
Modulo
A two-input modulo module.
Multiply
A two-input multiplication module.
Mux
A mux (multiplexer) module.
NotGate
A gate Module that performs bit-wise inversion.
Or2Gate
A two-input OR gate.
OrUnary
A unary OR gate.
Pipeline
A simple pipeline, separating arbitrary combinational logic by flop stages.
PipelineStageInfo
Information and accessors associated with a Pipeline stage.
Port
An extension of Logic useful for Interface definitions.
ReadyValidPipeline
A pipeline that implements Ready/Valid protocol at each stage.
ReplicationOp
A Replication Operator Module.
RShift
A logical right-shift module.
Sequential
Represents a block of sequential logic.
SimpleClockGenerator
A very simple clock generator. Generates a non-synthesizable SystemVerilog representation.
Simulator
A functional event-based static simulator for logic behavior.
State<StateIdentifier>
Simple class to initialize each state of the FSM.
StateMachine<StateIdentifier>
Simple class for FSM StateMachine.
Subtract
A two-input subtraction module.
Swizzle
A Module that performs concatenation of signals into one bigger Logic.
SynthBuilder
A generic class which can convert a module into a generated output using a Synthesizer.
SynthesisResult
An object representing the output of a Synthesizer
Synthesizer
An object capable of converting a module into some new output format
SystemVerilogSynthesizer
A Synthesizer which generates equivalent SystemVerilog as the given Module.
WaveDumper
A waveform dumper for simulations.
Xor2Gate
A two-input XOR gate.
XorUnary
A unary XOR gate.

Mixins

CustomSystemVerilog
Allows a Module to define a custom implementation of SystemVerilog to be injected in generated output instead of instantiating a separate module.
FullyCombinational
A Module which has only combinational logic within it and defines custom functionality.
InlineSystemVerilog
Allows a Module to define a special type of CustomSystemVerilog which can be inlined within other SystemVerilog code.

Extensions

BigLogicValueBigIntUtilities
Extends BigInt with utility functions that are useful for dealing with large bit vectors and conversion between types.
LogicSwizzle
Allows lists of Logics to be swizzled.
LogicValueSwizzle
Allows lists of LogicValues to be swizzled.

Functions

bin(String s) int
Converts a binary String representation to a binary int.
mux(Logic control, Logic d1, Logic d0) Logic
Performs a multiplexer/ternary operation.
rswizzle(List<Logic> signals) Logic
Performs a concatenation operation on the list of signals, where index 0 of signals is the least significant bit(s).
swizzle(List<Logic> signals) Logic
Performs a concatenation operation on the list of signals, where index 0 of signals is the most significant bit(s).

Enums

ConditionalType
Controls characteristics about Case blocks.
SimulatorPhase
An enum for the various phases of the Simulator.

Typedefs

Dumper = WaveDumper
Deprecated: use WaveDumper instead.
ExternalModule = ExternalSystemVerilogModule
Deprecated - Use ExternalSystemVerilogModule instead.
FF = Sequential
Deprecated: use Sequential instead.
Iff = ElseIf
A conditional block to execute only if condition is satisified.
LogicValues = LogicValue
Deprecated: use LogicValue instead.