Method: Handshaker#initialize

Defined in:
lib/HDLRuby/hdr_samples/with_class.rb

#initialize(type) ⇒ Handshaker

Create a new handshaker for transmitting +type+ data.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/HDLRuby/hdr_samples/with_class.rb', line 8

def initialize(type)
    # Sets the date type.
    type = type.to_type
    @type = type
    buffer = read_valid = read_ready = write_valid = write_ready = nil
    HDLRuby::High.cur_system.open do
        # Declares the registers used for the handshake
        # The data buffer.
        buffer = type.inner(HDLRuby.uniq_name)
        # Declares the handshake control singals.
        read_valid  = inner(HDLRuby.uniq_name)
        read_ready  = inner(HDLRuby.uniq_name)
        write_valid = inner(HDLRuby.uniq_name)
        write_ready = inner(HDLRuby.uniq_name)
    end
    @buffer = buffer
    @read_valid  = read_valid
    @read_ready  = read_ready
    @write_valid = write_valid
    @write_ready = write_ready
    # puts "@buffer=#{@buffer}"
    # puts "@read_valid=#{@read_valid}"
end