Class: Origen::Models::Mux
- Includes:
- Origen::Model
- Defined in:
- lib/origen/models/mux.rb
Instance Attribute Summary collapse
-
#select_lines ⇒ Object
readonly
Returns the value of attribute select_lines.
-
#size ⇒ Object
readonly
Returns the value of attribute size.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Mux
constructor
A new instance of Mux.
Methods included from Origen::Model
#==, #_initialized?, #_resolve_controller_class, #add_configuration, #add_mode, #app, #attributes, #clock!, #clock_apply, #clock_prepare, #configuration, #configuration=, #configurations, #current_configuration, #current_mode, #current_mode=, #delete_all_modes, #delete_all_specs_and_notes, #find_specs, #has_mode?, #inspect, #ip_name, #is_a_model_and_controller?, #is_an_origen_model?, #is_top_level?, #load_block, #log, #method_missing, #model, #modes, #read_memory, #respond_to?, #respond_to_directly?, #to_json, #with_configuration, #with_each_mode, #with_mode, #wrap_in_controller, #write_memory
Constructor Details
#initialize(options = {}) ⇒ Mux
Returns a new instance of Mux.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/origen/models/mux.rb', line 9 def initialize( = {}) @input = [] (2**select_lines).times do |i| @input << port("input#{i}".to_sym, size: size) end port :select, size: select_lines port :output, size: size output.connect_to do |i| unless ports[:select].data.undefined? send("input#{ports[:select].data}")[i].path end end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Origen::Model
Instance Attribute Details
#select_lines ⇒ Object (readonly)
Returns the value of attribute select_lines.
7 8 9 |
# File 'lib/origen/models/mux.rb', line 7 def select_lines @select_lines end |
#size ⇒ Object (readonly)
Returns the value of attribute size.
6 7 8 |
# File 'lib/origen/models/mux.rb', line 6 def size @size end |