Sha256: 8f6b0fa28998c09edb4b2566ba31671f8c8d94be20b04de6afc41856dc6779ba

Contents?: true

Size: 677 Bytes

Versions: 105

Compression:

Stored size: 677 Bytes

Contents

require 'HDLRuby'

configure_high


# A 32-bit or made of two 16-bit ones declared with anonymous system.
system :or32 do
    [31..0].input :x,:y
    [32..0].output :s

    instance :or0 do
        [15..0].input :x,:y
        [16..0].output :s

        s <= x | y
    end

    instance :or1 do
        [15..0].input :x,:y
        [16..0].output :s

        s <= x | y
    end

    or0.x <= x[15..0]
    or0.y <= y[15..0]
    s[15..0] <= or0.s[15..0]

    or1.x <= x[31..16]
    or1.y <= y[31..16]
    s[31..16] <= or0.s[31..16]
end

# Instantiate it for checking.
or32 :or32I

# Generate the low level representation.
low = or32I.systemT.to_low

# Displays it
puts low.to_yaml

Version data entries

105 entries across 105 versions & 1 rubygems

Version Path
HDLRuby-3.6.2 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.6.1 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.6.0 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.5.1 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.5.0 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.4.0 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.3.4 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.3.3 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.3.1 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.3.0 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.2.0 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.1.0 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-3.0.0 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-2.11.12 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-2.11.11 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-2.11.10 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-2.11.9 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-2.11.8 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-2.11.7 lib/HDLRuby/high_samples/anonymous.rb
HDLRuby-2.11.5 lib/HDLRuby/high_samples/anonymous.rb