Sha256: 8fc100bd405f63d1017cb4b74c4f82d8d2c9c908b460f16ae2cc9a50c0eaa045
Contents?: true
Size: 633 Bytes
Versions: 3
Compression:
Stored size: 633 Bytes
Contents
module OrigenVerilog class TopLevel include Origen::TopLevel attr_reader :name def initialize(options = {}) @name = options[:ast].to_a[0] options[:ast].pins.each do |node| name = node.to_a.last if node.type == :input_declaration direction = :input elsif node.type == :ouput_declaration direction = :output else direction = :io end if r = node.find(:range) size = r.to_a[0] - r.to_a[1] + 1 else size = 1 end add_pin name, direction: direction, size: size end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
origen_verilog-0.2.2 | lib/origen_verilog/top_level.rb |
origen_verilog-0.2.1 | lib/origen_verilog/top_level.rb |
origen_verilog-0.2.0 | lib/origen_verilog/top_level.rb |