Module: HDLRuby::High::HStatement

Included in:
Case, Delay, If, Print, TimeRepeat, TimeWait, Transmit
Defined in:
lib/HDLRuby/hruby_high.rb

Overview

Module giving high-level statement properties

Instance Method Summary collapse

Instance Method Details

#hif(condition) ⇒ Object

Creates a new if statement with a +condition+ enclosing the statement.

NOTE: the else part is defined through the helse method.



2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
# File 'lib/HDLRuby/hruby_high.rb', line 2222

def hif(condition)
    # # Creates the if statement.
    # return If.new(condition) { self }
    # Remove self from the current block.
    obj = self
    ::HDLRuby::High.cur_block.delete_statement!(obj)
    # Creates the if statement.
    stmnt = If.new(condition) { add_statement(obj) }
    # Add it to the current block.
    ::HDLRuby::High.cur_block.add_statement(stmnt)
    # Returns the result.
    return stmnt
end