Sha256: 4f87a8de756ce07d9f58d0e93e722acda7f71341e8ef0d33ef51ff06da126262

Contents?: true

Size: 1.21 KB

Versions: 10

Compression:

Stored size: 1.21 KB

Contents

# A benchmark for testing the use of Ruby software code.
system :with_ruby_prog_mem do
    inner :clk, :req, :rwb
    [8].inner :addr, :index, :count, :data

    # This is actually a CPU embedded memory.
    program(:ruby,:mem) do
        actport clk.posedge
        inport  addr: addr
        inport  rwb:  rwb
        inport  din:  count
        outport dout: data
        code "ruby_program/sw_inc_mem.rb"
    end

    # This is real software.
    program(:ruby,:inc_mem) do
        actport req.posedge
        inport  index: index
        code "ruby_program/sw_inc_mem.rb"
    end


    timed do
        clk   <= 0
        addr  <= 0
        index <= 0
        req   <= 0
        count <= 0
        rwb   <= 0
        !10.ns
        req <= 1
        !10.ns
        repeat(10) do
            clk   <= 1
            req   <= 0
            !10.ns
            req   <= 1
            clk   <= 0
            count <= count + 2
            addr  <= addr + 1
            !10.ns
            index <= index + 1
        end
        !10.ns
        addr <= 0
        clk  <= 0
        rwb  <= 1
        repeat(10) do
            !10.ns
            clk  <= 1
            !10.ns
            clk  <= 0
            addr <= addr + 1
        end
    end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
HDLRuby-3.6.2 lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb
HDLRuby-3.6.1 lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb
HDLRuby-3.6.0 lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb
HDLRuby-3.5.1 lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb
HDLRuby-3.5.0 lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb
HDLRuby-3.4.0 lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb
HDLRuby-3.3.4 lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb
HDLRuby-3.3.3 lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb
HDLRuby-3.3.1 lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb
HDLRuby-3.3.0 lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb