module HDLRuby::High::HArrow

Module giving high-level properties for handling the arrow (<=) operator.

Constants

High

High-level libraries for describing digital hardware.

Public Instance Methods

<=(expr) click to toggle source

Creates a transmit, or connection with an expr.

NOTE: it is converted afterward to an expression if required.

# File lib/HDLRuby/hruby_high.rb, line 2716
def <=(expr)
    # Cast expr to self if required.
    expr = expr.to_expr.match_type(self.type)
    # Generate the transmit.
    if High.top_user.is_a?(HDLRuby::Low::Block) then
        # We are in a block, so generate and add a Transmit.
        High.top_user.
            # add_statement(Transmit.new(self.to_ref,expr.to_expr))
            add_statement(Transmit.new(self.to_ref,expr))
    else
        # We are in a system type, so generate and add a Connection.
        High.top_user.
            # add_connection(Connection.new(self.to_ref,expr.to_expr))
            add_connection(Connection.new(self.to_ref,expr))
    end
end