Sha256: 578cb726250887b56d374e62fd2cd79d0b469f5d1caded3a59abc8cbf0d78b4e

Contents?: true

Size: 668 Bytes

Versions: 1

Compression:

Stored size: 668 Bytes

Contents

module OrigenSTIL
  module Processor
    class Timesets < Base
      # Extract WaveformTables from the given AST and return as a hash of
      # timesets and attributes
      def run(node, options = {})
        @timesets = {}
        process(node)
        @timesets
      end

      def on_waveform_table(node)
        name = node.to_a[0]
        name = name.value if name.try(:type) == :name
        @timesets[name] = {}
        if period = node.find(:period)
          @timesets[name][:period_in_ns] = process_all(period.children).first * 1_000_000_000
        end
      end

      def on_time_expr(node)
        Expression.new.run(node)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
origen_stil-0.3.0 lib/origen_stil/processor/timesets.rb