Module: Origen::Generator::Compiler::DocHelpers::RegisterHelpers

Included in:
Origen::Generator::Compiler::DocHelpers
Defined in:
lib/origen_doc_helpers/helpers.rb

Overview

Helpers for the register diagrams

Instance Method Summary collapse

Instance Method Details

#_bit_in_range?(bits, max, min) ⇒ Boolean

Returns true if some portion of the given bits falls within the given range

Returns:

  • (Boolean)


107
108
109
110
111
# File 'lib/origen_doc_helpers/helpers.rb', line 107

def _bit_in_range?(bits, max, min)
  upper = bits.position + bits.size - 1
  lower = bits.position
  !((lower > max) || (upper < min))
end

#_bit_rw(bits) ⇒ Object



127
128
129
130
131
132
133
134
135
136
137
138
139
140
# File 'lib/origen_doc_helpers/helpers.rb', line 127

def _bit_rw(bits)
  str = ''
  if bits.readable?
    str += 'readable'
  else
    str += 'not-readable'
  end
  if bits.writable?
    str += ' writable'
  else
    str += ' not-writable'
  end
  str.strip
end

#_index_in_range?(i, max, min) ⇒ Boolean

Returns true if the given number is is the given range

Returns:

  • (Boolean)


123
124
125
# File 'lib/origen_doc_helpers/helpers.rb', line 123

def _index_in_range?(i, max, min)
  !((i > max) || (i < min))
end

#_max_bit_in_range(bits, max, _min) ⇒ Object



142
143
144
145
# File 'lib/origen_doc_helpers/helpers.rb', line 142

def _max_bit_in_range(bits, max, _min)
  upper = bits.position + bits.size - 1
  [upper, max].min - bits.position
end

#_min_bit_in_range(bits, _max, min) ⇒ Object



147
148
149
150
# File 'lib/origen_doc_helpers/helpers.rb', line 147

def _min_bit_in_range(bits, _max, min)
  lower = bits.position
  [lower, min].max - bits.position
end

#_num_bits_in_range(bits, max, min) ⇒ Object

Returns the number of bits from the given bits that fall within the given range



115
116
117
118
119
# File 'lib/origen_doc_helpers/helpers.rb', line 115

def _num_bits_in_range(bits, max, min)
  upper = bits.position + bits.size - 1
  lower = bits.position
  [upper, max].min - [lower, min].max + 1
end