class AxiStream

2018-05-04 14:40:11 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:11 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-04-18 10:57:18 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:11 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:11 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-01-11 14:25:17 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-01-18 10:41:44 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-01-12 17:11:58 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:11 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

2018-05-04 14:40:10 +0800 require_relative “.././tdl” require_relative '....tdltdl'

end

require_relative “./tdlerror” require_relative “./clock” require_relative “./Reset” require_relative “./logic” require_relative “./basefunc” require_relative “./axi_stream/axi_stream_lib”

添加 兼容 VCS 的 方法

add clock_reset_taps

require_relative 'ele'

Constants

PORT_REP

def initialize(name: “test_axis”,clock: nil,reset: nil,dsize: nil,port: false,dimension: [],freqM: nil,belong_to_module: nil)

super belong_to_module
self.dsize = dsize
self.clock = clock
self.reset = reset
self.dimension = dimension
self.freqM = freqM
self.inst_name = name
self.modport_type = port

end

Synth_REP

parse text for autogen method and constant ###

UP_STREAM_REP

Attributes

branch_total[RW]
dsize[RW]
ghost[RW]
id[RW]
m2s_interconnect_addr[RW]
name[RW]
port[RW]

Public Class Methods

aclk(obj) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 590
def self.aclk(obj)
    if(obj.is_a? AxiStream)
        obj.aclk
    elsif obj.is_a? String
        NqString.new(obj.concat ".aclk")
    end
end
aresetn(obj) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 598
def self.aresetn(obj)
    if(obj.is_a? AxiStream)
        obj.aresetn
    elsif obj.is_a? String
        NqString.new(obj.concat ".aresetn")
    end
end
axi4_rd_auxiliary_gen( id_add_len_in:"id_add_len_in", axi_rd_aux:"axi_rd_aux", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi4/axi4_rd_auxiliary_gen_auto.rb, line 54
def self.axi4_rd_auxiliary_gen(
    id_add_len_in:"id_add_len_in",
    axi_rd_aux:"axi_rd_aux",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [id_add_len_in].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axi4_rd_auxiliary_gen(
        id_add_len_in:id_add_len_in,
        axi_rd_aux:axi_rd_aux)
    return return_stream
end
axi4_wr_auxiliary_gen_without_resp( stream_en:"stream_en", id_add_len_in:"id_add_len_in", axi_wr_aux:"axi_wr_aux", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi4/axi4_wr_auxiliary_gen_without_resp_auto.rb, line 59
def self.axi4_wr_auxiliary_gen_without_resp(
    stream_en:"stream_en",
    id_add_len_in:"id_add_len_in",
    axi_wr_aux:"axi_wr_aux",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [id_add_len_in].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axi4_wr_auxiliary_gen_without_resp(
        stream_en:stream_en,
        id_add_len_in:id_add_len_in,
        axi_wr_aux:axi_wr_aux)
    return return_stream
end
axi_stream_cache( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_auto.rb, line 73
def self.axi_stream_cache(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    ms = [axis_in,axis_out,up_stream,down_stream].map do |e|
        if e.respond_to? :belong_to_module
            e.belong_to_module
        else 
            nil 
        end
    end
    belong_to_module = ms.compact.first unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_cache(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_cache(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_cache(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_cache_35bit( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_35bit_auto.rb, line 73
def self.axi_stream_cache_35bit(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_cache_35bit(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_cache_35bit(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_cache_35bit(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_cache_72_95bit_with_keep( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_72_95bit_with_keep_auto.rb, line 73
def self.axi_stream_cache_72_95bit_with_keep(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_cache_72_95bit_with_keep(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_cache_72_95bit_with_keep(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_cache_72_95bit_with_keep(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_cache_b1( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_B1_auto.rb, line 73
def self.axi_stream_cache_b1(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_cache_b1(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_cache_b1(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_cache_b1(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_cache_mirror( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_mirror_auto.rb, line 73
def self.axi_stream_cache_mirror(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_cache_mirror(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_cache_mirror(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_cache_mirror(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_cache_verb( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_verb_auto.rb, line 73
def self.axi_stream_cache_verb(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_cache_verb(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_cache_verb(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_cache_verb(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_interconnect_m2s( num:8, addr:"addr", s00:"s00", m00:"m00", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_M2S.rb, line 65
def self.axi_stream_interconnect_m2s(
    num:8,
    addr:"addr",
    s00:"s00",
    m00:"m00",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [m00].first.belong_to_module unless belong_to_module


    belong_to_module.AxiStream_NC._axi_stream_interconnect_m2s(
        num:num,
        addr:addr,
        s00:s00,
        m00:m00)
    return return_stream
end
axi_stream_interconnect_m2s_a1( num:nil, s00:"s00", m00:"m00", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_M2S_A1.rb, line 72
def self.axi_stream_interconnect_m2s_a1(
    num:nil,
    s00:"s00",
    m00:"m00",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [s00,m00].first.belong_to_module unless belong_to_module

    if down_stream.nil? && m00.eql?("m00")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy(name:"m00")
        else
            down_stream = s00.copy(name:"m00")
        end
        return_stream = down_stream
    end


    if up_stream.nil? && s00.eql?("s00")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy(name:"s00")
        else
            up_stream = m00.copy(name:"s00")
        end
        return_stream = up_stream
    end


    if down_stream.is_a? AxiStream
        down_stream.axi_stream_interconnect_m2s_a1(
            num:num,
            s00:s00,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif m00.is_a? AxiStream
        m00.axi_stream_interconnect_m2s_a1(
            num:num,
            s00:s00,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_interconnect_m2s_a1(
            num:num,
            s00:s00,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_interconnect_m2s_bind_tuser( num:8, s00:"s00", m00:"m00", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_M2S_bind_tuser_auto.rb, line 79
def self.axi_stream_interconnect_m2s_bind_tuser(
    num:8,
    s00:"s00",
    m00:"m00",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [s00,m00].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && m00.eql?("m00")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = s00.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && s00.eql?("s00")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = m00.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_interconnect_m2s_bind_tuser(
            num:num,
            s00:s00,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif m00.is_a? AxiStream
        m00.axi_stream_interconnect_m2s_bind_tuser(
            num:num,
            s00:s00,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_interconnect_m2s_bind_tuser(
            num:num,
            s00:s00,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_interconnect_s2m( num:8, addr:"addr", s00:"s00", m00:"m00", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_S2M.rb, line 66
def self.axi_stream_interconnect_s2m(
    num:8,
    addr:"addr",
    s00:"s00",
    m00:"m00",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [s00,m00].first.belong_to_module unless belong_to_module


    belong_to_module.AxiStream_NC._axi_stream_interconnect_s2m(
        num:num,
        addr:addr,
        s00:s00,
        m00:m00)
    return return_stream
end
axi_stream_interconnect_s2m_auto( head_dummy:4, num:4, slaver:"slaver", sub_tx_inf:"sub_tx_inf", up_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_S2M_auto_auto.rb, line 68
def self.axi_stream_interconnect_s2m_auto(
    head_dummy:4,
    num:4,
    slaver:"slaver",
    sub_tx_inf:"sub_tx_inf",
    up_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [slaver,sub_tx_inf].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axi_stream_interconnect_s2m_auto(
        head_dummy:head_dummy,
        num:num,
        slaver:slaver,
        sub_tx_inf:sub_tx_inf,
        up_stream:up_stream)
    return return_stream
end
axi_stream_interconnect_s2m_with_keep( num:8, nsize:"NUM <= 2? 1 :", addr:"addr", s00:"s00", m00:"m00", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_S2M_with_keep.sv_auto.rb, line 70
def self.axi_stream_interconnect_s2m_with_keep(
    num:8,
    nsize:"NUM <= 2? 1 :",
    addr:"addr",
    s00:"s00",
    m00:"m00",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [s00,m00].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axi_stream_interconnect_s2m_with_keep(
        num:num,
        nsize:nsize,
        addr:addr,
        s00:s00,
        m00:m00)
    return return_stream
end
axi_stream_long_cache( depth:8192, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_long_cache_auto.rb, line 79
def self.axi_stream_long_cache(
    depth:8192,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_long_cache(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_long_cache(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_long_cache(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_long_fifo( depth:2, byte_depth:8192*2, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_long_fifo_auto.rb, line 84
def self.axi_stream_long_fifo(
    depth:2,
    byte_depth:8192*2,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_long_fifo(
            depth:depth,
            byte_depth:byte_depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_long_fifo(
            depth:depth,
            byte_depth:byte_depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_long_fifo(
            depth:depth,
            byte_depth:byte_depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_long_fifo_verb( depth:2, byte_depth:8192*2, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_long_fifo_verb_auto.rb, line 84
def self.axi_stream_long_fifo_verb(
    depth:2,
    byte_depth:8192*2,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_long_fifo_verb(
            depth:depth,
            byte_depth:byte_depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_long_fifo_verb(
            depth:depth,
            byte_depth:byte_depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_long_fifo_verb(
            depth:depth,
            byte_depth:byte_depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_packet_fifo( depth:2 , axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_packet_fifo_auto.rb, line 79
def self.axi_stream_packet_fifo(
    depth:2   ,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_packet_fifo(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_packet_fifo(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_packet_fifo(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_packet_fifo_with_info( depth:2, esize:8, info_in:"info_in", info_out:"info_out", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_packet_fifo_with_info_auto.rb, line 94
def self.axi_stream_packet_fifo_with_info(
    depth:2,
    esize:8,
    info_in:"info_in",
    info_out:"info_out",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_packet_fifo_with_info(
            depth:depth,
            esize:esize,
            info_in:info_in,
            info_out:info_out,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_packet_fifo_with_info(
            depth:depth,
            esize:esize,
            info_in:info_in,
            info_out:info_out,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_packet_fifo_with_info(
            depth:depth,
            esize:esize,
            info_in:info_in,
            info_out:info_out,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_partition( valve:"valve", partition_len:"partition_len", req_new_len:"req_new_len", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_partition_auto.rb, line 88
def self.axi_stream_partition(
    valve:"valve",
    partition_len:"partition_len",
    req_new_len:"req_new_len",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_partition(
            valve:valve,
            partition_len:partition_len,
            req_new_len:req_new_len,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_partition(
            valve:valve,
            partition_len:partition_len,
            req_new_len:req_new_len,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_partition(
            valve:valve,
            partition_len:partition_len,
            req_new_len:req_new_len,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_partition_a1( valve:"valve", partition_len:"partition_len", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_partition_A1_auto.rb, line 83
def self.axi_stream_partition_a1(
    valve:"valve",
    partition_len:"partition_len",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_partition_a1(
            valve:valve,
            partition_len:partition_len,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_partition_a1(
            valve:valve,
            partition_len:partition_len,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_partition_a1(
            valve:valve,
            partition_len:partition_len,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_stream_wide_fifo( depth:2, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_wide_fifo_auto.rb, line 79
def self.axi_stream_wide_fifo(
    depth:2,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_stream_wide_fifo(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axi_stream_wide_fifo(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_stream_wide_fifo(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_streams_combin( mode:"BOTH", cut_or_combin_body:"ON", dsize:8, new_body_len:"new_body_len", trigger_signal:"trigger_signal", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_combin_auto.rb, line 111
def self.axi_streams_combin(
    mode:"BOTH",
    cut_or_combin_body:"ON",
    dsize:8,
    new_body_len:"new_body_len",
    trigger_signal:"trigger_signal",
    head_inf:"head_inf",
    body_inf:"body_inf",
    end_inf:"end_inf",
    m00:"m00",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [head_inf,body_inf,end_inf,m00].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && m00.eql?("m00")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = body_inf.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && body_inf.eql?("body_inf")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = m00.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_streams_combin(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            dsize:dsize,
            new_body_len:new_body_len,
            trigger_signal:trigger_signal,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif m00.is_a? AxiStream
        m00.axi_streams_combin(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            dsize:dsize,
            new_body_len:new_body_len,
            trigger_signal:trigger_signal,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_streams_combin(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            dsize:dsize,
            new_body_len:new_body_len,
            trigger_signal:trigger_signal,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_streams_combin_a1( mode:"BOTH", cut_or_combin_body:"ON", new_body_len:"new_body_len", trigger_signal:"trigger_signal", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_combin_A1_auto.rb, line 106
def self.axi_streams_combin_a1(
    mode:"BOTH",
    cut_or_combin_body:"ON",
    new_body_len:"new_body_len",
    trigger_signal:"trigger_signal",
    head_inf:"head_inf",
    body_inf:"body_inf",
    end_inf:"end_inf",
    m00:"m00",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [head_inf,body_inf,end_inf,m00].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && m00.eql?("m00")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = body_inf.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && body_inf.eql?("body_inf")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = m00.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_streams_combin_a1(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            new_body_len:new_body_len,
            trigger_signal:trigger_signal,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif m00.is_a? AxiStream
        m00.axi_streams_combin_a1(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            new_body_len:new_body_len,
            trigger_signal:trigger_signal,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_streams_combin_a1(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            new_body_len:new_body_len,
            trigger_signal:trigger_signal,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_streams_scaler( mode:"BOTH", cut_or_combin_body:"ON", dsize:8, new_body_len:"new_body_len", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_scaler_auto.rb, line 106
def self.axi_streams_scaler(
    mode:"BOTH",
    cut_or_combin_body:"ON",
    dsize:8,
    new_body_len:"new_body_len",
    head_inf:"head_inf",
    body_inf:"body_inf",
    end_inf:"end_inf",
    m00:"m00",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [head_inf,body_inf,end_inf,m00].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && m00.eql?("m00")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = body_inf.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && body_inf.eql?("body_inf")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = m00.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_streams_scaler(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            dsize:dsize,
            new_body_len:new_body_len,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif m00.is_a? AxiStream
        m00.axi_streams_scaler(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            dsize:dsize,
            new_body_len:new_body_len,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_streams_scaler(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            dsize:dsize,
            new_body_len:new_body_len,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axi_streams_scaler_a1( mode:"BOTH", cut_or_combin_body:"ON", new_body_len:"new_body_len", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_scaler_A1_auto.rb, line 101
def self.axi_streams_scaler_a1(
    mode:"BOTH",
    cut_or_combin_body:"ON",
    new_body_len:"new_body_len",
    head_inf:"head_inf",
    body_inf:"body_inf",
    end_inf:"end_inf",
    m00:"m00",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [head_inf,body_inf,end_inf,m00].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && m00.eql?("m00")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = body_inf.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && body_inf.eql?("body_inf")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = m00.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axi_streams_scaler_a1(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            new_body_len:new_body_len,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif m00.is_a? AxiStream
        m00.axi_streams_scaler_a1(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            new_body_len:new_body_len,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axi_streams_scaler_a1(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            new_body_len:new_body_len,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_append( mode:"BOTH", dsize:8, head_field_len:16*8, head_field_name:"HEAD Filed", end_field_len:16*8, end_field_name:"END Filed", head_value:"head_value", end_value:"end_value", origin_in:"origin_in", append_out:"append_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_append_auto.rb, line 114
def self.axis_append(
    mode:"BOTH",
    dsize:8,
    head_field_len:16*8,
    head_field_name:"HEAD Filed",
    end_field_len:16*8,
    end_field_name:"END Filed",
    head_value:"head_value",
    end_value:"end_value",
    origin_in:"origin_in",
    append_out:"append_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [origin_in,append_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && append_out.eql?("append_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = origin_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && origin_in.eql?("origin_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = append_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_append(
            mode:mode,
            dsize:dsize,
            head_field_len:head_field_len,
            head_field_name:head_field_name,
            end_field_len:end_field_len,
            end_field_name:end_field_name,
            head_value:head_value,
            end_value:end_value,
            origin_in:origin_in,
            append_out:append_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif append_out.is_a? AxiStream
        append_out.axis_append(
            mode:mode,
            dsize:dsize,
            head_field_len:head_field_len,
            head_field_name:head_field_name,
            end_field_len:end_field_len,
            end_field_name:end_field_name,
            head_value:head_value,
            end_value:end_value,
            origin_in:origin_in,
            append_out:append_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_append(
            mode:mode,
            dsize:dsize,
            head_field_len:head_field_len,
            head_field_name:head_field_name,
            end_field_len:end_field_len,
            end_field_name:end_field_name,
            head_value:head_value,
            end_value:end_value,
            origin_in:origin_in,
            append_out:append_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_append_a1( mode:"BOTH", dsize:8, head_field_len:16*8, head_field_name:"HEAD Filed", end_field_len:16*8, end_field_name:"END Filed", enable:"enable", head_value:"head_value", end_value:"end_value", origin_in:"origin_in", append_out:"append_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_append_A1_auto.rb, line 119
def self.axis_append_a1(
    mode:"BOTH",
    dsize:8,
    head_field_len:16*8,
    head_field_name:"HEAD Filed",
    end_field_len:16*8,
    end_field_name:"END Filed",
    enable:"enable",
    head_value:"head_value",
    end_value:"end_value",
    origin_in:"origin_in",
    append_out:"append_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [origin_in,append_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && append_out.eql?("append_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = origin_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && origin_in.eql?("origin_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = append_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_append_a1(
            mode:mode,
            dsize:dsize,
            head_field_len:head_field_len,
            head_field_name:head_field_name,
            end_field_len:end_field_len,
            end_field_name:end_field_name,
            enable:enable,
            head_value:head_value,
            end_value:end_value,
            origin_in:origin_in,
            append_out:append_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif append_out.is_a? AxiStream
        append_out.axis_append_a1(
            mode:mode,
            dsize:dsize,
            head_field_len:head_field_len,
            head_field_name:head_field_name,
            end_field_len:end_field_len,
            end_field_name:end_field_name,
            enable:enable,
            head_value:head_value,
            end_value:end_value,
            origin_in:origin_in,
            append_out:append_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_append_a1(
            mode:mode,
            dsize:dsize,
            head_field_len:head_field_len,
            head_field_name:head_field_name,
            end_field_len:end_field_len,
            end_field_name:end_field_name,
            enable:enable,
            head_value:head_value,
            end_value:end_value,
            origin_in:origin_in,
            append_out:append_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_combin_with_fifo( mode:"BOTH", cut_or_combin_body:"ON", new_body_len:"new_body_len", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_combin_with_fifo_auto.rb, line 101
def self.axis_combin_with_fifo(
    mode:"BOTH",
    cut_or_combin_body:"ON",
    new_body_len:"new_body_len",
    head_inf:"head_inf",
    body_inf:"body_inf",
    end_inf:"end_inf",
    m00:"m00",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [head_inf,body_inf,end_inf,m00].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && m00.eql?("m00")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = body_inf.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && body_inf.eql?("body_inf")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = m00.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_combin_with_fifo(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            new_body_len:new_body_len,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif m00.is_a? AxiStream
        m00.axis_combin_with_fifo(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            new_body_len:new_body_len,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_combin_with_fifo(
            mode:mode,
            cut_or_combin_body:cut_or_combin_body,
            new_body_len:new_body_len,
            head_inf:head_inf,
            body_inf:body_inf,
            end_inf:end_inf,
            m00:m00,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_connect_pipe( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_connect_pipe_auto.rb, line 73
def self.axis_connect_pipe(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_connect_pipe(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_connect_pipe(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_connect_pipe(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_connect_pipe_a1( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_connect_pipe_A1.sv_auto.rb, line 73
def self.axis_connect_pipe_a1(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_connect_pipe_a1(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_connect_pipe_a1(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_connect_pipe_a1(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_connect_pipe_with_info( ifsize:32, info_in:"info_in", info_out:"info_out", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_connect_pipe_with_info_auto.rb, line 89
def self.axis_connect_pipe_with_info(
    ifsize:32,
    info_in:"info_in",
    info_out:"info_out",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_connect_pipe_with_info(
            ifsize:ifsize,
            info_in:info_in,
            info_out:info_out,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_connect_pipe_with_info(
            ifsize:ifsize,
            info_in:info_in,
            info_out:info_out,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_connect_pipe_with_info(
            ifsize:ifsize,
            info_in:info_in,
            info_out:info_out,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_direct( slaver:"slaver", master:"master", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_direct_auto.rb, line 73
def self.axis_direct(
    slaver:"slaver",
    master:"master",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [slaver,master].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && master.eql?("master")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = slaver.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && slaver.eql?("slaver")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = master.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_direct(
            slaver:slaver,
            master:master,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif master.is_a? AxiStream
        master.axis_direct(
            slaver:slaver,
            master:master,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_direct(
            slaver:slaver,
            master:master,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_filter( button:"button", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_filter_auto.rb, line 78
def self.axis_filter(
    button:"button",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_filter(
            button:button,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_filter(
            button:button,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_filter(
            button:button,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_full_to_data_c( data_out_inf:"data_out_inf", axis_in:"axis_in", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_full_to_data_c_auto.rb, line 54
def self.axis_full_to_data_c(
    data_out_inf:"data_out_inf",
    axis_in:"axis_in",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axis_full_to_data_c(
        data_out_inf:data_out_inf,
        axis_in:axis_in)
    return return_stream
end
axis_head_cut( len:1, slaver:"slaver", master:"master", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_head_cut_auto.rb, line 79
def self.axis_head_cut(
    len:1,
    slaver:"slaver",
    master:"master",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [slaver,master].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && master.eql?("master")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = slaver.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && slaver.eql?("slaver")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = master.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_head_cut(
            len:len,
            slaver:slaver,
            master:master,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif master.is_a? AxiStream
        master.axis_head_cut(
            len:len,
            slaver:slaver,
            master:master,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_head_cut(
            len:len,
            slaver:slaver,
            master:master,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_length_fill( length:"length", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_fill_auto.rb, line 78
def self.axis_length_fill(
    length:"length",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_length_fill(
            length:length,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_length_fill(
            length:length,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_length_fill(
            length:length,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_length_split( length:"length", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_split_auto.rb, line 78
def self.axis_length_split(
    length:"length",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_length_split(
            length:length,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_length_split(
            length:length,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_length_split(
            length:length,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_length_split_with_addr( addr_step:1024 , origin_addr:"origin_addr", length:"length", band_addr:"band_addr", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_split_with_addr_auto.rb, line 94
def self.axis_length_split_with_addr(
    addr_step:1024      ,
    origin_addr:"origin_addr",
    length:"length",
    band_addr:"band_addr",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_length_split_with_addr(
            addr_step:addr_step,
            origin_addr:origin_addr,
            length:length,
            band_addr:band_addr,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_length_split_with_addr(
            addr_step:addr_step,
            origin_addr:origin_addr,
            length:length,
            band_addr:band_addr,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_length_split_with_addr(
            addr_step:addr_step,
            origin_addr:origin_addr,
            length:length,
            band_addr:band_addr,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_length_split_with_user( length:"length", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_split_writh_user_auto.rb, line 78
def self.axis_length_split_with_user(
    length:"length",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_length_split_with_user(
            length:length,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_length_split_with_user(
            length:length,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_length_split_with_user(
            length:length,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_master_empty( master:"master", down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_master_empty_auto.rb, line 57
def self.axis_master_empty(
    master:"master",
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [master].first.belong_to_module unless belong_to_module
    
    
    
    if down_stream.is_a? AxiStream
        down_stream.axis_master_empty(
            master:master,
            down_stream:down_stream)
    elsif master.is_a? AxiStream
        master.axis_master_empty(
            master:master,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_master_empty(
            master:master,
            down_stream:down_stream)
    end
    return return_stream
end
axis_mirror_to_master( depth:4, mirror:"mirror", master:"master", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_mirror_to_master_auto.rb, line 79
def self.axis_mirror_to_master(
    depth:4,
    mirror:"mirror",
    master:"master",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [mirror,master].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && master.eql?("master")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = mirror.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && mirror.eql?("mirror")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = master.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_mirror_to_master(
            depth:depth,
            mirror:mirror,
            master:master,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif master.is_a? AxiStream
        master.axis_mirror_to_master(
            depth:depth,
            mirror:mirror,
            master:master,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_mirror_to_master(
            depth:depth,
            mirror:mirror,
            master:master,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_mirrors( h:0, l:0, num:8, mode:"CDS_MODE", condition_data:"condition_data", axis_in:"axis_in", axis_mirror:"axis_mirror", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_mirrors_auto.rb, line 99
def self.axis_mirrors(
    h:0,
    l:0,
    num:8,
    mode:"CDS_MODE",
    condition_data:"condition_data",
    axis_in:"axis_in",
    axis_mirror:"axis_mirror",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_mirror].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_mirror.eql?("axis_mirror")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_mirror.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_mirrors(
            h:h,
            l:l,
            num:num,
            mode:mode,
            condition_data:condition_data,
            axis_in:axis_in,
            axis_mirror:axis_mirror,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_mirror.is_a? AxiStream
        axis_mirror.axis_mirrors(
            h:h,
            l:l,
            num:num,
            mode:mode,
            condition_data:condition_data,
            axis_in:axis_in,
            axis_mirror:axis_mirror,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_mirrors(
            h:h,
            l:l,
            num:num,
            mode:mode,
            condition_data:condition_data,
            axis_in:axis_in,
            axis_mirror:axis_mirror,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_pkt_fifo_filter_keep( depth:2 , axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_pkt_fifo_filter_keep_auto.rb, line 79
def self.axis_pkt_fifo_filter_keep(
    depth:2   ,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_pkt_fifo_filter_keep(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_pkt_fifo_filter_keep(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_pkt_fifo_filter_keep(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_pkt_fifo_filter_keep_a1( depth:2 , axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_pkt_fifo_filter_keep_A1_auto.rb, line 79
def self.axis_pkt_fifo_filter_keep_a1(
    depth:2   ,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_pkt_fifo_filter_keep_a1(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_pkt_fifo_filter_keep_a1(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_pkt_fifo_filter_keep_a1(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_ram_buffer( length:4096, wr_en:"wr_en", gen_en:"gen_en", gen_ready:"gen_ready", axis_wr_inf:"axis_wr_inf", axis_data_inf:"axis_data_inf", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_ram_buffer_auto.rb, line 94
def self.axis_ram_buffer(
    length:4096,
    wr_en:"wr_en",
    gen_en:"gen_en",
    gen_ready:"gen_ready",
    axis_wr_inf:"axis_wr_inf",
    axis_data_inf:"axis_data_inf",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_wr_inf,axis_data_inf].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_data_inf.eql?("axis_data_inf")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_wr_inf.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_wr_inf.eql?("axis_wr_inf")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_data_inf.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_ram_buffer(
            length:length,
            wr_en:wr_en,
            gen_en:gen_en,
            gen_ready:gen_ready,
            axis_wr_inf:axis_wr_inf,
            axis_data_inf:axis_data_inf,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_data_inf.is_a? AxiStream
        axis_data_inf.axis_ram_buffer(
            length:length,
            wr_en:wr_en,
            gen_en:gen_en,
            gen_ready:gen_ready,
            axis_wr_inf:axis_wr_inf,
            axis_data_inf:axis_data_inf,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_ram_buffer(
            length:length,
            wr_en:wr_en,
            gen_en:gen_en,
            gen_ready:gen_ready,
            axis_wr_inf:axis_wr_inf,
            axis_data_inf:axis_data_inf,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_slaver_empty( slaver:"slaver", up_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_slaver_empty_auto.rb, line 51
def self.axis_slaver_empty(
    slaver:"slaver",
    up_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [slaver].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axis_slaver_empty(
        slaver:slaver,
        up_stream:up_stream)
    return return_stream
end
axis_slaver_pipe( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_slaver_pipe_auto.rb, line 73
def self.axis_slaver_pipe(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_slaver_pipe(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_slaver_pipe(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_slaver_pipe(
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_slaver_pipe_a1( depth:1, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_slaver_pipe_A1_auto.rb, line 79
def self.axis_slaver_pipe_a1(
    depth:1,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_slaver_pipe_a1(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_slaver_pipe_a1(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_slaver_pipe_a1(
            depth:depth,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_to_axi4_or_lite( lite:"lite", axis_in:"axis_in", rd_rel_axis:"rd_rel_axis", axi4:"axi4", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_to_axi4_or_lite_auto.rb, line 66
def self.axis_to_axi4_or_lite(
    lite:"lite",
    axis_in:"axis_in",
    rd_rel_axis:"rd_rel_axis",
    axi4:"axi4",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,rd_rel_axis].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axis_to_axi4_or_lite(
        lite:lite,
        axis_in:axis_in,
        rd_rel_axis:rd_rel_axis,
        axi4:axi4)
    return return_stream
end
axis_to_axi4_wr( addr:"addr", max_length:"max_length", axis_in:"axis_in", axi_wr:"axi_wr", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi4/axis_to_axi4_wr_auto.rb, line 64
def self.axis_to_axi4_wr(
    addr:"addr",
    max_length:"max_length",
    axis_in:"axis_in",
    axi_wr:"axi_wr",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axis_to_axi4_wr(
        addr:addr,
        max_length:max_length,
        axis_in:axis_in,
        axi_wr:axi_wr)
    return return_stream
end
axis_to_data_inf( contain_last:"OFF", data_out_inf:"data_out_inf", axis_in:"axis_in", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_to_data_inf_auto.rb, line 60
def self.axis_to_data_inf(
    contain_last:"OFF",
    data_out_inf:"data_out_inf",
    axis_in:"axis_in",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axis_to_data_inf(
        contain_last:contain_last,
        data_out_inf:data_out_inf,
        axis_in:axis_in)
    return return_stream
end
axis_to_lite_rd( dummy:8, lite:"lite", axis_in:"axis_in", rd_rel_axis:"rd_rel_axis", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_to_lite_rd_auto.rb, line 66
def self.axis_to_lite_rd(
    dummy:8,
    lite:"lite",
    axis_in:"axis_in",
    rd_rel_axis:"rd_rel_axis",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,rd_rel_axis].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axis_to_lite_rd(
        dummy:dummy,
        lite:lite,
        axis_in:axis_in,
        rd_rel_axis:rd_rel_axis)
    return return_stream
end
axis_to_lite_wr( dummy:8, lite:"lite", axis_in:"axis_in", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_to_lite_wr_auto.rb, line 60
def self.axis_to_lite_wr(
    dummy:8,
    lite:"lite",
    axis_in:"axis_in",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axis_to_lite_wr(
        dummy:dummy,
        lite:lite,
        axis_in:axis_in)
    return return_stream
end
axis_uncompress( asize:8, lsize:8, axis_zip:"axis_zip", axis_unzip:"axis_unzip", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_uncompress_auto.rb, line 65
def self.axis_uncompress(
    asize:8,
    lsize:8,
    axis_zip:"axis_zip",
    axis_unzip:"axis_unzip",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_zip,axis_unzip].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._axis_uncompress(
        asize:asize,
        lsize:lsize,
        axis_zip:axis_zip,
        axis_unzip:axis_unzip)
    return return_stream
end
axis_valve( button:"button", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_valve_auto.rb, line 78
def self.axis_valve(
    button:"button",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in,axis_out].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_valve(
            button:button,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_valve(
            button:button,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_valve(
            button:button,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_valve_with_pipe( mode:"BOTH", button:"button", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_valve_with_pipe_auto.rb, line 84
def self.axis_valve_with_pipe(
    mode:"BOTH",
    button:"button",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    ms = [axis_in,axis_out,up_stream,down_stream].map do |e|
        if e.respond_to? :belong_to_module
            e.belong_to_module
        else 
            nil 
        end
    end
    belong_to_module = ms.compact.first unless belong_to_module
    
    if down_stream.nil? && axis_out.eql?("axis_out")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = axis_in.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && axis_in.eql?("axis_in")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = axis_out.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_valve_with_pipe(
            mode:mode,
            button:button,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.axis_valve_with_pipe(
            mode:mode,
            button:button,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_valve_with_pipe(
            mode:mode,
            button:button,
            axis_in:axis_in,
            axis_out:axis_out,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_width_combin( slim_axis:"slim_axis", wide_axis:"wide_axis", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_combin_auto.rb, line 73
def self.axis_width_combin(
    slim_axis:"slim_axis",
    wide_axis:"wide_axis",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [slim_axis,wide_axis].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && wide_axis.eql?("wide_axis")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = slim_axis.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && slim_axis.eql?("slim_axis")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = wide_axis.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_width_combin(
            slim_axis:slim_axis,
            wide_axis:wide_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif wide_axis.is_a? AxiStream
        wide_axis.axis_width_combin(
            slim_axis:slim_axis,
            wide_axis:wide_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_width_combin(
            slim_axis:slim_axis,
            wide_axis:wide_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_width_combin_a1( slim_axis:"slim_axis", wide_axis:"wide_axis", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_combin_A1_auto.rb, line 73
def self.axis_width_combin_a1(
    slim_axis:"slim_axis",
    wide_axis:"wide_axis",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [slim_axis,wide_axis].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && wide_axis.eql?("wide_axis")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = slim_axis.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && slim_axis.eql?("slim_axis")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = wide_axis.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_width_combin_a1(
            slim_axis:slim_axis,
            wide_axis:wide_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif wide_axis.is_a? AxiStream
        wide_axis.axis_width_combin_a1(
            slim_axis:slim_axis,
            wide_axis:wide_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_width_combin_a1(
            slim_axis:slim_axis,
            wide_axis:wide_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_width_convert( in_axis:"in_axis", out_axis:"out_axis", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_convert_auto.rb, line 73
def self.axis_width_convert(
    in_axis:"in_axis",
    out_axis:"out_axis",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [in_axis,out_axis].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && out_axis.eql?("out_axis")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = in_axis.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && in_axis.eql?("in_axis")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = out_axis.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_width_convert(
            in_axis:in_axis,
            out_axis:out_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif out_axis.is_a? AxiStream
        out_axis.axis_width_convert(
            in_axis:in_axis,
            out_axis:out_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_width_convert(
            in_axis:in_axis,
            out_axis:out_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_width_destruct( wide_axis:"wide_axis", slim_axis:"slim_axis", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_destruct_auto.rb, line 73
def self.axis_width_destruct(
    wide_axis:"wide_axis",
    slim_axis:"slim_axis",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [wide_axis,slim_axis].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && slim_axis.eql?("slim_axis")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = wide_axis.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && wide_axis.eql?("wide_axis")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = slim_axis.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_width_destruct(
            wide_axis:wide_axis,
            slim_axis:slim_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif slim_axis.is_a? AxiStream
        slim_axis.axis_width_destruct(
            wide_axis:wide_axis,
            slim_axis:slim_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_width_destruct(
            wide_axis:wide_axis,
            slim_axis:slim_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
axis_width_destruct_a1( wide_axis:"wide_axis", slim_axis:"slim_axis", up_stream:nil, down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_destruct_A1.sv_auto.rb, line 73
def self.axis_width_destruct_a1(
    wide_axis:"wide_axis",
    slim_axis:"slim_axis",
    up_stream:nil,
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [wide_axis,slim_axis].first.belong_to_module unless belong_to_module
    
    if down_stream.nil? && slim_axis.eql?("slim_axis")
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy
        else
            down_stream = wide_axis.copy
        end
        return_stream = down_stream
    end

    
    if up_stream.nil? && wide_axis.eql?("wide_axis")
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy
        else
            up_stream = slim_axis.copy
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.axis_width_destruct_a1(
            wide_axis:wide_axis,
            slim_axis:slim_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    elsif slim_axis.is_a? AxiStream
        slim_axis.axis_width_destruct_a1(
            wide_axis:wide_axis,
            slim_axis:slim_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.axis_width_destruct_a1(
            wide_axis:wide_axis,
            slim_axis:slim_axis,
            up_stream:up_stream,
            down_stream:down_stream)
    end
    return return_stream
end
check_stream_crc(axis_in:"axis_in") click to toggle source
# File lib/tdl/axi_stream/bak/check_stream_crc_auto.rb, line 34
def self.check_stream_crc(axis_in:"axis_in")
    return_stream = nil
    
    
    AxiStream.NC._check_stream_crc(axis_in:axis_in)
    return return_stream
end
collect_vector(main:nil,vector:nil) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 159
def self.collect_vector(main:nil,vector:nil)
    raise TdlError.new("AxiStream collect_vector `VECTOR` must be AxiStream Class") unless vector.is_a? AxiStream

    if main
        raise TdlError.new("AxiStream collect_vector `MAIN` must be AxiStream Class") unless main.is_a? AxiStream
    end

    main = vector.copy(dimension:[]) if main.nil?

    main.collect_vector(vector)

    return main

end
copy(obj) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 619
def self.copy(obj)
    if obj.is_a? AxiStream
        obj.copy
    elsif obj.is_a? String
        AxiStream.new(name:"copy_#{obj}",clock:AxiStream.aclk(obj),reset:AxiStream.aresetn(obj),dsize:AxiStream.DSIZE(obj))
    end
end
data_c_to_axis_full( data_in_inf:"data_in_inf", axis_out:"axis_out", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/data_c_to_axis_full_auto.rb, line 54
def self.data_c_to_axis_full(
    data_in_inf:"data_in_inf",
    axis_out:"axis_out",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_out].first.belong_to_module unless belong_to_module
    
    
    belong_to_module.AxiStream_NC._data_c_to_axis_full(
        data_in_inf:data_in_inf,
        axis_out:axis_out)
    return return_stream
end
data_to_axis_inf(mark_curr_data:"mark_curr_data",last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master") click to toggle source
# File lib/tdl/axi_stream/bak/data_to_axis_inf_auto.rb, line 38
def self.data_to_axis_inf(mark_curr_data:"mark_curr_data",last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master")
    return_stream = nil
    
    
    AxiStream.NC._data_to_axis_inf(mark_curr_data:mark_curr_data,last_flag:last_flag,data_slaver:data_slaver,axis_master:axis_master)
    return return_stream
end
data_to_axis_inf_a1(last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master") click to toggle source
# File lib/tdl/axi_stream/bak/data_to_axis_inf_A1.rb, line 29
def self.data_to_axis_inf_a1(last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master")
    NC._data_to_axis_inf_a1(last_flag:last_flag,data_slaver:data_slaver,axis_master:axis_master)

end
direct(slaver:"slaver",master:"master",up_stream:nil,down_stream:nil,belong_to_module:nil) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 510
def self.direct(slaver:"slaver",master:"master",up_stream:nil,down_stream:nil,belong_to_module:nil)
    self.axis_direct(slaver:slaver,master:master,up_stream:up_stream,down_stream:down_stream,belong_to_module:belong_to_module)
end
dynamic_port_cfg(udp_port:"udp_port",port_index:"port_index",valid:"valid",tap_ex_udp_ctrl_inf:"tap_ex_udp_ctrl_inf",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf") click to toggle source
# File lib/tdl/axi_stream/bak/dynamic_port_cfg_auto.rb, line 35
def self.dynamic_port_cfg(udp_port:"udp_port",port_index:"port_index",valid:"valid",tap_ex_udp_ctrl_inf:"tap_ex_udp_ctrl_inf",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf")
    return_stream = nil
    
    
    NC._dynamic_port_cfg(udp_port:udp_port,port_index:port_index,valid:valid,tap_ex_udp_ctrl_inf:tap_ex_udp_ctrl_inf,tap_local_udp_ctrl_inf:tap_local_udp_ctrl_inf,tap_broadcast_udp_inf:tap_broadcast_udp_inf,send_inf:send_inf)
    return return_stream
end
dynnamic_addr_cfg(server_ip:"server_ip",server_mac:"server_mac",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf") click to toggle source
# File lib/tdl/axi_stream/bak/dynnamic_addr_cfg_auto.rb, line 33
def self.dynnamic_addr_cfg(server_ip:"server_ip",server_mac:"server_mac",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf")
    return_stream = nil
    
    
    NC._dynnamic_addr_cfg(server_ip:server_ip,server_mac:server_mac,tap_local_udp_ctrl_inf:tap_local_udp_ctrl_inf,tap_broadcast_udp_inf:tap_broadcast_udp_inf,send_inf:send_inf)
    return return_stream
end
gen_big_field_table(master_mode:"OFF",dsize:8,field_len:16*8,field_name:"Big Filed",enable:"enable",value:"value",cm_tb:"cm_tb",down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/gen_big_field_table_auto.rb, line 41
def self.gen_big_field_table(master_mode:"OFF",dsize:8,field_len:16*8,field_name:"Big Filed",enable:"enable",value:"value",cm_tb:"cm_tb",down_stream:nil)
    return_stream = nil
    
    
    
    if down_stream.is_a? AxiStream
        down_stream.gen_big_field_table(master_mode:master_mode,dsize:dsize,field_len:field_len,field_name:field_name,enable:enable,value:value,cm_tb:cm_tb,down_stream:down_stream)
    elsif cm_tb.is_a? AxiStream
        cm_tb.gen_big_field_table(master_mode:master_mode,dsize:dsize,field_len:field_len,field_name:field_name,enable:enable,value:value,cm_tb:cm_tb,down_stream:down_stream)
    else
        AxiStream.NC.gen_big_field_table(master_mode:master_mode,dsize:dsize,field_len:field_len,field_name:field_name,enable:enable,value:value,cm_tb:cm_tb,down_stream:down_stream)
    end
    return return_stream
end
gen_origin_axis(mode:"RANGE",enable:"enable",ready:"ready",length:"length",axis_out:"axis_out",down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/gen_origin_axis_auto.rb, line 39
def self.gen_origin_axis(mode:"RANGE",enable:"enable",ready:"ready",length:"length",axis_out:"axis_out",down_stream:nil)
    return_stream = nil
    
    
    
    if down_stream.is_a? AxiStream
        down_stream.gen_origin_axis(mode:mode,enable:enable,ready:ready,length:length,axis_out:axis_out,down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.gen_origin_axis(mode:mode,enable:enable,ready:ready,length:length,axis_out:axis_out,down_stream:down_stream)
    else
        AxiStream.NC.gen_origin_axis(mode:mode,enable:enable,ready:ready,length:length,axis_out:axis_out,down_stream:down_stream)
    end
    return return_stream
end
gen_origin_axis_a1( mode:"RANGE", enable:"enable", ready:"ready", length:"length", start:"start", axis_out:"axis_out", down_stream:nil, belong_to_module:nil ) click to toggle source
# File lib/tdl/axi_stream/gen_origin_axis_A1_auto.rb, line 83
def self.gen_origin_axis_a1(
    mode:"RANGE",
    enable:"enable",
    ready:"ready",
    length:"length",
    start:"start",
    axis_out:"axis_out",
    down_stream:nil,
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_out].first.belong_to_module unless belong_to_module
    
    
    
    if down_stream.is_a? AxiStream
        down_stream.gen_origin_axis_a1(
            mode:mode,
            enable:enable,
            ready:ready,
            length:length,
            start:start,
            axis_out:axis_out,
            down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.gen_origin_axis_a1(
            mode:mode,
            enable:enable,
            ready:ready,
            length:length,
            start:start,
            axis_out:axis_out,
            down_stream:down_stream)
    else
        belong_to_module.AxiStream_NC.gen_origin_axis_a1(
            mode:mode,
            enable:enable,
            ready:ready,
            length:length,
            start:start,
            axis_out:axis_out,
            down_stream:down_stream)
    end
    return return_stream
end
gen_simple_axis(mode:"RANGE",trigger:"trigger",gen_en:"gen_en",length:"length",led:"led",axis_out:"axis_out",down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/gen_simple_axis_auto.rb, line 40
def self.gen_simple_axis(mode:"RANGE",trigger:"trigger",gen_en:"gen_en",length:"length",led:"led",axis_out:"axis_out",down_stream:nil)
    return_stream = nil
    
    
    
    if down_stream.is_a? AxiStream
        down_stream.gen_simple_axis(mode:mode,trigger:trigger,gen_en:gen_en,length:length,led:led,axis_out:axis_out,down_stream:down_stream)
    elsif axis_out.is_a? AxiStream
        axis_out.gen_simple_axis(mode:mode,trigger:trigger,gen_en:gen_en,length:length,led:led,axis_out:axis_out,down_stream:down_stream)
    else
        AxiStream.NC.gen_simple_axis(mode:mode,trigger:trigger,gen_en:gen_en,length:length,led:led,axis_out:axis_out,down_stream:down_stream)
    end
    return return_stream
end
leave_empty(curr_type: :master,dsize:8,clock:"",reset:"",belong_to_module:nil) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 164
def self.leave_empty(curr_type: :master,dsize:8,clock:"",reset:"",belong_to_module:nil)
    nc = belong_to_module.Def.axi_stream(name:"empty_#{belong_to_module.AxiStream_NC.signal}",dsize:dsize,clock:clock,reset:reset)
    # puts belong_to_module.module_name
    if curr_type.to_sym == :slaver
        self.axis_master_empty(master:nc)
    elsif curr_type.to_sym == :master
        self.axis_slaver_empty(slaver:nc)
    else
        raise TdlError.new("\n\n Axi Stream don't has this type << #{type} >> \n\n")
    end

    return nc
end
leave_master_empty(*ss) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 158
def self.leave_master_empty(*ss)
    ss.each do |e|
        self.axis_slaver_empty(slaver:e)
    end
end
leave_slaver_empty(*ms) click to toggle source

—- new ————–

# File lib/tdl/elements/axi_stream.rb, line 151
def self.leave_slaver_empty(*ms)
    ms.each do |e|
        # puts e
        self.axis_master_empty(master:e)
    end
end
master_empty(*ms) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 136
def self.master_empty(*ms)
    ms.each do |e|
        # puts e
        self.axis_master_empty(master:e)
    end
end
new(name:"test_axis",clock:nil,reset:nil,dsize:nil,port:false,dimension:[],freqM:nil) click to toggle source
Calls superclass method CLKInfElm::new
# File lib/tdl/elements/axi_stream.rb, line 14
def initialize(name:"test_axis",clock:nil,reset:nil,dsize:nil,port:false,dimension:[],freqM:nil)
    name_legal?(name)
    super(dimension:dimension,clock:clock,reset:reset,freqM:freqM)
    @name = name.to_s
    # @id = GlobalParam.CurrTdlModule.BindEleClassVars.AxiStream.id

    @port = port
    # raise TdlError.new("AXI STREAM CLOCK ERROR >>#{clock.class}<<") unless clock.is_a? Clock
    # raise TdlError.new("AXI STREAM RESET ERROR") unless reset.is_a? Reset
    # raise TdlError.new("AXI STREAM DATA ERROR")  unless dsize.is_a? Fixnum

    @dsize = dsize

    unless port
        @dsize = dsize
        @clock = clock
        @reset = reset
    else
        if dimension.empty?
            @dsize = "#{name.to_s}.DSIZE".to_nq unless dsize
            @clock = "#{name.to_s}.aclk".to_nq  unless clock
            @reset = "#{name.to_s}.aresetn".to_nq unless reset
        else
            @dsize = "#{name.to_s}[0].DSIZE".to_nq unless dsize
            @clock = "#{name.to_s}[0].aclk".to_nq unless clock
            @reset = "#{name.to_s}[0].aresetn".to_nq unless reset
        end
    end
    # add_dsize_func
    # @correlation_proc = ""
    # @up_streams = []
    # if @port
    #     GlobalParam.CurrTdlModule.BindEleClassVars.AxiStream.ports << self
    # else
    #     GlobalParam.CurrTdlModule.BindEleClassVars.AxiStream.inst_stack << method(:inst).to_proc
    # end
    # @interconnect_up_streams = []

    # GlobalParam.CurrTdlModule.BindEleClassVars.AxiStream.draw_stack << method(:draw).to_proc
end
parse_big_field_table(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/parse_big_field_table_auto.rb, line 51
def self.parse_big_field_table(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil)
    return_stream = nil
    
    if down_stream==nil && cm_tb_m=="cm_tb_m"
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy(name:"cm_tb_m")
        else
            down_stream = cm_tb_s.copy(name:"cm_tb_m")
        end
        return_stream = down_stream
    end

    
    if up_stream==nil && cm_tb_s=="cm_tb_s"
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy(name:"cm_tb_s")
        else
            up_stream = cm_tb_m.copy(name:"cm_tb_s")
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.parse_big_field_table(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream)
    elsif cm_tb_m.is_a? AxiStream
        cm_tb_m.parse_big_field_table(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream)
    else
        AxiStream.NC.parse_big_field_table(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream)
    end
    return return_stream
end
parse_big_field_table_a1(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/parse_big_field_table_A1_auto.rb, line 51
def self.parse_big_field_table_a1(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil)
    return_stream = nil
    
    if down_stream==nil && cm_tb_m=="cm_tb_m"
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy(name:"cm_tb_m")
        else
            down_stream = cm_tb_s.copy(name:"cm_tb_m")
        end
        return_stream = down_stream
    end

    
    if up_stream==nil && cm_tb_s=="cm_tb_s"
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy(name:"cm_tb_s")
        else
            up_stream = cm_tb_m.copy(name:"cm_tb_s")
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.parse_big_field_table_a1(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream)
    elsif cm_tb_m.is_a? AxiStream
        cm_tb_m.parse_big_field_table_a1(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream)
    else
        AxiStream.NC.parse_big_field_table_a1(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream)
    end
    return return_stream
end
parse_big_field_table_a2(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/parse_big_field_table_A2_auto.rb, line 51
def self.parse_big_field_table_a2(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil)
    return_stream = nil
    
    if down_stream==nil && cm_tb_m=="cm_tb_m"
        if up_stream.is_a? AxiStream
            down_stream = up_stream.copy(name:"cm_tb_m")
        else
            down_stream = cm_tb_s.copy(name:"cm_tb_m")
        end
        return_stream = down_stream
    end

    
    if up_stream==nil && cm_tb_s=="cm_tb_s"
        if down_stream.is_a? AxiStream
            up_stream = down_stream.copy(name:"cm_tb_s")
        else
            up_stream = cm_tb_m.copy(name:"cm_tb_s")
        end
        return_stream = up_stream
    end

    
    if down_stream.is_a? AxiStream
        down_stream.parse_big_field_table_a2(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream)
    elsif cm_tb_m.is_a? AxiStream
        cm_tb_m.parse_big_field_table_a2(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream)
    else
        AxiStream.NC.parse_big_field_table_a2(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream)
    end
    return return_stream
end
parse_ports(port_array=nil) { |h| ... } click to toggle source
Calls superclass method InfElm::parse_ports
# File lib/tdl/elements/axi_stream.rb, line 183
def self.parse_ports(port_array=nil)
    rep = /(?<up_down>\(\*\s+(?<ud_name>axis_up|axis_down|up_stream|down_stream)\s*=\s*"true"\s+\*\))?\s*(axi_stream_inf\.)(?<modport>master|slaver|mirror|out_mirror)\s+(?<name>\w+)\s*(?<vector>\[.*?\])?/m
    up_stream_rep = Regexp.union(/axis_up/,/up_stream/)

    super(port_array,rep,"axi_stream_inf",up_stream_rep) do |h|
        h[:type]   = AxiStream
        # puts h
        yield h
    end
end
slaver_empty(*ss) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 143
def self.slaver_empty(*ss)
    ss.each do |e|
        self.axis_slaver_empty(slaver:e)
    end
end
stream_crc(crc:"crc",axis_in:"axis_in") click to toggle source
# File lib/tdl/axi_stream/bak/stream_crc_auto.rb, line 35
def self.stream_crc(crc:"crc",axis_in:"axis_in")
    return_stream = nil
    
    
    AxiStream.NC._stream_crc(crc:crc,axis_in:axis_in)
    return return_stream
end
string_copy_inf(strs,belong_to_module) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 125
def self.string_copy_inf(strs,belong_to_module)
    @@_str_cp_id ||= 0
    a = belong_to_module.Def.axi_stream(name:"string_copy_axis_#{@@_str_cp_id}",clock:"#{strs}.aclk",reset:"#{strs}.aresetn",dsize:"#{strs}.dsize")
    @@_str_cp_id += 1
    a
end
udp_server_bfm(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf") click to toggle source
# File lib/tdl/axi_stream/bak/udp_server_bfm_auto.rb, line 30
def self.udp_server_bfm(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf")
    return_stream = nil
    
    
    NC._udp_server_bfm(tx_udp_inf:tx_udp_inf,rx_udp_inf:rx_udp_inf)
    return return_stream
end
udp_server_ctrl_bfm(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf") click to toggle source
# File lib/tdl/axi_stream/bak/udp_server_ctrl_bfm_auto.rb, line 30
def self.udp_server_ctrl_bfm(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf")
    return_stream = nil
    
    
    NC._udp_server_ctrl_bfm(tx_udp_inf:tx_udp_inf,rx_udp_inf:rx_udp_inf)
    return return_stream
end
video_stream_2_axi_stream(video_slaver:nil,axis_master:nil,mode:"LINE") click to toggle source
# File lib/tdl/VideoInf/video_stream_2_axi_stream.rb, line 51
def self.video_stream_2_axi_stream(video_slaver:nil,axis_master:nil,mode:"LINE")
    VideoInf.video_stream_2_axi_stream(video_slaver:video_slaver,axis_master:axis_master,mode:"LINE")
end
wide_axis_to_axi4_wr( addr:"addr", max_length:"max_length", axis_in:"axis_in", axi_wr:"axi_wr", belong_to_module:nil ) click to toggle source
# File lib/tdl/axi4/wide_axis_to_axi4_wr.rb, line 64
def self.wide_axis_to_axi4_wr(
    addr:"addr",
    max_length:"max_length",
    axis_in:"axis_in",
    axi_wr:"axi_wr",
    belong_to_module:nil
    )
    return_stream = nil
    belong_to_module = [axis_in].first.belong_to_module unless belong_to_module


    belong_to_module.AxiStream_NC._wide_axis_to_axi4_wr(
        addr:addr,
        max_length:max_length,
        axis_in:axis_in,
        axi_wr:axi_wr)
    return return_stream
end

Public Instance Methods

%(plength) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 446
def %(plength)
    raise TdlError.new("#{plength} is not a Integer") unless plength.is_a? Integer

    down_stream = self.copy(name:"partition")
    AxiStream.axi_stream_partition(valve:"1'b1",partition_len:plength,req_new_len:"",up_stream:self,down_stream:down_stream)

    return down_stream
end
*(num) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 429
def *(num)
    raise TdlError.new("#{num} is not a Integer") unless num.is_a? Integer
    div_mul(num,"*")
end
+(other_stream) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 421
def +(other_stream)
    raise TdlError.new("#{other_stream} is not a AxiStream") unless other_stream.is_a? AxiStream
    master_stream = self.copy(name:"#{name}_scaler_m00")
    # AxiStream.axi_streams_scaler(mode:"HEAD",cut_or_combin_body:"OFF",dsize:@dsize,new_body_len:"16'hFFFF",head_inf:self,body_inf:other_stream,end_inf:self.copy(name:"tmp"),m00:master_stream)
    AxiStream.axi_streams_scaler_a1(mode:"HEAD",cut_or_combin_body:"OFF",new_body_len:"16'hFFFF",head_inf:self,body_inf:other_stream,end_inf:self.copy(name:"tmp"),m00:master_stream)
    return master_stream
end
/(num) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 434
def /(num)
    raise TdlError.new("#{num} is not a Integer") unless num.is_a? Integer
    div_mul(num,"/")
end
<<(*up_streams) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 22
def <<(*up_streams)
    @interconnect_up_streams ||= []
    push_to_stack
    up_streams.each do |e|
        # next unless e.is_a? AxiStream
        if e.is_a? AxiStream
            raise TdlError.new("AxiStream << [sub..] sub.dimension must 1") unless dimension_num(e).eql?(1)
            @interconnect_up_streams << e
            check_branch_num
        end 

        if e.is_a? TdlSpace::ArrayChain
            if e.obj.is_a? AxiStream
                @interconnect_up_streams << e
                check_branch_num
            end 
        end
    end
end
>>(down_stream) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 42
def >>(down_stream)
    down_stream.<< self
end
__inf_signal__(name) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 518
def __inf_signal__(name)
    raise TdlError.new("\nARRAY Don't have '#{name}'\n") unless @dimension.empty?
    # puts "--------------"
    # puts $new_m.instance_variable_get("@port_axisinfs")
    # puts "============="
    NqString.new(signal.concat ".#{name}")
    # signal.concat ".#{name}"
end
_axi4_rd_auxiliary_gen( id_add_len_in:"id_add_len_in", axi_rd_aux:"axi_rd_aux" ) click to toggle source
# File lib/tdl/axi4/axi4_rd_auxiliary_gen_auto.rb, line 9
def _axi4_rd_auxiliary_gen(
    id_add_len_in:"id_add_len_in",
    axi_rd_aux:"axi_rd_aux"
)

    Tdl.add_to_all_file_paths('axi4_rd_auxiliary_gen','../../axi/AXI4/axi4_rd_auxiliary_gen.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi4_rd_auxiliary_gen','../../axi/AXI4/axi4_rd_auxiliary_gen.sv'])
    return_stream = self
    
    id_add_len_in = AxiStream.same_name_socket(:from_up,mix=true,id_add_len_in,nil,belong_to_module) unless id_add_len_in.is_a? String
    axi_rd_aux = Axi4.same_name_socket(:mirror,mix=true,axi_rd_aux,nil,belong_to_module) unless axi_rd_aux.is_a? String
    
    
    


    belong_to_module.AxiStream_draw << _axi4_rd_auxiliary_gen_draw(
        id_add_len_in:id_add_len_in,
        axi_rd_aux:axi_rd_aux)
    return return_stream
end
_axi4_wr_auxiliary_gen_without_resp( stream_en:"stream_en", id_add_len_in:"id_add_len_in", axi_wr_aux:"axi_wr_aux" ) click to toggle source
# File lib/tdl/axi4/axi4_wr_auxiliary_gen_without_resp_auto.rb, line 9
def _axi4_wr_auxiliary_gen_without_resp(
    stream_en:"stream_en",
    id_add_len_in:"id_add_len_in",
    axi_wr_aux:"axi_wr_aux"
)

    Tdl.add_to_all_file_paths('axi4_wr_auxiliary_gen_without_resp','../../axi/AXI4/axi4_wr_auxiliary_gen_without_resp.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi4_wr_auxiliary_gen_without_resp','../../axi/AXI4/axi4_wr_auxiliary_gen_without_resp.sv'])
    return_stream = self
    
    id_add_len_in = AxiStream.same_name_socket(:from_up,mix=true,id_add_len_in,nil,belong_to_module) unless id_add_len_in.is_a? String
    axi_wr_aux = Axi4.same_name_socket(:mirror,mix=true,axi_wr_aux,nil,belong_to_module) unless axi_wr_aux.is_a? String
    
    
    


    belong_to_module.AxiStream_draw << _axi4_wr_auxiliary_gen_without_resp_draw(
        stream_en:stream_en,
        id_add_len_in:id_add_len_in,
        axi_wr_aux:axi_wr_aux)
    return return_stream
end
_axi_stream_interconnect_m2s( num:8, addr:"addr", s00:"s00", m00:"m00" ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_M2S.rb, line 9
def _axi_stream_interconnect_m2s(
    num:8,
    addr:"addr",
    s00:"s00",
    m00:"m00"
)
    num = dimension_num(s00)
    Tdl.add_to_all_file_paths('axi_stream_interconnect_m2s','../../axi/AXI_stream/axi_stream_interconnect_M2S.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_interconnect_m2s','../../axi/AXI_stream/axi_stream_interconnect_M2S.sv'])
    return_stream = self

    s00 = AxiStream.same_name_socket(:from_up,mix=false,s00) unless s00.is_a? String
    m00 = AxiStream.same_name_socket(:to_down,mix=true,m00) unless m00.is_a? String





    belong_to_module.AxiStream_draw << _axi_stream_interconnect_m2s_draw(
        num:num,
        addr:addr,
        s00:s00,
        m00:m00)
    return return_stream
end
_axi_stream_interconnect_s2m( num:8, addr:"addr", s00:"s00", m00:"m00" ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_S2M.rb, line 9
def _axi_stream_interconnect_s2m(
    num:8,
    addr:"addr",
    s00:"s00",
    m00:"m00"
)
    num = dimension_num(m00)
    
    Tdl.add_to_all_file_paths('axi_stream_interconnect_s2m','../../axi/AXI_stream/axi_stream_interconnect_S2M.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_interconnect_s2m','../../axi/AXI_stream/axi_stream_interconnect_S2M.sv'])
    return_stream = self

    s00 = AxiStream.same_name_socket(:from_up,mix=true,s00) unless s00.is_a? String
    m00 = AxiStream.same_name_socket(:to_down,mix=false,m00) unless m00.is_a? String





    belong_to_module.AxiStream_draw << _axi_stream_interconnect_s2m_draw(
        num:num,
        addr:addr,
        s00:s00,
        m00:m00)
    return return_stream
end
_axi_stream_interconnect_s2m_auto( head_dummy:4, num:4, slaver:"slaver", sub_tx_inf:"sub_tx_inf", up_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_S2M_auto_auto.rb, line 9
def _axi_stream_interconnect_s2m_auto(
    head_dummy:4,
    num:4,
    slaver:"slaver",
    sub_tx_inf:"sub_tx_inf",
    up_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_interconnect_s2m_auto','../../axi/AXI_stream/axi_stream_interconnect_S2M_auto.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_interconnect_s2m_auto','../../axi/AXI_stream/axi_stream_interconnect_S2M_auto.sv'])
    return_stream = self
    
    slaver = AxiStream.same_name_socket(:from_up,mix=true,slaver,nil,belong_to_module) unless slaver.is_a? String
    sub_tx_inf = AxiStream.same_name_socket(:to_down,mix=false,sub_tx_inf,nil,belong_to_module) unless sub_tx_inf.is_a? String
    
    slaver = up_stream if up_stream
    


    belong_to_module.AxiStream_draw << _axi_stream_interconnect_s2m_auto_draw(
        head_dummy:head_dummy,
        num:num,
        slaver:slaver,
        sub_tx_inf:sub_tx_inf,
        up_stream:up_stream)
    return return_stream
end
_axi_stream_interconnect_s2m_with_keep( num:8, nsize:"NUM <= 2? 1 :", addr:"addr", s00:"s00", m00:"m00" ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_S2M_with_keep.sv_auto.rb, line 9
def _axi_stream_interconnect_s2m_with_keep(
    num:8,
    nsize:"NUM <= 2? 1 :",
    addr:"addr",
    s00:"s00",
    m00:"m00"
)

    Tdl.add_to_all_file_paths('axi_stream_interconnect_s2m_with_keep','../../axi/AXI_stream/axi_stream_interconnect_S2M_with_keep.sv.bak')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_interconnect_s2m_with_keep','../../axi/AXI_stream/axi_stream_interconnect_S2M_with_keep.sv.bak'])
    return_stream = self
    
    s00 = AxiStream.same_name_socket(:from_up,mix=true,s00,nil,belong_to_module) unless s00.is_a? String
    m00 = AxiStream.same_name_socket(:to_down,mix=false,m00,nil,belong_to_module) unless m00.is_a? String
    
    
    


    belong_to_module.AxiStream_draw << _axi_stream_interconnect_s2m_with_keep_draw(
        num:num,
        nsize:nsize,
        addr:addr,
        s00:s00,
        m00:m00)
    return return_stream
end
_axis_full_to_data_c( data_out_inf:"data_out_inf", axis_in:"axis_in" ) click to toggle source
# File lib/tdl/axi_stream/axis_full_to_data_c_auto.rb, line 9
def _axis_full_to_data_c(
    data_out_inf:"data_out_inf",
    axis_in:"axis_in"
)

    Tdl.add_to_all_file_paths('axis_full_to_data_c','../../axi/AXI_stream/axis_full_to_data_c.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_full_to_data_c','../../axi/AXI_stream/axis_full_to_data_c.sv'])
    return_stream = self
    
    data_out_inf = DataInf_C.same_name_socket(:to_down,mix=true,data_out_inf,nil,belong_to_module) unless data_out_inf.is_a? String
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    
    
    


    belong_to_module.AxiStream_draw << _axis_full_to_data_c_draw(
        data_out_inf:data_out_inf,
        axis_in:axis_in)
    return return_stream
end
_axis_slaver_empty( slaver:"slaver", up_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_slaver_empty_auto.rb, line 9
def _axis_slaver_empty(
    slaver:"slaver",
    up_stream:nil
)

    Tdl.add_to_all_file_paths('axis_slaver_empty','../../axi/AXI_stream/axis_slaver_empty.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_slaver_empty','../../axi/AXI_stream/axis_slaver_empty.sv'])
    return_stream = self
    
    slaver = AxiStream.same_name_socket(:from_up,mix=true,slaver,nil,belong_to_module) unless slaver.is_a? String
    
    slaver = up_stream if up_stream
    


    belong_to_module.AxiStream_draw << _axis_slaver_empty_draw(
        slaver:slaver,
        up_stream:up_stream)
    return return_stream
end
_axis_to_axi4_or_lite( lite:"lite", axis_in:"axis_in", rd_rel_axis:"rd_rel_axis", axi4:"axi4" ) click to toggle source
# File lib/tdl/axi_stream/axis_to_axi4_or_lite_auto.rb, line 9
def _axis_to_axi4_or_lite(
    lite:"lite",
    axis_in:"axis_in",
    rd_rel_axis:"rd_rel_axis",
    axi4:"axi4"
)

    Tdl.add_to_all_file_paths('axis_to_axi4_or_lite','../../axi/AXI_stream/axis_to_axi4_or_lite.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_to_axi4_or_lite','../../axi/AXI_stream/axis_to_axi4_or_lite.sv'])
    return_stream = self
    
    lite = AxiLite.same_name_socket(:to_down,mix=true,lite,nil,belong_to_module) unless lite.is_a? String
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    rd_rel_axis = AxiStream.same_name_socket(:to_down,mix=true,rd_rel_axis,nil,belong_to_module) unless rd_rel_axis.is_a? String
    axi4 = Axi4.same_name_socket(:to_down,mix=true,axi4,nil,belong_to_module) unless axi4.is_a? String
    
    
    


    belong_to_module.AxiStream_draw << _axis_to_axi4_or_lite_draw(
        lite:lite,
        axis_in:axis_in,
        rd_rel_axis:rd_rel_axis,
        axi4:axi4)
    return return_stream
end
_axis_to_axi4_wr( addr:"addr", max_length:"max_length", axis_in:"axis_in", axi_wr:"axi_wr" ) click to toggle source
# File lib/tdl/axi4/axis_to_axi4_wr_auto.rb, line 9
def _axis_to_axi4_wr(
    addr:"addr",
    max_length:"max_length",
    axis_in:"axis_in",
    axi_wr:"axi_wr"
)

    Tdl.add_to_all_file_paths('axis_to_axi4_wr','../../axi/AXI4/axis_to_axi4_wr.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_to_axi4_wr','../../axi/AXI4/axis_to_axi4_wr.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axi_wr = Axi4.same_name_socket(:mirror,mix=true,axi_wr,nil,belong_to_module) unless axi_wr.is_a? String
    
    
    


    belong_to_module.AxiStream_draw << _axis_to_axi4_wr_draw(
        addr:addr,
        max_length:max_length,
        axis_in:axis_in,
        axi_wr:axi_wr)
    return return_stream
end
_axis_to_data_inf( contain_last:"OFF", data_out_inf:"data_out_inf", axis_in:"axis_in" ) click to toggle source
# File lib/tdl/axi_stream/axis_to_data_inf_auto.rb, line 9
def _axis_to_data_inf(
    contain_last:"OFF",
    data_out_inf:"data_out_inf",
    axis_in:"axis_in"
)

    Tdl.add_to_all_file_paths('axis_to_data_inf','../../axi/AXI_stream/axis_to_data_inf.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_to_data_inf','../../axi/AXI_stream/axis_to_data_inf.sv'])
    return_stream = self
    
    data_out_inf = DataInf_C.same_name_socket(:to_down,mix=true,data_out_inf,nil,belong_to_module) unless data_out_inf.is_a? String
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    
    
    


    belong_to_module.AxiStream_draw << _axis_to_data_inf_draw(
        contain_last:contain_last,
        data_out_inf:data_out_inf,
        axis_in:axis_in)
    return return_stream
end
_axis_to_lite_rd( dummy:8, lite:"lite", axis_in:"axis_in", rd_rel_axis:"rd_rel_axis" ) click to toggle source
# File lib/tdl/axi_stream/axis_to_lite_rd_auto.rb, line 9
def _axis_to_lite_rd(
    dummy:8,
    lite:"lite",
    axis_in:"axis_in",
    rd_rel_axis:"rd_rel_axis"
)

    Tdl.add_to_all_file_paths('axis_to_lite_rd','../../axi/AXI_stream/axis_to_lite_rd.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_to_lite_rd','../../axi/AXI_stream/axis_to_lite_rd.sv'])
    return_stream = self
    
    lite = AxiLite.same_name_socket(:mirror,mix=true,lite,nil,belong_to_module) unless lite.is_a? String
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    rd_rel_axis = AxiStream.same_name_socket(:to_down,mix=true,rd_rel_axis,nil,belong_to_module) unless rd_rel_axis.is_a? String
    
    
    


    belong_to_module.AxiStream_draw << _axis_to_lite_rd_draw(
        dummy:dummy,
        lite:lite,
        axis_in:axis_in,
        rd_rel_axis:rd_rel_axis)
    return return_stream
end
_axis_to_lite_wr( dummy:8, lite:"lite", axis_in:"axis_in" ) click to toggle source
# File lib/tdl/axi_stream/axis_to_lite_wr_auto.rb, line 9
def _axis_to_lite_wr(
    dummy:8,
    lite:"lite",
    axis_in:"axis_in"
)

    Tdl.add_to_all_file_paths('axis_to_lite_wr','../../axi/AXI_stream/axis_to_lite_wr.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_to_lite_wr','../../axi/AXI_stream/axis_to_lite_wr.sv'])
    return_stream = self
    
    lite = AxiLite.same_name_socket(:mirror,mix=true,lite,nil,belong_to_module) unless lite.is_a? String
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    
    
    


    belong_to_module.AxiStream_draw << _axis_to_lite_wr_draw(
        dummy:dummy,
        lite:lite,
        axis_in:axis_in)
    return return_stream
end
_axis_uncompress( asize:8, lsize:8, axis_zip:"axis_zip", axis_unzip:"axis_unzip" ) click to toggle source
# File lib/tdl/axi_stream/axis_uncompress_auto.rb, line 9
def _axis_uncompress(
    asize:8,
    lsize:8,
    axis_zip:"axis_zip",
    axis_unzip:"axis_unzip"
)

    Tdl.add_to_all_file_paths('axis_uncompress','../../axi/AXI_stream/axis_uncompress.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_uncompress','../../axi/AXI_stream/axis_uncompress.sv'])
    return_stream = self
    
    axis_zip = AxiStream.same_name_socket(:from_up,mix=true,axis_zip,nil,belong_to_module) unless axis_zip.is_a? String
    axis_unzip = AxiStream.same_name_socket(:to_down,mix=true,axis_unzip,nil,belong_to_module) unless axis_unzip.is_a? String
    
    
    


    belong_to_module.AxiStream_draw << _axis_uncompress_draw(
        asize:asize,
        lsize:lsize,
        axis_zip:axis_zip,
        axis_unzip:axis_unzip)
    return return_stream
end
_check_stream_crc(axis_in:"axis_in") click to toggle source
# File lib/tdl/axi_stream/bak/check_stream_crc_auto.rb, line 9
def _check_stream_crc(axis_in:"axis_in")

    Tdl.add_to_all_file_paths(['check_stream_crc','../../axi/AXI_stream/check_stream_crc.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:mirror,mix=true,axis_in) unless axis_in.is_a? String
    
    
    

     @instance_draw_stack << lambda { _check_stream_crc_draw(axis_in:axis_in) }
    return return_stream
end
_check_stream_crc_draw(axis_in:"axis_in") click to toggle source
# File lib/tdl/axi_stream/bak/check_stream_crc_auto.rb, line 23
    def _check_stream_crc_draw(axis_in:"axis_in")

        large_name_len(axis_in)
"
// FilePath:::../../axi/AXI_stream/check_stream_crc.sv
check_stream_crc check_stream_crc_#{signal}_inst(
/*  axi_stream_inf.mirror*/ .axis_in (#{align_signal(axis_in,q_mark=false)})
);
"
    end
_data_c_to_axis_full( data_in_inf:"data_in_inf", axis_out:"axis_out" ) click to toggle source
# File lib/tdl/axi_stream/data_c_to_axis_full_auto.rb, line 9
def _data_c_to_axis_full(
    data_in_inf:"data_in_inf",
    axis_out:"axis_out"
)

    Tdl.add_to_all_file_paths('data_c_to_axis_full','../../axi/AXI_stream/data_c_to_axis_full.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['data_c_to_axis_full','../../axi/AXI_stream/data_c_to_axis_full.sv'])
    return_stream = self
    
    data_in_inf = DataInf_C.same_name_socket(:from_up,mix=true,data_in_inf,nil,belong_to_module) unless data_in_inf.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    
    


    belong_to_module.AxiStream_draw << _data_c_to_axis_full_draw(
        data_in_inf:data_in_inf,
        axis_out:axis_out)
    return return_stream
end
_data_to_axis_inf(mark_curr_data:"mark_curr_data",last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master") click to toggle source
# File lib/tdl/axi_stream/bak/data_to_axis_inf_auto.rb, line 9
def _data_to_axis_inf(mark_curr_data:"mark_curr_data",last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master")

    Tdl.add_to_all_file_paths(['data_to_axis_inf','../../axi/AXI_stream/data_to_axis_inf.sv'])
    return_stream = self
    
    data_slaver = DataInf_C.same_name_socket(:from_up,mix=true,data_slaver) unless data_slaver.is_a? String
    axis_master = AxiStream.same_name_socket(:to_down,mix=true,axis_master) unless axis_master.is_a? String
    
    
    

     @instance_draw_stack << lambda { _data_to_axis_inf_draw(mark_curr_data:mark_curr_data,last_flag:last_flag,data_slaver:data_slaver,axis_master:axis_master) }
    return return_stream
end
_data_to_axis_inf_a1(last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master") click to toggle source
# File lib/tdl/axi_stream/bak/data_to_axis_inf_A1.rb, line 9
def _data_to_axis_inf_a1(last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master")



    $_draw = lambda { _data_to_axis_inf_a1_draw(last_flag:last_flag,data_slaver:data_slaver,axis_master:axis_master) }
    @correlation_proc += $_draw.call
    return self
end
_data_to_axis_inf_a1_draw(last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master") click to toggle source
# File lib/tdl/axi_stream/bak/data_to_axis_inf_A1.rb, line 18
    def _data_to_axis_inf_a1_draw(last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master")
        large_name_len(last_flag,data_slaver,axis_master)
"
data_to_axis_inf_A1 data_to_axis_inf_a1_#{signal}_inst(
/*  input                */ .last_flag   (#{align_signal(last_flag,q_mark=false)}),
/*  data_inf_c.slaver    */ .data_slaver (#{align_signal(data_slaver,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_master (#{align_signal(axis_master,q_mark=false)})
);
"
    end
_data_to_axis_inf_draw(mark_curr_data:"mark_curr_data",last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master") click to toggle source
# File lib/tdl/axi_stream/bak/data_to_axis_inf_auto.rb, line 24
    def _data_to_axis_inf_draw(mark_curr_data:"mark_curr_data",last_flag:"last_flag",data_slaver:"data_slaver",axis_master:"axis_master")

        large_name_len(mark_curr_data,last_flag,data_slaver,axis_master)
"
// FilePath:::../../axi/AXI_stream/data_to_axis_inf.sv
data_to_axis_inf data_to_axis_inf_#{signal}_inst(
/*  input                */ .mark_curr_data (#{align_signal(mark_curr_data,q_mark=false)}),
/*  input                */ .last_flag      (#{align_signal(last_flag,q_mark=false)}),
/*  data_inf_c.slaver    */ .data_slaver    (#{align_signal(data_slaver,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_master    (#{align_signal(axis_master,q_mark=false)})
);
"
    end
_dynamic_port_cfg(udp_port:"udp_port",port_index:"port_index",valid:"valid",tap_ex_udp_ctrl_inf:"tap_ex_udp_ctrl_inf",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf") click to toggle source
# File lib/tdl/axi_stream/bak/dynamic_port_cfg_auto.rb, line 9
def _dynamic_port_cfg(udp_port:"udp_port",port_index:"port_index",valid:"valid",tap_ex_udp_ctrl_inf:"tap_ex_udp_ctrl_inf",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf")
    return_stream = self
    
    
    

    $_draw = lambda { _dynamic_port_cfg_draw(udp_port:udp_port,port_index:port_index,valid:valid,tap_ex_udp_ctrl_inf:tap_ex_udp_ctrl_inf,tap_local_udp_ctrl_inf:tap_local_udp_ctrl_inf,tap_broadcast_udp_inf:tap_broadcast_udp_inf,send_inf:send_inf) }
    @correlation_proc += $_draw.call
    return return_stream
end
_dynamic_port_cfg_draw(udp_port:"udp_port",port_index:"port_index",valid:"valid",tap_ex_udp_ctrl_inf:"tap_ex_udp_ctrl_inf",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf") click to toggle source
# File lib/tdl/axi_stream/bak/dynamic_port_cfg_auto.rb, line 20
    def _dynamic_port_cfg_draw(udp_port:"udp_port",port_index:"port_index",valid:"valid",tap_ex_udp_ctrl_inf:"tap_ex_udp_ctrl_inf",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf")
        large_name_len(udp_port,port_index,valid,tap_ex_udp_ctrl_inf,tap_local_udp_ctrl_inf,tap_broadcast_udp_inf,send_inf)
"
dynamic_port_cfg dynamic_port_cfg_#{signal}_inst(
/*  output [15:0]        */ .udp_port               (#{align_signal(udp_port,q_mark=false)}),
/*  output [7:0]         */ .port_index             (#{align_signal(port_index,q_mark=false)}),
/*  output               */ .valid                  (#{align_signal(valid,q_mark=false)}),
/*  axi_stream_inf.mirror*/ .tap_ex_udp_ctrl_inf    (#{align_signal(tap_ex_udp_ctrl_inf,q_mark=false)}),
/*  axi_stream_inf.mirror*/ .tap_local_udp_ctrl_inf (#{align_signal(tap_local_udp_ctrl_inf,q_mark=false)}),
/*  axi_stream_inf.mirror*/ .tap_broadcast_udp_inf  (#{align_signal(tap_broadcast_udp_inf,q_mark=false)}),
/*  axi_stream_inf.master*/ .send_inf               (#{align_signal(send_inf,q_mark=false)})
);
"
    end
_dynnamic_addr_cfg(server_ip:"server_ip",server_mac:"server_mac",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf") click to toggle source
# File lib/tdl/axi_stream/bak/dynnamic_addr_cfg_auto.rb, line 9
def _dynnamic_addr_cfg(server_ip:"server_ip",server_mac:"server_mac",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf")
    return_stream = self
    
    
    

    $_draw = lambda { _dynnamic_addr_cfg_draw(server_ip:server_ip,server_mac:server_mac,tap_local_udp_ctrl_inf:tap_local_udp_ctrl_inf,tap_broadcast_udp_inf:tap_broadcast_udp_inf,send_inf:send_inf) }
    @correlation_proc += $_draw.call
    return return_stream
end
_dynnamic_addr_cfg_draw(server_ip:"server_ip",server_mac:"server_mac",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf") click to toggle source
# File lib/tdl/axi_stream/bak/dynnamic_addr_cfg_auto.rb, line 20
    def _dynnamic_addr_cfg_draw(server_ip:"server_ip",server_mac:"server_mac",tap_local_udp_ctrl_inf:"tap_local_udp_ctrl_inf",tap_broadcast_udp_inf:"tap_broadcast_udp_inf",send_inf:"send_inf")
        large_name_len(server_ip,server_mac,tap_local_udp_ctrl_inf,tap_broadcast_udp_inf,send_inf)
"
dynnamic_addr_cfg dynnamic_addr_cfg_#{signal}_inst(
/*  output [31:0]        */ .server_ip              (#{align_signal(server_ip,q_mark=false)}),
/*  output [47:0]        */ .server_mac             (#{align_signal(server_mac,q_mark=false)}),
/*  axi_stream_inf.mirror*/ .tap_local_udp_ctrl_inf (#{align_signal(tap_local_udp_ctrl_inf,q_mark=false)}),
/*  axi_stream_inf.mirror*/ .tap_broadcast_udp_inf  (#{align_signal(tap_broadcast_udp_inf,q_mark=false)}),
/*  axi_stream_inf.master*/ .send_inf               (#{align_signal(send_inf,q_mark=false)})
);
"
    end
_stream_crc(crc:"crc",axis_in:"axis_in") click to toggle source
# File lib/tdl/axi_stream/bak/stream_crc_auto.rb, line 9
def _stream_crc(crc:"crc",axis_in:"axis_in")

    Tdl.add_to_all_file_paths(['stream_crc','../../axi/AXI_stream/stream_crc.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:mirror,mix=true,axis_in) unless axis_in.is_a? String
    
    
    

     @instance_draw_stack << lambda { _stream_crc_draw(crc:crc,axis_in:axis_in) }
    return return_stream
end
_stream_crc_draw(crc:"crc",axis_in:"axis_in") click to toggle source
# File lib/tdl/axi_stream/bak/stream_crc_auto.rb, line 23
    def _stream_crc_draw(crc:"crc",axis_in:"axis_in")

        large_name_len(crc,axis_in)
"
// FilePath:::../../axi/AXI_stream/stream_crc.sv
stream_crc stream_crc_#{signal}_inst(
/*  output [31:0]        */ .crc     (#{align_signal(crc,q_mark=false)}),
/*  axi_stream_inf.mirror*/ .axis_in (#{align_signal(axis_in,q_mark=false)})
);
"
    end
_udp_server_bfm(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf") click to toggle source
# File lib/tdl/axi_stream/bak/udp_server_bfm_auto.rb, line 9
def _udp_server_bfm(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf")
    return_stream = self
    
    
    

    $_draw = lambda { _udp_server_bfm_draw(tx_udp_inf:tx_udp_inf,rx_udp_inf:rx_udp_inf) }
    @correlation_proc += $_draw.call
    return return_stream
end
_udp_server_bfm_draw(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf") click to toggle source
# File lib/tdl/axi_stream/bak/udp_server_bfm_auto.rb, line 20
    def _udp_server_bfm_draw(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf")
        large_name_len(tx_udp_inf,rx_udp_inf)
"
udp_server_bfm udp_server_bfm_#{signal}_inst(
/*  axi_stream_inf.master*/ .tx_udp_inf (#{align_signal(tx_udp_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .rx_udp_inf (#{align_signal(rx_udp_inf,q_mark=false)})
);
"
    end
_udp_server_ctrl_bfm(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf") click to toggle source
# File lib/tdl/axi_stream/bak/udp_server_ctrl_bfm_auto.rb, line 9
def _udp_server_ctrl_bfm(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf")
    return_stream = self
    
    
    

    $_draw = lambda { _udp_server_ctrl_bfm_draw(tx_udp_inf:tx_udp_inf,rx_udp_inf:rx_udp_inf) }
    @correlation_proc += $_draw.call
    return return_stream
end
_udp_server_ctrl_bfm_draw(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf") click to toggle source
# File lib/tdl/axi_stream/bak/udp_server_ctrl_bfm_auto.rb, line 20
    def _udp_server_ctrl_bfm_draw(tx_udp_inf:"tx_udp_inf",rx_udp_inf:"rx_udp_inf")
        large_name_len(tx_udp_inf,rx_udp_inf)
"
udp_server_ctrl_bfm udp_server_ctrl_bfm_#{signal}_inst(
/*  axi_stream_inf.master*/ .tx_udp_inf (#{align_signal(tx_udp_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .rx_udp_inf (#{align_signal(rx_udp_inf,q_mark=false)})
);
"
    end
_wide_axis_to_axi4_wr( addr:"addr", max_length:"max_length", axis_in:"axis_in", axi_wr:"axi_wr" ) click to toggle source
# File lib/tdl/axi4/wide_axis_to_axi4_wr.rb, line 9
def _wide_axis_to_axi4_wr(
    addr:"addr",
    max_length:"max_length",
    axis_in:"axis_in",
    axi_wr:"axi_wr"
)

    # Tdl.add_to_all_file_paths('wide_axis_to_axi4_wr','../../axi/AXI4/wide_axis_to_axi4_wr.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['wide_axis_to_axi4_wr','../../axi/AXI4/wide_axis_to_axi4_wr.sv'])
    return_stream = self

    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axi_wr = Axi4.same_name_socket(:mirror,mix=true,axi_wr,nil,belong_to_module) unless axi_wr.is_a? String





    belong_to_module.AxiStream_draw << _wide_axis_to_axi4_wr_draw(
        addr:addr,
        max_length:max_length,
        axis_in:axis_in,
        axi_wr:axi_wr)
    return return_stream
end
aclk(n=0) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 529
def aclk(n=0)
    if @clock.is_a? Clock
        @clock
    else
        if dimension.empty?
            NqString.new(signal.concat ".aclk")
        else
            NqString.new(signal(n).concat ".aclk")
        end
    end
end
all_bits_slice(start: 8*4,length:32) click to toggle source

截取流数据段

# File lib/tdl/exlib/axis_eth_ex.rb, line 26
def all_bits_slice(start: 8*4,length:32)
    return AxiTdl::EthernetStreamDefAtom.new(belong_to_module: @belong_to_module, stream: self, start: start, length: length)
end
aresetn(n=0) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 541
def aresetn(n=0)
    if @reset.is_a? Reset
        @reset
    else
        if dimension.empty?
            NqString.new(signal.concat ".aresetn")
        else
            NqString.new(signal(n).concat ".aresetn")
        end
    end
end
array_chain_vld_rdy_inst(pre_str) click to toggle source
# File lib/tdl/rebuild_ele/axi_stream.rb, line 46
def array_chain_vld_rdy_inst(pre_str)
    "(#{pre_str}.axis_tvalid && #{pre_str}.axis_tready )".to_nq
end
array_chain_vld_rdy_last_inst(pre_str) click to toggle source
# File lib/tdl/rebuild_ele/axi_stream.rb, line 54
def array_chain_vld_rdy_last_inst(pre_str)
    "(#{pre_str}.axis_tvalid && #{pre_str}.axis_tready && #{pre_str}.axis_tlast)".to_nq
end
axi_stream_cache( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_auto.rb, line 9
def axi_stream_cache(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_cache','../../axi/AXI_stream/stream_cache/axi_stream_cache.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_cache','../../axi/AXI_stream/stream_cache/axi_stream_cache.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_cache(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_cache_draw(
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_cache_35bit( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_35bit_auto.rb, line 9
def axi_stream_cache_35bit(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_cache_35bit','../../axi/AXI_stream/stream_cache/axi_stream_cache_35bit.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_cache_35bit','../../axi/AXI_stream/stream_cache/axi_stream_cache_35bit.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_cache_35bit(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_cache_35bit_draw(
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_cache_72_95bit_with_keep( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_72_95bit_with_keep_auto.rb, line 9
def axi_stream_cache_72_95bit_with_keep(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_cache_72_95bit_with_keep','../../axi/AXI_stream/stream_cache/axi_stream_cache_72_95bit_with_keep.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_cache_72_95bit_with_keep','../../axi/AXI_stream/stream_cache/axi_stream_cache_72_95bit_with_keep.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_cache_72_95bit_with_keep(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_cache_72_95bit_with_keep_draw(
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_cache_b1( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_B1_auto.rb, line 9
def axi_stream_cache_b1(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_cache_b1','../../axi/AXI_stream/stream_cache/axi_stream_cache_B1.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_cache_b1','../../axi/AXI_stream/stream_cache/axi_stream_cache_B1.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_cache_b1(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_cache_b1_draw(
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_cache_mirror( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_mirror_auto.rb, line 9
def axi_stream_cache_mirror(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_cache_mirror','../../axi/AXI_stream/stream_cache/axi_stream_cache_mirror.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_cache_mirror','../../axi/AXI_stream/stream_cache/axi_stream_cache_mirror.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:mirror,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:mirror,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_cache_mirror(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_cache_mirror_draw(
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_cache_verb( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_verb_auto.rb, line 9
def axi_stream_cache_verb(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_cache_verb','../../axi/AXI_stream/stream_cache/axi_stream_cache_verb.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_cache_verb','../../axi/AXI_stream/stream_cache/axi_stream_cache_verb.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_cache_verb(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_cache_verb_draw(
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_interconnect_m2s_a1( num:nil, s00:"s00", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_M2S_A1.rb, line 9
def axi_stream_interconnect_m2s_a1(
    num:nil,
    s00:"s00",
    m00:"m00",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_interconnect_m2s_a1','../../axi/AXI_stream/axi_stream_interconnect_M2S_A1.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_interconnect_m2s_a1','../../axi/AXI_stream/axi_stream_interconnect_M2S_A1.sv'])
    return_stream = self

    s00 = AxiStream.same_name_socket(:from_up,mix=false,s00,nil,belong_to_module) unless s00.is_a? String
    m00 = AxiStream.same_name_socket(:to_down,mix=true,m00,nil,belong_to_module) unless m00.is_a? String

    if up_stream.nil? && s00.eql?("s00")
        up_stream = self.copy(name:"s00")
        return_stream = up_stream
    end

    s00 = up_stream if up_stream
    m00 = self unless self==belong_to_module.AxiStream_NC

    num = dimension_num(s00)  unless num

    belong_to_module.AxiStream_draw << axi_stream_interconnect_m2s_a1_draw(
        num:num,
        s00:s00,
        m00:m00,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_interconnect_m2s_bind_tuser( num:8, s00:"s00", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_M2S_bind_tuser_auto.rb, line 9
def axi_stream_interconnect_m2s_bind_tuser(
    num:8,
    s00:"s00",
    m00:"m00",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_interconnect_m2s_bind_tuser','../../axi/AXI_stream/axi_stream_interconnect_M2S_bind_tuser.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_interconnect_m2s_bind_tuser','../../axi/AXI_stream/axi_stream_interconnect_M2S_bind_tuser.sv'])
    return_stream = self
    
    s00 = AxiStream.same_name_socket(:from_up,mix=false,s00,nil,belong_to_module) unless s00.is_a? String
    m00 = AxiStream.same_name_socket(:to_down,mix=true,m00,nil,belong_to_module) unless m00.is_a? String
    
    if up_stream.nil? && s00.eql?("s00") && (!(m00.eql?("m00")) || !down_stream.nil?)
        # up_stream = self.copy(name:"s00")
        # return_stream = up_stream
        m00 = down_stream if down_stream
        return down_stream.axi_stream_interconnect_m2s_bind_tuser(s00:self)
    end

    s00 = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        m00 = self
    else
        if down_stream
            m00 = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_interconnect_m2s_bind_tuser_draw(
        num:num,
        s00:s00,
        m00:m00,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_long_cache( depth:8192, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_long_cache_auto.rb, line 9
def axi_stream_long_cache(
    depth:8192,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_long_cache','../../axi/AXI_stream/stream_cache/axi_stream_long_cache.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_long_cache','../../axi/AXI_stream/stream_cache/axi_stream_long_cache.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_long_cache(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_long_cache_draw(
        depth:depth,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_long_fifo( depth:2, byte_depth:8192*2, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_long_fifo_auto.rb, line 9
def axi_stream_long_fifo(
    depth:2,
    byte_depth:8192*2,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_long_fifo','../../axi/AXI_stream/packet_fifo/axi_stream_long_fifo.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_long_fifo','../../axi/AXI_stream/packet_fifo/axi_stream_long_fifo.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_long_fifo(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_long_fifo_draw(
        depth:depth,
        byte_depth:byte_depth,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_long_fifo_verb( depth:2, byte_depth:8192*2, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_long_fifo_verb_auto.rb, line 9
def axi_stream_long_fifo_verb(
    depth:2,
    byte_depth:8192*2,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_long_fifo_verb','../../axi/AXI_stream/packet_fifo/axi_stream_long_fifo_verb.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_long_fifo_verb','../../axi/AXI_stream/packet_fifo/axi_stream_long_fifo_verb.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_long_fifo_verb(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_long_fifo_verb_draw(
        depth:depth,
        byte_depth:byte_depth,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_packet_fifo( depth:2 , axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_packet_fifo_auto.rb, line 9
def axi_stream_packet_fifo(
    depth:2   ,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_packet_fifo','../../axi/AXI_stream/packet_fifo/axi_stream_packet_fifo.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_packet_fifo','../../axi/AXI_stream/packet_fifo/axi_stream_packet_fifo.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_packet_fifo(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_packet_fifo_draw(
        depth:depth,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_packet_fifo_with_info( depth:2, esize:8, info_in:"info_in", info_out:"info_out", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_packet_fifo_with_info_auto.rb, line 9
def axi_stream_packet_fifo_with_info(
    depth:2,
    esize:8,
    info_in:"info_in",
    info_out:"info_out",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_packet_fifo_with_info','../../axi/AXI_stream/packet_fifo/axi_stream_packet_fifo_with_info.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_packet_fifo_with_info','../../axi/AXI_stream/packet_fifo/axi_stream_packet_fifo_with_info.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_packet_fifo_with_info(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_packet_fifo_with_info_draw(
        depth:depth,
        esize:esize,
        info_in:info_in,
        info_out:info_out,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_partition( valve:"valve", partition_len:"partition_len", req_new_len:"req_new_len", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_partition_auto.rb, line 9
def axi_stream_partition(
    valve:"valve",
    partition_len:"partition_len",
    req_new_len:"req_new_len",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_partition','../../axi/AXI_stream/axi_stream_partition.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_partition','../../axi/AXI_stream/axi_stream_partition.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_partition(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_partition_draw(
        valve:valve,
        partition_len:partition_len,
        req_new_len:req_new_len,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_partition_a1( valve:"valve", partition_len:"partition_len", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_partition_A1_auto.rb, line 9
def axi_stream_partition_a1(
    valve:"valve",
    partition_len:"partition_len",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_partition_a1','../../axi/AXI_stream/axi_stream_partition_A1.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_partition_a1','../../axi/AXI_stream/axi_stream_partition_A1.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_partition_a1(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_partition_a1_draw(
        valve:valve,
        partition_len:partition_len,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_stream_s2m(addr,*down_streams) click to toggle source
# File lib/tdl/axi_stream/bak/axi_stream_S2M.rb, line 7
def axi_stream_s2m(addr,*down_streams)
    $_draw = lambda { s2m_sub_inst(down_streams.length) + s2m_sub_direct(*down_streams)+ axi_stream_s2m_draw(addr,down_streams.length) }
    @correlation_proc += $_draw.call
    return self
end
axi_stream_s2m_draw(addr,num=0) click to toggle source
# File lib/tdl/axi_stream/bak/axi_stream_S2M.rb, line 32
    def axi_stream_s2m_draw(addr,num=0)
"
axi_stream_interconnect_S2M  #(
    .NUM        (#{num})
)axi_stream_interconnect_S2M_#{signal}_inst(
/*  input [NSIZE-1:0]     */ addr   (#{align_signal(addr)}),
/*  axi_stream_inf.slaver */ s00    (#{signal}),
/*  axi_stream_inf.master */ m00    (sub_#{(signal)})//[NUM-1:0],
);
"
    end
axi_stream_wide_fifo( depth:2, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_wide_fifo_auto.rb, line 9
def axi_stream_wide_fifo(
    depth:2,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_stream_wide_fifo','../../axi/AXI_stream/packet_fifo/axi_stream_wide_fifo.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_stream_wide_fifo','../../axi/AXI_stream/packet_fifo/axi_stream_wide_fifo.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axi_stream_wide_fifo(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_stream_wide_fifo_draw(
        depth:depth,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_streams_combin( mode:"BOTH", cut_or_combin_body:"ON", dsize:8, new_body_len:"new_body_len", trigger_signal:"trigger_signal", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_combin_auto.rb, line 9
def axi_streams_combin(
    mode:"BOTH",
    cut_or_combin_body:"ON",
    dsize:8,
    new_body_len:"new_body_len",
    trigger_signal:"trigger_signal",
    head_inf:"head_inf",
    body_inf:"body_inf",
    end_inf:"end_inf",
    m00:"m00",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_streams_combin','../../axi/AXI_stream/axi_streams_combin.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_streams_combin','../../axi/AXI_stream/axi_streams_combin.sv'])
    return_stream = self
    
    head_inf = AxiStream.same_name_socket(:from_up,mix=true,head_inf,nil,belong_to_module) unless head_inf.is_a? String
    body_inf = AxiStream.same_name_socket(:from_up,mix=true,body_inf,nil,belong_to_module) unless body_inf.is_a? String
    end_inf = AxiStream.same_name_socket(:from_up,mix=true,end_inf,nil,belong_to_module) unless end_inf.is_a? String
    m00 = AxiStream.same_name_socket(:to_down,mix=true,m00,nil,belong_to_module) unless m00.is_a? String
    
    if up_stream.nil? && body_inf.eql?("body_inf") && (!(m00.eql?("m00")) || !down_stream.nil?)
        # up_stream = self.copy(name:"body_inf")
        # return_stream = up_stream
        m00 = down_stream if down_stream
        return down_stream.axi_streams_combin(body_inf:self)
    end

    body_inf = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        m00 = self
    else
        if down_stream
            m00 = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_streams_combin_draw(
        mode:mode,
        cut_or_combin_body:cut_or_combin_body,
        dsize:dsize,
        new_body_len:new_body_len,
        trigger_signal:trigger_signal,
        head_inf:head_inf,
        body_inf:body_inf,
        end_inf:end_inf,
        m00:m00,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_streams_combin_a1( mode:"BOTH", cut_or_combin_body:"ON", new_body_len:"new_body_len", trigger_signal:"trigger_signal", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_combin_A1_auto.rb, line 9
def axi_streams_combin_a1(
    mode:"BOTH",
    cut_or_combin_body:"ON",
    new_body_len:"new_body_len",
    trigger_signal:"trigger_signal",
    head_inf:"head_inf",
    body_inf:"body_inf",
    end_inf:"end_inf",
    m00:"m00",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_streams_combin_a1','../../axi/AXI_stream/axi_streams_combin_A1.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_streams_combin_a1','../../axi/AXI_stream/axi_streams_combin_A1.sv'])
    return_stream = self
    
    head_inf = AxiStream.same_name_socket(:from_up,mix=true,head_inf,nil,belong_to_module) unless head_inf.is_a? String
    body_inf = AxiStream.same_name_socket(:from_up,mix=true,body_inf,nil,belong_to_module) unless body_inf.is_a? String
    end_inf = AxiStream.same_name_socket(:from_up,mix=true,end_inf,nil,belong_to_module) unless end_inf.is_a? String
    m00 = AxiStream.same_name_socket(:to_down,mix=true,m00,nil,belong_to_module) unless m00.is_a? String
    
    if up_stream.nil? && body_inf.eql?("body_inf") && (!(m00.eql?("m00")) || !down_stream.nil?)
        # up_stream = self.copy(name:"body_inf")
        # return_stream = up_stream
        m00 = down_stream if down_stream
        return down_stream.axi_streams_combin_a1(body_inf:self)
    end

    body_inf = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        m00 = self
    else
        if down_stream
            m00 = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_streams_combin_a1_draw(
        mode:mode,
        cut_or_combin_body:cut_or_combin_body,
        new_body_len:new_body_len,
        trigger_signal:trigger_signal,
        head_inf:head_inf,
        body_inf:body_inf,
        end_inf:end_inf,
        m00:m00,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_streams_scaler( mode:"BOTH", cut_or_combin_body:"ON", dsize:8, new_body_len:"new_body_len", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_scaler_auto.rb, line 9
def axi_streams_scaler(
    mode:"BOTH",
    cut_or_combin_body:"ON",
    dsize:8,
    new_body_len:"new_body_len",
    head_inf:"head_inf",
    body_inf:"body_inf",
    end_inf:"end_inf",
    m00:"m00",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_streams_scaler','../../axi/AXI_stream/axi_streams_scaler.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_streams_scaler','../../axi/AXI_stream/axi_streams_scaler.sv'])
    return_stream = self
    
    head_inf = AxiStream.same_name_socket(:from_up,mix=true,head_inf,nil,belong_to_module) unless head_inf.is_a? String
    body_inf = AxiStream.same_name_socket(:from_up,mix=true,body_inf,nil,belong_to_module) unless body_inf.is_a? String
    end_inf = AxiStream.same_name_socket(:from_up,mix=true,end_inf,nil,belong_to_module) unless end_inf.is_a? String
    m00 = AxiStream.same_name_socket(:to_down,mix=true,m00,nil,belong_to_module) unless m00.is_a? String
    
    if up_stream.nil? && body_inf.eql?("body_inf") && (!(m00.eql?("m00")) || !down_stream.nil?)
        # up_stream = self.copy(name:"body_inf")
        # return_stream = up_stream
        m00 = down_stream if down_stream
        return down_stream.axi_streams_scaler(body_inf:self)
    end

    body_inf = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        m00 = self
    else
        if down_stream
            m00 = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_streams_scaler_draw(
        mode:mode,
        cut_or_combin_body:cut_or_combin_body,
        dsize:dsize,
        new_body_len:new_body_len,
        head_inf:head_inf,
        body_inf:body_inf,
        end_inf:end_inf,
        m00:m00,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axi_streams_scaler_a1( mode:"BOTH", cut_or_combin_body:"ON", new_body_len:"new_body_len", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_scaler_A1_auto.rb, line 9
def axi_streams_scaler_a1(
    mode:"BOTH",
    cut_or_combin_body:"ON",
    new_body_len:"new_body_len",
    head_inf:"head_inf",
    body_inf:"body_inf",
    end_inf:"end_inf",
    m00:"m00",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axi_streams_scaler_a1','../../axi/AXI_stream/axi_streams_scaler_A1.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axi_streams_scaler_a1','../../axi/AXI_stream/axi_streams_scaler_A1.sv'])
    return_stream = self
    
    head_inf = AxiStream.same_name_socket(:from_up,mix=true,head_inf,nil,belong_to_module) unless head_inf.is_a? String
    body_inf = AxiStream.same_name_socket(:from_up,mix=true,body_inf,nil,belong_to_module) unless body_inf.is_a? String
    end_inf = AxiStream.same_name_socket(:from_up,mix=true,end_inf,nil,belong_to_module) unless end_inf.is_a? String
    m00 = AxiStream.same_name_socket(:to_down,mix=true,m00,nil,belong_to_module) unless m00.is_a? String
    
    if up_stream.nil? && body_inf.eql?("body_inf") && (!(m00.eql?("m00")) || !down_stream.nil?)
        # up_stream = self.copy(name:"body_inf")
        # return_stream = up_stream
        m00 = down_stream if down_stream
        return down_stream.axi_streams_scaler_a1(body_inf:self)
    end

    body_inf = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        m00 = self
    else
        if down_stream
            m00 = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axi_streams_scaler_a1_draw(
        mode:mode,
        cut_or_combin_body:cut_or_combin_body,
        new_body_len:new_body_len,
        head_inf:head_inf,
        body_inf:body_inf,
        end_inf:end_inf,
        m00:m00,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_append( mode:"BOTH", dsize:8, head_field_len:16*8, head_field_name:"HEAD Filed", end_field_len:16*8, end_field_name:"END Filed", head_value:"head_value", end_value:"end_value", origin_in:"origin_in", append_out:"append_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_append_auto.rb, line 9
def axis_append(
    mode:"BOTH",
    dsize:8,
    head_field_len:16*8,
    head_field_name:"HEAD Filed",
    end_field_len:16*8,
    end_field_name:"END Filed",
    head_value:"head_value",
    end_value:"end_value",
    origin_in:"origin_in",
    append_out:"append_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_append','../../axi/AXI_stream/axis_append.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_append','../../axi/AXI_stream/axis_append.sv'])
    return_stream = self
    
    origin_in = AxiStream.same_name_socket(:from_up,mix=true,origin_in,nil,belong_to_module) unless origin_in.is_a? String
    append_out = AxiStream.same_name_socket(:to_down,mix=true,append_out,nil,belong_to_module) unless append_out.is_a? String
    
    if up_stream.nil? && origin_in.eql?("origin_in") && (!(append_out.eql?("append_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"origin_in")
        # return_stream = up_stream
        append_out = down_stream if down_stream
        return down_stream.axis_append(origin_in:self)
    end

    origin_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        append_out = self
    else
        if down_stream
            append_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_append_draw(
        mode:mode,
        dsize:dsize,
        head_field_len:head_field_len,
        head_field_name:head_field_name,
        end_field_len:end_field_len,
        end_field_name:end_field_name,
        head_value:head_value,
        end_value:end_value,
        origin_in:origin_in,
        append_out:append_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_append_a1( mode:"BOTH", dsize:8, head_field_len:16*8, head_field_name:"HEAD Filed", end_field_len:16*8, end_field_name:"END Filed", enable:"enable", head_value:"head_value", end_value:"end_value", origin_in:"origin_in", append_out:"append_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_append_A1_auto.rb, line 9
def axis_append_a1(
    mode:"BOTH",
    dsize:8,
    head_field_len:16*8,
    head_field_name:"HEAD Filed",
    end_field_len:16*8,
    end_field_name:"END Filed",
    enable:"enable",
    head_value:"head_value",
    end_value:"end_value",
    origin_in:"origin_in",
    append_out:"append_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_append_a1','../../axi/AXI_stream/axis_append_A1.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_append_a1','../../axi/AXI_stream/axis_append_A1.sv'])
    return_stream = self
    
    origin_in = AxiStream.same_name_socket(:from_up,mix=true,origin_in,nil,belong_to_module) unless origin_in.is_a? String
    append_out = AxiStream.same_name_socket(:to_down,mix=true,append_out,nil,belong_to_module) unless append_out.is_a? String
    
    if up_stream.nil? && origin_in.eql?("origin_in") && (!(append_out.eql?("append_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"origin_in")
        # return_stream = up_stream
        append_out = down_stream if down_stream
        return down_stream.axis_append_a1(origin_in:self)
    end

    origin_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        append_out = self
    else
        if down_stream
            append_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_append_a1_draw(
        mode:mode,
        dsize:dsize,
        head_field_len:head_field_len,
        head_field_name:head_field_name,
        end_field_len:end_field_len,
        end_field_name:end_field_name,
        enable:enable,
        head_value:head_value,
        end_value:end_value,
        origin_in:origin_in,
        append_out:append_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_combin_with_fifo( mode:"BOTH", cut_or_combin_body:"ON", new_body_len:"new_body_len", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_combin_with_fifo_auto.rb, line 9
def axis_combin_with_fifo(
    mode:"BOTH",
    cut_or_combin_body:"ON",
    new_body_len:"new_body_len",
    head_inf:"head_inf",
    body_inf:"body_inf",
    end_inf:"end_inf",
    m00:"m00",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_combin_with_fifo','../../axi/AXI_stream/axis_combin_with_fifo.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_combin_with_fifo','../../axi/AXI_stream/axis_combin_with_fifo.sv'])
    return_stream = self
    
    head_inf = AxiStream.same_name_socket(:from_up,mix=true,head_inf,nil,belong_to_module) unless head_inf.is_a? String
    body_inf = AxiStream.same_name_socket(:from_up,mix=true,body_inf,nil,belong_to_module) unless body_inf.is_a? String
    end_inf = AxiStream.same_name_socket(:from_up,mix=true,end_inf,nil,belong_to_module) unless end_inf.is_a? String
    m00 = AxiStream.same_name_socket(:to_down,mix=true,m00,nil,belong_to_module) unless m00.is_a? String
    
    if up_stream.nil? && body_inf.eql?("body_inf") && (!(m00.eql?("m00")) || !down_stream.nil?)
        # up_stream = self.copy(name:"body_inf")
        # return_stream = up_stream
        m00 = down_stream if down_stream
        return down_stream.axis_combin_with_fifo(body_inf:self)
    end

    body_inf = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        m00 = self
    else
        if down_stream
            m00 = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_combin_with_fifo_draw(
        mode:mode,
        cut_or_combin_body:cut_or_combin_body,
        new_body_len:new_body_len,
        head_inf:head_inf,
        body_inf:body_inf,
        end_inf:end_inf,
        m00:m00,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_connect_pipe( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_connect_pipe_auto.rb, line 9
def axis_connect_pipe(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_connect_pipe','../../axi/AXI_stream/axis_connect_pipe.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_connect_pipe','../../axi/AXI_stream/axis_connect_pipe.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_connect_pipe(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_connect_pipe_draw(
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_connect_pipe_a1( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_connect_pipe_A1.sv_auto.rb, line 9
def axis_connect_pipe_a1(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_connect_pipe_a1','../../axi/AXI_stream/axis_connect_pipe_A1.sv.bak')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_connect_pipe_a1','../../axi/AXI_stream/axis_connect_pipe_A1.sv.bak'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_connect_pipe_a1(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_connect_pipe_a1_draw(
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_connect_pipe_with_info( ifsize:32, info_in:"info_in", info_out:"info_out", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_connect_pipe_with_info_auto.rb, line 9
def axis_connect_pipe_with_info(
    ifsize:32,
    info_in:"info_in",
    info_out:"info_out",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_connect_pipe_with_info','../../axi/AXI_stream/axis_connect_pipe_with_info.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_connect_pipe_with_info','../../axi/AXI_stream/axis_connect_pipe_with_info.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_connect_pipe_with_info(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_connect_pipe_with_info_draw(
        ifsize:ifsize,
        info_in:info_in,
        info_out:info_out,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_direct( slaver:"slaver", master:"master", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_direct_auto.rb, line 9
def axis_direct(
    slaver:"slaver",
    master:"master",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_direct','../../axi/AXI_stream/axis_direct.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_direct','../../axi/AXI_stream/axis_direct.sv'])
    return_stream = self
    
    slaver = AxiStream.same_name_socket(:from_up,mix=true,slaver,nil,belong_to_module) unless slaver.is_a? String
    master = AxiStream.same_name_socket(:to_down,mix=true,master,nil,belong_to_module) unless master.is_a? String
    
    if up_stream.nil? && slaver.eql?("slaver") && (!(master.eql?("master")) || !down_stream.nil?)
        # up_stream = self.copy(name:"slaver")
        # return_stream = up_stream
        master = down_stream if down_stream
        return down_stream.axis_direct(slaver:self)
    end

    slaver = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        master = self
    else
        if down_stream
            master = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_direct_draw(
        slaver:slaver,
        master:master,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_filter( button:"button", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_filter_auto.rb, line 9
def axis_filter(
    button:"button",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_filter','../../axi/AXI_stream/axis_filter.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_filter','../../axi/AXI_stream/axis_filter.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_filter(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_filter_draw(
        button:button,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_head_cut( len:1, slaver:"slaver", master:"master", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_head_cut_auto.rb, line 9
def axis_head_cut(
    len:1,
    slaver:"slaver",
    master:"master",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_head_cut','../../axi/AXI_stream/axis_head_cut.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_head_cut','../../axi/AXI_stream/axis_head_cut.sv'])
    return_stream = self
    
    slaver = AxiStream.same_name_socket(:from_up,mix=true,slaver,nil,belong_to_module) unless slaver.is_a? String
    master = AxiStream.same_name_socket(:to_down,mix=true,master,nil,belong_to_module) unless master.is_a? String
    
    if up_stream.nil? && slaver.eql?("slaver") && (!(master.eql?("master")) || !down_stream.nil?)
        # up_stream = self.copy(name:"slaver")
        # return_stream = up_stream
        master = down_stream if down_stream
        return down_stream.axis_head_cut(slaver:self)
    end

    slaver = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        master = self
    else
        if down_stream
            master = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_head_cut_draw(
        len:len,
        slaver:slaver,
        master:master,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_length_fill( length:"length", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_fill_auto.rb, line 9
def axis_length_fill(
    length:"length",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_length_fill','../../axi/AXI_stream/axis_length_fill.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_length_fill','../../axi/AXI_stream/axis_length_fill.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_length_fill(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_length_fill_draw(
        length:length,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_length_split( length:"length", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_split_auto.rb, line 9
def axis_length_split(
    length:"length",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_length_split','../../axi/AXI_stream/axis_length_split.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_length_split','../../axi/AXI_stream/axis_length_split.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_length_split(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_length_split_draw(
        length:length,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_length_split_with_addr( addr_step:1024 , origin_addr:"origin_addr", length:"length", band_addr:"band_addr", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_split_with_addr_auto.rb, line 9
def axis_length_split_with_addr(
    addr_step:1024      ,
    origin_addr:"origin_addr",
    length:"length",
    band_addr:"band_addr",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_length_split_with_addr','../../axi/AXI_stream/axis_length_split_with_addr.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_length_split_with_addr','../../axi/AXI_stream/axis_length_split_with_addr.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_length_split_with_addr(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_length_split_with_addr_draw(
        addr_step:addr_step,
        origin_addr:origin_addr,
        length:length,
        band_addr:band_addr,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_length_split_with_user( length:"length", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_split_writh_user_auto.rb, line 9
def axis_length_split_with_user(
    length:"length",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_length_split_with_user','../../axi/AXI_stream/axis_length_split_writh_user.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_length_split_with_user','../../axi/AXI_stream/axis_length_split_writh_user.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_length_split_with_user(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_length_split_with_user_draw(
        length:length,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_master_empty( master:"master", down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_master_empty_auto.rb, line 9
def axis_master_empty(
    master:"master",
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_master_empty','../../axi/AXI_stream/axis_master_empty.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_master_empty','../../axi/AXI_stream/axis_master_empty.sv'])
    return_stream = self
    
    master = AxiStream.same_name_socket(:to_down,mix=true,master,nil,belong_to_module) unless master.is_a? String
    
    
    unless self.eql? belong_to_module.AxiStream_NC
        master = self
    else
        if down_stream
            master = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_master_empty_draw(
        master:master,
        down_stream:down_stream)
    return return_stream
end
axis_mirror_to_master( depth:4, mirror:"mirror", master:"master", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_mirror_to_master_auto.rb, line 9
def axis_mirror_to_master(
    depth:4,
    mirror:"mirror",
    master:"master",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_mirror_to_master','../../axi/AXI_stream/axis_mirror_to_master.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_mirror_to_master','../../axi/AXI_stream/axis_mirror_to_master.sv'])
    return_stream = self
    
    mirror = AxiStream.same_name_socket(:mirror,mix=true,mirror,nil,belong_to_module) unless mirror.is_a? String
    master = AxiStream.same_name_socket(:to_down,mix=true,master,nil,belong_to_module) unless master.is_a? String
    
    if up_stream.nil? && mirror.eql?("mirror") && (!(master.eql?("master")) || !down_stream.nil?)
        # up_stream = self.copy(name:"mirror")
        # return_stream = up_stream
        master = down_stream if down_stream
        return down_stream.axis_mirror_to_master(mirror:self)
    end

    mirror = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        master = self
    else
        if down_stream
            master = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_mirror_to_master_draw(
        depth:depth,
        mirror:mirror,
        master:master,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_mirrors( h:0, l:0, num:8, mode:"CDS_MODE", condition_data:"condition_data", axis_in:"axis_in", axis_mirror:"axis_mirror", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_mirrors_auto.rb, line 9
def axis_mirrors(
    h:0,
    l:0,
    num:8,
    mode:"CDS_MODE",
    condition_data:"condition_data",
    axis_in:"axis_in",
    axis_mirror:"axis_mirror",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_mirrors','../../axi/AXI_stream/axis_mirrors.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_mirrors','../../axi/AXI_stream/axis_mirrors.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_mirror = AxiStream.same_name_socket(:to_down,mix=false,axis_mirror,nil,belong_to_module) unless axis_mirror.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_mirror.eql?("axis_mirror")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_mirror = down_stream if down_stream
        return down_stream.axis_mirrors(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_mirror = self
    else
        if down_stream
            axis_mirror = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_mirrors_draw(
        h:h,
        l:l,
        num:num,
        mode:mode,
        condition_data:condition_data,
        axis_in:axis_in,
        axis_mirror:axis_mirror,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_pkt_fifo_filter_keep( depth:2 , axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_pkt_fifo_filter_keep_auto.rb, line 9
def axis_pkt_fifo_filter_keep(
    depth:2   ,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_pkt_fifo_filter_keep','../../axi/AXI_stream/packet_fifo/axis_pkt_fifo_filter_keep.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_pkt_fifo_filter_keep','../../axi/AXI_stream/packet_fifo/axis_pkt_fifo_filter_keep.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_pkt_fifo_filter_keep(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_pkt_fifo_filter_keep_draw(
        depth:depth,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_pkt_fifo_filter_keep_a1( depth:2 , axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_pkt_fifo_filter_keep_A1_auto.rb, line 9
def axis_pkt_fifo_filter_keep_a1(
    depth:2   ,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_pkt_fifo_filter_keep_a1','../../axi/AXI_stream/packet_fifo/axis_pkt_fifo_filter_keep_A1.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_pkt_fifo_filter_keep_a1','../../axi/AXI_stream/packet_fifo/axis_pkt_fifo_filter_keep_A1.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_pkt_fifo_filter_keep_a1(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_pkt_fifo_filter_keep_a1_draw(
        depth:depth,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_ram_buffer( length:4096, wr_en:"wr_en", gen_en:"gen_en", gen_ready:"gen_ready", axis_wr_inf:"axis_wr_inf", axis_data_inf:"axis_data_inf", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_ram_buffer_auto.rb, line 9
def axis_ram_buffer(
    length:4096,
    wr_en:"wr_en",
    gen_en:"gen_en",
    gen_ready:"gen_ready",
    axis_wr_inf:"axis_wr_inf",
    axis_data_inf:"axis_data_inf",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_ram_buffer','../../axi/AXI_stream/axis_ram_buffer.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_ram_buffer','../../axi/AXI_stream/axis_ram_buffer.sv'])
    return_stream = self
    
    axis_wr_inf = AxiStream.same_name_socket(:from_up,mix=true,axis_wr_inf,nil,belong_to_module) unless axis_wr_inf.is_a? String
    axis_data_inf = AxiStream.same_name_socket(:to_down,mix=true,axis_data_inf,nil,belong_to_module) unless axis_data_inf.is_a? String
    
    if up_stream.nil? && axis_wr_inf.eql?("axis_wr_inf") && (!(axis_data_inf.eql?("axis_data_inf")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_wr_inf")
        # return_stream = up_stream
        axis_data_inf = down_stream if down_stream
        return down_stream.axis_ram_buffer(axis_wr_inf:self)
    end

    axis_wr_inf = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_data_inf = self
    else
        if down_stream
            axis_data_inf = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_ram_buffer_draw(
        length:length,
        wr_en:wr_en,
        gen_en:gen_en,
        gen_ready:gen_ready,
        axis_wr_inf:axis_wr_inf,
        axis_data_inf:axis_data_inf,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_slaver_pipe( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_slaver_pipe_auto.rb, line 9
def axis_slaver_pipe(
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_slaver_pipe','../../axi/AXI_stream/axis_slaver_pipe.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_slaver_pipe','../../axi/AXI_stream/axis_slaver_pipe.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_slaver_pipe(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_slaver_pipe_draw(
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_slaver_pipe_a1( depth:1, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_slaver_pipe_A1_auto.rb, line 9
def axis_slaver_pipe_a1(
    depth:1,
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_slaver_pipe_a1','../../axi/AXI_stream/axis_slaver_pipe_A1.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_slaver_pipe_a1','../../axi/AXI_stream/axis_slaver_pipe_A1.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_slaver_pipe_a1(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_slaver_pipe_a1_draw(
        depth:depth,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_tdata(h=nil,l=nil) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 567
def axis_tdata(h=nil,l=nil)
    raise TdlError.new("\nARRAY Don't have 'axis_tdata'") unless @dimension.empty?

    if h.is_a? Range
        l = h.to_a.min
        h = h.to_a.max
    end

    if h
        if l
            sqr = "[#{h.to_s}:#{l.to_s}]"
        else
            sqr = "[#{h.to_s}]"
        end
    else
        sqr = ""
    end
    NqString.new(signal.concat(".axis_tdata").concat(sqr))
end
axis_valve( button:"button", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_valve_auto.rb, line 9
def axis_valve(
    button:"button",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_valve','../../axi/AXI_stream/axis_valve.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_valve','../../axi/AXI_stream/axis_valve.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_valve(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_valve_draw(
        button:button,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_valve_with_pipe( mode:"BOTH", button:"button", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_valve_with_pipe_auto.rb, line 9
def axis_valve_with_pipe(
    mode:"BOTH",
    button:"button",
    axis_in:"axis_in",
    axis_out:"axis_out",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_valve_with_pipe','../../axi/AXI_stream/axis_valve_with_pipe.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_valve_with_pipe','../../axi/AXI_stream/axis_valve_with_pipe.sv'])
    return_stream = self
    
    axis_in = AxiStream.same_name_socket(:from_up,mix=true,axis_in,nil,belong_to_module) unless axis_in.is_a? String
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    if up_stream.nil? && axis_in.eql?("axis_in") && (!(axis_out.eql?("axis_out")) || !down_stream.nil?)
        # up_stream = self.copy(name:"axis_in")
        # return_stream = up_stream
        axis_out = down_stream if down_stream
        return down_stream.axis_valve_with_pipe(axis_in:self)
    end

    axis_in = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_valve_with_pipe_draw(
        mode:mode,
        button:button,
        axis_in:axis_in,
        axis_out:axis_out,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_width_combin( slim_axis:"slim_axis", wide_axis:"wide_axis", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_combin_auto.rb, line 9
def axis_width_combin(
    slim_axis:"slim_axis",
    wide_axis:"wide_axis",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_width_combin','../../axi/AXI_stream/data_width/axis_width_combin.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_width_combin','../../axi/AXI_stream/data_width/axis_width_combin.sv'])
    return_stream = self
    
    slim_axis = AxiStream.same_name_socket(:from_up,mix=true,slim_axis,nil,belong_to_module) unless slim_axis.is_a? String
    wide_axis = AxiStream.same_name_socket(:to_down,mix=true,wide_axis,nil,belong_to_module) unless wide_axis.is_a? String
    
    if up_stream.nil? && slim_axis.eql?("slim_axis") && (!(wide_axis.eql?("wide_axis")) || !down_stream.nil?)
        # up_stream = self.copy(name:"slim_axis")
        # return_stream = up_stream
        wide_axis = down_stream if down_stream
        return down_stream.axis_width_combin(slim_axis:self)
    end

    slim_axis = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        wide_axis = self
    else
        if down_stream
            wide_axis = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_width_combin_draw(
        slim_axis:slim_axis,
        wide_axis:wide_axis,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_width_combin_a1( slim_axis:"slim_axis", wide_axis:"wide_axis", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_combin_A1_auto.rb, line 9
def axis_width_combin_a1(
    slim_axis:"slim_axis",
    wide_axis:"wide_axis",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_width_combin_a1','../../axi/AXI_stream/data_width/axis_width_combin_A1.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_width_combin_a1','../../axi/AXI_stream/data_width/axis_width_combin_A1.sv'])
    return_stream = self
    
    slim_axis = AxiStream.same_name_socket(:from_up,mix=true,slim_axis,nil,belong_to_module) unless slim_axis.is_a? String
    wide_axis = AxiStream.same_name_socket(:to_down,mix=true,wide_axis,nil,belong_to_module) unless wide_axis.is_a? String
    
    if up_stream.nil? && slim_axis.eql?("slim_axis") && (!(wide_axis.eql?("wide_axis")) || !down_stream.nil?)
        # up_stream = self.copy(name:"slim_axis")
        # return_stream = up_stream
        wide_axis = down_stream if down_stream
        return down_stream.axis_width_combin_a1(slim_axis:self)
    end

    slim_axis = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        wide_axis = self
    else
        if down_stream
            wide_axis = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_width_combin_a1_draw(
        slim_axis:slim_axis,
        wide_axis:wide_axis,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_width_convert( in_axis:"in_axis", out_axis:"out_axis", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_convert_auto.rb, line 9
def axis_width_convert(
    in_axis:"in_axis",
    out_axis:"out_axis",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_width_convert','../../axi/AXI_stream/data_width/axis_width_convert.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_width_convert','../../axi/AXI_stream/data_width/axis_width_convert.sv'])
    return_stream = self
    
    in_axis = AxiStream.same_name_socket(:from_up,mix=true,in_axis,nil,belong_to_module) unless in_axis.is_a? String
    out_axis = AxiStream.same_name_socket(:to_down,mix=true,out_axis,nil,belong_to_module) unless out_axis.is_a? String
    
    if up_stream.nil? && in_axis.eql?("in_axis") && (!(out_axis.eql?("out_axis")) || !down_stream.nil?)
        # up_stream = self.copy(name:"in_axis")
        # return_stream = up_stream
        out_axis = down_stream if down_stream
        return down_stream.axis_width_convert(in_axis:self)
    end

    in_axis = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        out_axis = self
    else
        if down_stream
            out_axis = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_width_convert_draw(
        in_axis:in_axis,
        out_axis:out_axis,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_width_destruct( wide_axis:"wide_axis", slim_axis:"slim_axis", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_destruct_auto.rb, line 9
def axis_width_destruct(
    wide_axis:"wide_axis",
    slim_axis:"slim_axis",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_width_destruct','../../axi/AXI_stream/data_width/axis_width_destruct.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_width_destruct','../../axi/AXI_stream/data_width/axis_width_destruct.sv'])
    return_stream = self
    
    wide_axis = AxiStream.same_name_socket(:from_up,mix=true,wide_axis,nil,belong_to_module) unless wide_axis.is_a? String
    slim_axis = AxiStream.same_name_socket(:to_down,mix=true,slim_axis,nil,belong_to_module) unless slim_axis.is_a? String
    
    if up_stream.nil? && wide_axis.eql?("wide_axis") && (!(slim_axis.eql?("slim_axis")) || !down_stream.nil?)
        # up_stream = self.copy(name:"wide_axis")
        # return_stream = up_stream
        slim_axis = down_stream if down_stream
        return down_stream.axis_width_destruct(wide_axis:self)
    end

    wide_axis = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        slim_axis = self
    else
        if down_stream
            slim_axis = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_width_destruct_draw(
        wide_axis:wide_axis,
        slim_axis:slim_axis,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
axis_width_destruct_a1( wide_axis:"wide_axis", slim_axis:"slim_axis", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_destruct_A1.sv_auto.rb, line 9
def axis_width_destruct_a1(
    wide_axis:"wide_axis",
    slim_axis:"slim_axis",
    up_stream:nil,
    down_stream:nil
)

    Tdl.add_to_all_file_paths('axis_width_destruct_a1','../../axi/AXI_stream/data_width/axis_width_destruct_A1.sv.new')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_width_destruct_a1','../../axi/AXI_stream/data_width/axis_width_destruct_A1.sv.new'])
    return_stream = self
    
    wide_axis = AxiStream.same_name_socket(:from_up,mix=true,wide_axis,nil,belong_to_module) unless wide_axis.is_a? String
    slim_axis = AxiStream.same_name_socket(:to_down,mix=true,slim_axis,nil,belong_to_module) unless slim_axis.is_a? String
    
    if up_stream.nil? && wide_axis.eql?("wide_axis") && (!(slim_axis.eql?("slim_axis")) || !down_stream.nil?)
        # up_stream = self.copy(name:"wide_axis")
        # return_stream = up_stream
        slim_axis = down_stream if down_stream
        return down_stream.axis_width_destruct_a1(wide_axis:self)
    end

    wide_axis = up_stream if up_stream
    unless self.eql? belong_to_module.AxiStream_NC
        slim_axis = self
    else
        if down_stream
            slim_axis = down_stream
        end
    end


    belong_to_module.AxiStream_draw << axis_width_destruct_a1_draw(
        wide_axis:wide_axis,
        slim_axis:slim_axis,
        up_stream:up_stream,
        down_stream:down_stream)
    return return_stream
end
branch(name:@name,clock:@clock,reset:@reset,dsize:@dsize,freqM:nil) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 119
def branch(name:@name,clock:@clock,reset:@reset,dsize:@dsize,freqM:nil)
    a =  copy(name:name,clock:clock,reset:reset,dsize:dsize,freqM:freqM)
    self << a
    return a
end
clock_reset_taps(def_clock_name,def_reset_name) click to toggle source
Calls superclass method CLKInfElm#clock_reset_taps
# File lib/tdl/elements/axi_stream.rb, line 669
def clock_reset_taps(def_clock_name,def_reset_name)

    super(def_clock_name,def_reset_name,self.aclk,self.aresetn)
end
collect_vector(axis_vector) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 151
def collect_vector(axis_vector)
    num = dimension_num(axis_vector)
    if num.eql?(1)
        return self.axis_direct(up_stream:axis_vector)
    end
    belong_to_module.ExOther_inst << collect_vector_draw(num,axis_vector)
end
copy(name:@name.to_s,clock:@clock,reset:@reset,dsize:@dsize,freqM:nil,dimension:[]) click to toggle source

def copy(name:@name,clock:“#{signal(0)}.aclk”,reset:“#{signal(0)}.aresetn”,dsize:“#{signal(0)}.DSIZE”)

# File lib/tdl/elements/axi_stream.rb, line 96
def copy(name:@name.to_s,clock:@clock,reset:@reset,dsize:@dsize,freqM:nil,dimension:[])
    append_name = name_copy(name)
    _freqM = use_which_freq_when_copy(clock,freqM)
    a = belong_to_module.Def.axi_stream(name:append_name,clock:clock,reset:reset,dsize:dsize,freqM:_freqM,dimension:dimension)
    a
end
direct(slaver:"slaver",master:"master",up_stream:nil,down_stream:nil) click to toggle source

alias_method :direct,:axis_direct @@pre_inst << lambda {

alias_method :direct,:axis_direct
return ""

}

# File lib/tdl/elements/axi_stream.rb, line 506
def direct(slaver:"slaver",master:"master",up_stream:nil,down_stream:nil)
    axis_direct(slaver:slaver,master:master,up_stream:up_stream,down_stream:down_stream)
end
from_video_stream(video_slaver:nil,mode:"LINE") click to toggle source
# File lib/tdl/VideoInf/video_stream_2_axi_stream.rb, line 46
def from_video_stream(video_slaver:nil,mode:"LINE")
    video_inf.to_axi_stream(axi_master:self,mode:mode)
    return video_slaver
end
gen_big_field_table(master_mode:"OFF",dsize:8,field_len:16*8,field_name:"Big Filed",enable:"enable",value:"value",cm_tb:"cm_tb",down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/gen_big_field_table_auto.rb, line 9
def gen_big_field_table(master_mode:"OFF",dsize:8,field_len:16*8,field_name:"Big Filed",enable:"enable",value:"value",cm_tb:"cm_tb",down_stream:nil)

    Tdl.add_to_all_file_paths(['gen_big_field_table','../../axi/AXI_stream/gen_big_field_table.sv'])
    return_stream = self
    
    cm_tb = AxiStream.same_name_socket(:to_down,mix=true,cm_tb) unless cm_tb.is_a? String
    
    
    cm_tb = self unless self==AxiStream.NC

     @instance_draw_stack << lambda { gen_big_field_table_draw(master_mode:master_mode,dsize:dsize,field_len:field_len,field_name:field_name,enable:enable,value:value,cm_tb:cm_tb,down_stream:down_stream) }
    return return_stream
end
gen_big_field_table_draw(master_mode:"OFF",dsize:8,field_len:16*8,field_name:"Big Filed",enable:"enable",value:"value",cm_tb:"cm_tb",down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/gen_big_field_table_auto.rb, line 23
    def gen_big_field_table_draw(master_mode:"OFF",dsize:8,field_len:16*8,field_name:"Big Filed",enable:"enable",value:"value",cm_tb:"cm_tb",down_stream:nil)

        large_name_len(master_mode,dsize,field_len,field_name,enable,value,cm_tb)
"
// FilePath:::../../axi/AXI_stream/gen_big_field_table.sv
gen_big_field_table#(
    .MASTER_MODE    (#{align_signal(master_mode)}),
    .DSIZE          (#{align_signal(dsize)}),
    .FIELD_LEN      (#{align_signal(field_len)}),
    .FIELD_NAME     (#{align_signal(field_name)})
) gen_big_field_table_#{signal}_inst(
/*  input                       */ .enable (#{align_signal(enable,q_mark=false)}),
/*  input  [DSIZE*FIELD_LEN-1:0]*/ .value  (#{align_signal(value,q_mark=false)}),
/*  axi_stream_inf.master       */ .cm_tb  (#{align_signal(cm_tb,q_mark=false)})
);
"
    end
gen_origin_axis(mode:"RANGE",enable:"enable",ready:"ready",length:"length",axis_out:"axis_out",down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/gen_origin_axis_auto.rb, line 9
def gen_origin_axis(mode:"RANGE",enable:"enable",ready:"ready",length:"length",axis_out:"axis_out",down_stream:nil)

    Tdl.add_to_all_file_paths(['gen_origin_axis','../../axi/AXI_stream/gen_origin_axis.sv'])
    return_stream = self
    
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out) unless axis_out.is_a? String
    
    
    axis_out = self unless self==AxiStream.NC

     @instance_draw_stack << lambda { gen_origin_axis_draw(mode:mode,enable:enable,ready:ready,length:length,axis_out:axis_out,down_stream:down_stream) }
    return return_stream
end
gen_origin_axis_a1( mode:"RANGE", enable:"enable", ready:"ready", length:"length", start:"start", axis_out:"axis_out", down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/gen_origin_axis_A1_auto.rb, line 9
def gen_origin_axis_a1(
    mode:"RANGE",
    enable:"enable",
    ready:"ready",
    length:"length",
    start:"start",
    axis_out:"axis_out",
    down_stream:nil
)

    Tdl.add_to_all_file_paths('gen_origin_axis_a1','../../axi/AXI_stream/gen_origin_axis_A1.sv')
    # GlobalParam.CurrTdlModule.add_to_all_file_paths(['gen_origin_axis_a1','../../axi/AXI_stream/gen_origin_axis_A1.sv'])
    return_stream = self
    
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out,nil,belong_to_module) unless axis_out.is_a? String
    
    
    unless self.eql? belong_to_module.AxiStream_NC
        axis_out = self
    else
        if down_stream
            axis_out = down_stream
        end
    end


    belong_to_module.AxiStream_draw << gen_origin_axis_a1_draw(
        mode:mode,
        enable:enable,
        ready:ready,
        length:length,
        start:start,
        axis_out:axis_out,
        down_stream:down_stream)
    return return_stream
end
gen_origin_axis_draw(mode:"RANGE",enable:"enable",ready:"ready",length:"length",axis_out:"axis_out",down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/gen_origin_axis_auto.rb, line 23
    def gen_origin_axis_draw(mode:"RANGE",enable:"enable",ready:"ready",length:"length",axis_out:"axis_out",down_stream:nil)

        large_name_len(mode,enable,ready,length,axis_out)
"
// FilePath:::../../axi/AXI_stream/gen_origin_axis.sv
gen_origin_axis#(
    .MODE    (#{align_signal(mode)})
) gen_origin_axis_#{signal}_inst(
/*  input                */ .enable   (#{align_signal(enable,q_mark=false)}),
/*  output               */ .ready    (#{align_signal(ready,q_mark=false)}),
/*  input  [31:0]        */ .length   (#{align_signal(length,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
gen_origin_draw() click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 132
    def gen_origin_draw
""
    end
gen_simple_axis(mode:"RANGE",trigger:"trigger",gen_en:"gen_en",length:"length",led:"led",axis_out:"axis_out",down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/gen_simple_axis_auto.rb, line 9
def gen_simple_axis(mode:"RANGE",trigger:"trigger",gen_en:"gen_en",length:"length",led:"led",axis_out:"axis_out",down_stream:nil)

    Tdl.add_to_all_file_paths(['gen_simple_axis','../../axi/AXI_stream/gen_simple_axis.sv'])
    return_stream = self
    
    axis_out = AxiStream.same_name_socket(:to_down,mix=true,axis_out) unless axis_out.is_a? String
    
    
    axis_out = self unless self==AxiStream.NC

     @instance_draw_stack << lambda { gen_simple_axis_draw(mode:mode,trigger:trigger,gen_en:gen_en,length:length,led:led,axis_out:axis_out,down_stream:down_stream) }
    return return_stream
end
gen_simple_axis_draw(mode:"RANGE",trigger:"trigger",gen_en:"gen_en",length:"length",led:"led",axis_out:"axis_out",down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/gen_simple_axis_auto.rb, line 23
    def gen_simple_axis_draw(mode:"RANGE",trigger:"trigger",gen_en:"gen_en",length:"length",led:"led",axis_out:"axis_out",down_stream:nil)

        large_name_len(mode,trigger,gen_en,length,led,axis_out)
"
// FilePath:::../../axi/AXI_stream/gen_simple_axis.sv
gen_simple_axis#(
    .MODE    (#{align_signal(mode)})
) gen_simple_axis_#{signal}_inst(
/*  input                */ .trigger  (#{align_signal(trigger,q_mark=false)}),
/*  input                */ .gen_en   (#{align_signal(gen_en,q_mark=false)}),
/*  input  [15:0]        */ .length   (#{align_signal(length,q_mark=false)}),
/*  output               */ .led      (#{align_signal(led,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
inherited(name:@name.to_s,clock: nil,reset: nil,dsize: nil,freqM: nil,dimension:[]) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 103
def inherited(name:@name.to_s,clock: nil,reset: nil,dsize: nil,freqM: nil,dimension:[])
    a = nil 
    ClassHDL::AssignDefOpertor.with_rollback_opertors(:old) do 
        append_name = name_copy(name)
        _freqM = use_which_freq_when_copy(clock,freqM)
        a = belong_to_module.Def.axi_stream(
            name:append_name,
            clock: clock || self.aclk,
            reset: reset || self.aresetn,
            dsize: dsize || self.DSIZE,
            freqM: _freqM,
            dimension: dimension)
    end
    a
end
Also aliased as: copy
inst() click to toggle source

def signal(index=nil)

square_str = super(index)
if @port
    String.new(@name.to_s).concat  square_str
else
    unless @nc
        String.new("axis_#{@name}_id#{@id}#{square_str}")
    else
        String.new("nc_axis_#{@name}_id#{@id}#{square_str}")
    end
end

end

# File lib/tdl/elements/axi_stream.rb, line 68
def inst
    return "" if @ghost
    if @reset.is_a? SignalElm
        if @reset.active.casecmp("LOW") == 0
            "axi_stream_inf #(.DSIZE(#{dsize}),.FreqM(#{intf_def_freqM}))  #{signal}#{array_inst} (.aclk(#{compact_signal(@clock)}),.aresetn(#{@reset.signal}),.aclken(1'b1));"
        else
            "axi_stream_inf #(.DSIZE(#{dsize}),.FreqM(#{intf_def_freqM}))  #{signal}#{array_inst} (.aclk(#{compact_signal(@clock)}),.aresetn(!#{@reset.signal}),.aclken(1'b1));"
        end
    else
        "axi_stream_inf #(.DSIZE(#{dsize}),.FreqM(#{intf_def_freqM}))  #{signal}#{array_inst} (.aclk(#{compact_signal(@clock)}),.aresetn(#{compact_signal(@reset)}),.aclken(1'b1));"
    end
end
inst_port() click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 85
def inst_port

    # if @port
    #     ("axi_stream_inf." + @port.to_s + " " + " "*sub_len + @name.to_s + array_inst)
    # end

    return ["axi_stream_inf." + @port.to_s,@name.to_s,array_inst]
end
last(latency:0) click to toggle source

—– Design Ref ————————-

# File lib/tdl/elements/axi_stream.rb, line 196
    def last(latency:0)
        lat = %Q{
//----->> #{signal} LAST DELAY <<------------------
logic       #{signal}_last_Q;

latency #(
    .LAT    (#{latency}),
    .DSIZE  (1)
)#{signal}_last_lat(
    #{signal}.aclk,
    #{signal}.aresetn,
    (#{signal}.axis_tvalid && #{signal}.axis_tready && #{signal}.axis_tlast),
    #{signal}_last_Q
);
//-----<< #{signal} LAST DELAY >>------------------
}

        if latency > 0
            # GlobalParam.CurrTdlModule.BindEleClassVars.AxiStream.pre_inst << lambda { lat }
            belong_to_module.AxiStream_draw << lat
            return "#{signal}_last_Q"
        else
            return "(#{signal}.axis_tvalid && #{signal}.axis_tready && #{signal}.axis_tlast)"
        end
    end
mirror_seq(start,lr) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 321
def mirror_seq(start,lr) #lr must larger than zero, START : START+lr-1
    RedefOpertor.with_old_operators do
        @__mirror_seq_start_ ||= 1024
        @__mirror_seq_end_ ||= 0
        @__mirror_seq_start_ = start if @__mirror_seq_start_ > start
        @__mirror_seq_end_ = (start+lr) if (@__mirror_seq_end_ < (start+lr))

        unless @_sub_mirror_seq_value
            @_sub_mirror_seq_value = belong_to_module.Def.logic(name:"#{signal(square:false)}_seq_value",dsize: -@dsize*(@__mirror_seq_end_-@__mirror_seq_start_),msb_high:false,port: :origin)
        end

        @_sub_mirror_seq_value.dsize = -@dsize*(@__mirror_seq_end_-@__mirror_seq_start_)

        if @__mirror_seq_start_ > 0
            # @_sub_mirror_seq_value.send(:define_singleton_method,:inst) do
            @_sub_mirror_seq_value.instance_variable_set("@__mirror_seq_start_",@__mirror_seq_start_*@dsize)
            @_sub_mirror_seq_value.instance_variable_set("@__signal_name_",signal(square:false)+"_seq_value")
            @_sub_mirror_seq_value.define_singleton_method(:inst) do
                # puts @__mirror_seq_start_,@dsize
                "logic [#{@__mirror_seq_start_}:#{(@dsize.abs-1)+@__mirror_seq_start_}] #{@__signal_name_};\n"
            end
        end

        unless @_sub_mirror_seq_out_vld
            @_sub_mirror_seq_out_vld = belong_to_module.Def.logic(name:"#{signal(square:false)}_seq_vld",dsize:1,port: :origin)
        end

        unless @_mirror_seq_call_
            @_mirror_seq_call_ = lambda {

                if @__mirror_seq_start_ == 0
                    enable = "1'b1"
                else
                    enable = "(#{signal}.axis_tcnt >= #{@__mirror_seq_start_})"
                end

                @_mirror_p_cm_tb_m = copy(name:"cm_tb_m")

                AxiStream.parse_big_field_table_a2(
                    dsize:  @dsize,
                    field_len:@__mirror_seq_end_ - @__mirror_seq_start_ ,
                    try_parse:"ON",
                    enable:enable,
                    value:@_sub_mirror_seq_value.signal(square:false),
                    out_valid:@_sub_mirror_seq_out_vld,
                    cm_tb_s:self,
                    cm_tb_m:@_mirror_p_cm_tb_m,
                    cm_mirror:self)
            }
            # Tdl.module_stack << @_mirror_seq_call_
            belong_to_module.AxiStream_pre_inst_stack << @_mirror_seq_call_
        end

    end

    return "#{@_sub_mirror_seq_value[start*@dsize,(start+lr)*@dsize-1]}"
end
mirror_to(axis) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 401
def mirror_to(axis)
    a = "\n//--->> #{signal} MIRROR <<-----------------------\n"
    a +="assign #{axis.signal}.axis_tvalid  = #{signal}.axis_tvalid;\n"
    a +="assign #{axis.signal}.axis_tdata   = #{signal}.axis_tdata ;\n"
    a +="assign #{axis.signal}.axis_tlast   = #{signal}.axis_tlast ;\n"
    a +="assign #{axis.signal}.axis_tready  = #{signal}.axis_tready;\n"

    a +="assign #{axis.signal}.axis_tuser   = #{signal}.axis_tuser;\n"
    a +="assign #{axis.signal}.axis_tkeep   = #{signal}.axis_tkeep;\n"
    a += "//---<< #{signal} MIRROR >>-----------------------\n"

    # GlobalParam.CurrTdlModule.BindEleClassVars.AxiStream.draw_stack << lambda{ a }
    belong_to_module.AxiStream_draw << a
    ""
end
parse_big_field_table(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/parse_big_field_table_auto.rb, line 9
def parse_big_field_table(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil)

    Tdl.add_to_all_file_paths(['parse_big_field_table','../../axi/AXI_stream/parse_big_field_table.sv'])
    return_stream = self
    
    cm_tb_s = AxiStream.same_name_socket(:from_up,mix=true,cm_tb_s) unless cm_tb_s.is_a? String
    cm_tb_m = AxiStream.same_name_socket(:to_down,mix=true,cm_tb_m) unless cm_tb_m.is_a? String
    cm_mirror = AxiStream.same_name_socket(:mirror,mix=true,cm_mirror) unless cm_mirror.is_a? String
    
    if up_stream==nil && cm_tb_s=="cm_tb_s"
        up_stream = self.copy(name:"cm_tb_s")
        return_stream = up_stream
    end

    cm_tb_s = up_stream if up_stream
    cm_tb_m = self unless self==AxiStream.NC

     @instance_draw_stack << lambda { parse_big_field_table_draw(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream) }
    return return_stream
end
parse_big_field_table_a1(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/parse_big_field_table_A1_auto.rb, line 9
def parse_big_field_table_a1(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil)

    Tdl.add_to_all_file_paths(['parse_big_field_table_a1','../../axi/AXI_stream/parse_big_field_table_A1.sv'])
    return_stream = self
    
    cm_tb_s = AxiStream.same_name_socket(:from_up,mix=true,cm_tb_s) unless cm_tb_s.is_a? String
    cm_tb_m = AxiStream.same_name_socket(:to_down,mix=true,cm_tb_m) unless cm_tb_m.is_a? String
    cm_mirror = AxiStream.same_name_socket(:mirror,mix=true,cm_mirror) unless cm_mirror.is_a? String
    
    if up_stream==nil && cm_tb_s=="cm_tb_s"
        up_stream = self.copy(name:"cm_tb_s")
        return_stream = up_stream
    end

    cm_tb_s = up_stream if up_stream
    cm_tb_m = self unless self==AxiStream.NC

     @instance_draw_stack << lambda { parse_big_field_table_a1_draw(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream) }
    return return_stream
end
parse_big_field_table_a1_draw(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/parse_big_field_table_A1_auto.rb, line 30
    def parse_big_field_table_a1_draw(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil)

        large_name_len(dsize,field_len,field_name,try_parse,enable,value,out_valid,cm_tb_s,cm_tb_m,cm_mirror)
"
// FilePath:::../../axi/AXI_stream/parse_big_field_table_A1.sv
parse_big_field_table_A1#(
    .DSIZE         (#{align_signal(dsize)}),
    .FIELD_LEN     (#{align_signal(field_len)}),
    .FIELD_NAME    (#{align_signal(field_name)}),
    .TRY_PARSE     (#{align_signal(try_parse)})
) parse_big_field_table_A1_#{signal}_inst(
/*  input                */ .enable    (#{align_signal(enable,q_mark=false)}),
/*  output [DSIZE-1:0]   */ .value     (#{align_signal(value,q_mark=false)}),
/*  output               */ .out_valid (#{align_signal(out_valid,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .cm_tb_s   (#{align_signal(cm_tb_s,q_mark=false)}),
/*  axi_stream_inf.master*/ .cm_tb_m   (#{align_signal(cm_tb_m,q_mark=false)}),
/*  axi_stream_inf.mirror*/ .cm_mirror (#{align_signal(cm_mirror,q_mark=false)})
);
"
    end
parse_big_field_table_a2(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/parse_big_field_table_A2_auto.rb, line 9
def parse_big_field_table_a2(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil)

    Tdl.add_to_all_file_paths(['parse_big_field_table_a2','../../axi/AXI_stream/parse_big_field_table_A2.sv'])
    return_stream = self
    
    cm_tb_s = AxiStream.same_name_socket(:from_up,mix=true,cm_tb_s) unless cm_tb_s.is_a? String
    cm_tb_m = AxiStream.same_name_socket(:to_down,mix=true,cm_tb_m) unless cm_tb_m.is_a? String
    cm_mirror = AxiStream.same_name_socket(:mirror,mix=true,cm_mirror) unless cm_mirror.is_a? String
    
    if up_stream==nil && cm_tb_s=="cm_tb_s"
        up_stream = self.copy(name:"cm_tb_s")
        return_stream = up_stream
    end

    cm_tb_s = up_stream if up_stream
    cm_tb_m = self unless self==AxiStream.NC

     @instance_draw_stack << lambda { parse_big_field_table_a2_draw(dsize:dsize,field_len:field_len,field_name:field_name,try_parse:try_parse,enable:enable,value:value,out_valid:out_valid,cm_tb_s:cm_tb_s,cm_tb_m:cm_tb_m,cm_mirror:cm_mirror,up_stream:up_stream,down_stream:down_stream) }
    return return_stream
end
parse_big_field_table_a2_draw(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/parse_big_field_table_A2_auto.rb, line 30
    def parse_big_field_table_a2_draw(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil)

        large_name_len(dsize,field_len,field_name,try_parse,enable,value,out_valid,cm_tb_s,cm_tb_m,cm_mirror)
"
// FilePath:::../../axi/AXI_stream/parse_big_field_table_A2.sv
parse_big_field_table_A2#(
    .DSIZE         (#{align_signal(dsize)}),
    .FIELD_LEN     (#{align_signal(field_len)}),
    .FIELD_NAME    (#{align_signal(field_name)}),
    .TRY_PARSE     (#{align_signal(try_parse)})
) parse_big_field_table_A2_#{signal}_inst(
/*  input                       */ .enable    (#{align_signal(enable,q_mark=false)}),
/*  output [0:DSIZE*FIELD_LEN-1]*/ .value     (#{align_signal(value,q_mark=false)}),
/*  output                      */ .out_valid (#{align_signal(out_valid,q_mark=false)}),
/*  axi_stream_inf.slaver       */ .cm_tb_s   (#{align_signal(cm_tb_s,q_mark=false)}),
/*  axi_stream_inf.master       */ .cm_tb_m   (#{align_signal(cm_tb_m,q_mark=false)}),
/*  axi_stream_inf.mirror       */ .cm_mirror (#{align_signal(cm_mirror,q_mark=false)})
);
"
    end
parse_big_field_table_draw(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil) click to toggle source
# File lib/tdl/axi_stream/bak/parse_big_field_table_auto.rb, line 30
    def parse_big_field_table_draw(dsize:8,field_len:16*8,field_name:"Big Filed",try_parse:"OFF",enable:"enable",value:"value",out_valid:"out_valid",cm_tb_s:"cm_tb_s",cm_tb_m:"cm_tb_m",cm_mirror:"cm_mirror",up_stream:nil,down_stream:nil)

        large_name_len(dsize,field_len,field_name,try_parse,enable,value,out_valid,cm_tb_s,cm_tb_m,cm_mirror)
"
// FilePath:::../../axi/AXI_stream/parse_big_field_table.sv
parse_big_field_table#(
    .DSIZE         (#{align_signal(dsize)}),
    .FIELD_LEN     (#{align_signal(field_len)}),
    .FIELD_NAME    (#{align_signal(field_name)}),
    .TRY_PARSE     (#{align_signal(try_parse)})
) parse_big_field_table_#{signal}_inst(
/*  input                       */ .enable    (#{align_signal(enable,q_mark=false)}),
/*  output [DSIZE*FIELD_LEN-1:0]*/ .value     (#{align_signal(value,q_mark=false)}),
/*  output                      */ .out_valid (#{align_signal(out_valid,q_mark=false)}),
/*  axi_stream_inf.slaver       */ .cm_tb_s   (#{align_signal(cm_tb_s,q_mark=false)}),
/*  axi_stream_inf.master       */ .cm_tb_m   (#{align_signal(cm_tb_m,q_mark=false)}),
/*  axi_stream_inf.mirror       */ .cm_mirror (#{align_signal(cm_mirror,q_mark=false)})
);
"
    end
port_length() click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 81
def port_length
    ("axi_stream_inf." + @port.to_s + " ").length
end
s2m_sub_direct(*down_streams) click to toggle source
# File lib/tdl/axi_stream/bak/axi_stream_S2M.rb, line 20
    def s2m_sub_direct(*down_streams)
        str = ""
        for i in 0...(down_streams.length)
            str +=
"\naxis_direct  axis_direct_#{signal}_inst#{i} (
/*  axi_stream_inf.slaver*/ .slaver (sub_#{(signal)}[#{i}]),
/*  axi_stream_inf.master*/ .master (#{down_streams[i].signal})
);\n"
        end
        return str
    end
s2m_sub_inst(num=0) click to toggle source
# File lib/tdl/axi_stream/bak/axi_stream_S2M.rb, line 13
    def s2m_sub_inst(num=0)
        return '' if num == 0
"
axi_stream_inf #(.DSIZE(#{signal}.DSIZE))  sub_#{(signal)}[#{num}-1:0](.aclk(#{signal}.aclk),.aresetn(#{signal}.aresetn),.aclken(1'b1));\n
"
    end
seq(start,lr) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 227
def seq(start,lr)  #lr must larger than zero, START : START+lr-1
    RedefOpertor.with_old_operators do
        @__seq_start_ ||= 1024
        @__seq_end_ ||= 0
        @__seq_start_ = start if @__seq_start_ > start
        @__seq_end_ = (start+lr) if (@__seq_end_ < (start+lr))

        unless @_sub_sel_value
            ## dsize < 0 [0:X-1]
            if @dsize.is_a? Numeric
                @_sub_sel_value = belong_to_module.Def.logic(name:"#{signal(square:false)}_seq_value",dsize: -@dsize*(@__seq_end_-@__seq_start_),msb_high:false,port: :origin)
                @_full_sub_sel_value = belong_to_module.Def.logic(name:"#{signal(square:false)}_full_seq_value",dsize: -@dsize*(@__seq_end_-0),msb_high:false,port: :origin)
            else
                @_sub_sel_value = belong_to_module.Def.logic(name:"#{signal(square:false)}_seq_value",dsize: "#{@dsize}*#{(@__seq_end_-@__seq_start_)}",msb_high:false,port: :origin)
                @_full_sub_sel_value = belong_to_module.Def.logic(name:"#{signal(square:false)}_full_seq_value",dsize: "#{@dsize}*#{(@__seq_end_-0)}",msb_high:false,port: :origin)
                @_sub_sel_value.force_nege_index(true)
                @_full_sub_sel_value.force_nege_index(true)
            end
        else
            if @dsize.is_a? Numeric
                @_sub_sel_value.dsize = -@dsize*(@__seq_end_-@__seq_start_)
                @_full_sub_sel_value.dsize = -@dsize*(@__seq_end_-0)
            else
                @_sub_sel_value.dsize = "#{@dsize}*#{(@__seq_end_-@__seq_start_)}"
                @_full_sub_sel_value.dsize = "#{@dsize}*#{(@__seq_end_-0)}"
            end
        end

        belong_to_module.AxiStream_pre_inst_stack << Proc.new do
            if @dsize.is_a? Numeric
                belong_to_module.Assign do
                    @_full_sub_sel_value[@__seq_start_*@dsize,@__seq_end_*@dsize-1] <= @_sub_sel_value
                end
            else
                belong_to_module.Assign do
                    "#{@_full_sub_sel_value.signal(square:false)}[#{@__seq_start_}*#{self.DSIZE}:#{@__seq_end_}*#{self.DSIZE}-1]".to_nq <= @_sub_sel_value
                end
            end
            ""
        end

        @_sub_sel_out_vld ||= belong_to_module.Def.logic(name:"#{signal(square:false)}_seq_vld",dsize:1,port: :origin)

        # unless seq_vld()
            self.define_singleton_method(:seq_vld) do
                @_sub_sel_out_vld
            end
        # end

        unless @_seq_call_
            @_p_cm_tb_m = copy(name:"cm_tb_m_#{@name}")

            self.define_singleton_method(:seq_tail_stream) do
                @_called_seq_tail_stream = true
                @_p_cm_tb_m
            end

            self.define_singleton_method(:seq_vld_rdy_last) do
                @_p_cm_tb_m.vld_rdy_last
            end
            @_vcs_self_cpt_ = self.vcs_comptable(origin: 'slaver',to: 'mirror')
            @_seq_call_ = lambda {

                if @__seq_start_ == 0
                    enable = "1'b1"
                else
                    enable = "(#{signal}.axis_tcnt >= #{@__seq_start_})"
                end

                AxiStream.parse_big_field_table_a2(
                    dsize:  @dsize,
                    field_len:@__seq_end_ - @__seq_start_ ,
                    try_parse:"OFF",
                    enable:enable,
                    value:@_sub_sel_value.signal(square:false),
                    out_valid:@_sub_sel_out_vld,
                    cm_tb_s:self,
                    cm_tb_m:@_p_cm_tb_m,
                    cm_mirror: @_vcs_self_cpt_,
                    belong_to_module:belong_to_module
                )
                AxiStream.slaver_empty(@_p_cm_tb_m) unless @_called_seq_tail_stream
            }
            belong_to_module.AxiStream_pre_inst_stack << @_seq_call_
        end

    end
    if @dsize.is_a? Numeric
        return @_full_sub_sel_value[start*@dsize,(start+lr)*@dsize-1]
    else
        return "#{@_full_sub_sel_value.signal(square:false)}[#{start}*#{self.DSIZE}:#{(start+lr)}*#{self.DSIZE}-1]".to_nq
    end
end
simple_verify_by_coe(file) click to toggle source
# File lib/tdl/exlib/axis_verify.rb, line 218
def simple_verify_by_coe(file)
    unless File.file?(file)
        if file.is_a?(String)
            wfile = File.join(AxiTdl::TDL_PATH,"./auto_script/tmp/","#{self.name}_#{globle_random_name_flag}.coe")
            File.open(wfile,'w') do |f|
                f.puts file
            end
            file = wfile
        end
    end 

    require_hdl 'axis_sim_verify_by_coe.sv'

    @belong_to_module.instance_exec(self,File.open(file).readlines.size,file) do |_self,_ram_depth,_file|

        Instance(:axis_sim_verify_by_coe, "axis_sim_verify_by_coe_inst_#{_self.name}") do |h|#(
            h.param.RAM_DEPTH           _ram_depth
            h.param.VERIFY_KEEP         "OFF"
            h.param.VERIFY_USER         "OFF"
            h.input.load_trigger        1.b0
            h.input[32].total_length    _ram_depth
            h.input[4096].mem_file      File.expand_path(_file)
            h.port.axis.mirror.mirror_inf   _self
        end
    end
end
slaverbfm(info:true,rate:100,repeat:100) click to toggle source
# File lib/tdl/bfm/axi_stream/axi_stream_bfm.rb, line 263
def slaverbfm(info:true,rate:100,repeat:100)

    if info
        info_str = 1
    else
        info_str = 0
    end
    belong_to_module.AxiStream_draw << slaverbfm_draw(info:info_str,repeat:repeat,rate:rate)

    return self
end
slaverbfm_draw(info:0,repeat:0,rate:100) click to toggle source

def self.MasterBFM()

end

# File lib/tdl/bfm/axi_stream/axi_stream_bfm.rb, line 279
    def slaverbfm_draw(info:0,repeat:0,rate:100)
"
AxiStreamSlaverBfm_c #(.DSIZE(#{@dsize}),.FreqM(#{intf_def_freqM})) SlaverBfm#{name} = new(#{name});

initial begin:#{name}_SLAVER_BLOCK
    wait(#{name}.aresetn);
    @(posedge #{name}.aclk);
    #{
        if repeat > 0
            "repeat(#{repeat})"
        else
            "forever"
        end
    }
    begin
        SlaverBfm#{name}.get_data(#{rate},#{info});
    end
end
"
    end
slice_to_logic(range) click to toggle source
# File lib/tdl/bfm/axi_stream/axis_slice_to_logic.rb, line 4
def slice_to_logic(range)
    @_slice_id_ ||= 0
    smin = range.min
    smax = range.max
    if range.to_a.first.eql? smin
        cc  = :increase
    else
        cc  = :decrease
    end
    slice_logic = nil
    RedefOpertor.with_normal_operators do
        slice_logic = belong_to_module.Def().logic(name:"#{name}_slice_#{@_slice_id_}",dsize:@dsize*(smax+1-smin))
        slice_logic.clock   = @clock
        slice_logic.reset   = @reset
        belong_to_module.AxiStream_draw << slice_to_logic_draw(cc,slice_logic,range.to_a)
    end
    @_slice_id_ += 1
    return slice_logic
end
to_eth(esize=8) click to toggle source

转到 网络流

# File lib/tdl/exlib/axis_eth_ex.rb, line 21
def to_eth(esize=8) # SIZE:8 ,64, 32
    @__ethernet_type__ = esize
end
to_master_bfm() click to toggle source
# File lib/tdl/bfm/axi_stream/axi_stream_bfm.rb, line 3
    def to_master_bfm
        define_singleton_method(:import_axibfm_pkg) do
            unless @__AXI_BFM_IMPORT__
                import_str = "import AxiBfmPkg::*;\n"
                belong_to_module.ex_up_code = import_str.concat belong_to_module.ex_up_code.to_s
                @__AXI_BFM_IMPORT__ = true
            end
        end

        define_singleton_method(:masterbfm) do |info:true,wait:nil,wait_every_raising:nil,wdata_name:"wdata_queue",&block|
            import_axibfm_pkg
            @wdata_name = wdata_name
            @_init_tap_cnt_ ||= 1
            @_master_draw_exec_str_ ||= []
            @_init_master_draw_exec_str_ ||= []
            # define_singleton_method(:wdata_queue) do
            #     "wdata_queue"
            # end
            
            block.call self
    
            if info
                info_str = "ON"
            else
                info_str = "OFF"
            end
            belong_to_module.ExOther_draw << masterbfm_draw(info:info_str)
    
            return self
        end

        define_singleton_method("masterbfm_draw") do |info:"OFF"|
            init_str = @_init_master_draw_exec_str_.join("")
            master_str = @_master_draw_exec_str_.join("")
"
AxiStreamMasterBfm_c #(.DSIZE(#{dsize}),.MSG(\"#{info}\"),.FreqM(#{freqM})) MasterBfm#{name};

initial begin:#{name}_MASTER_BLOCK
logic [#{dsize}-1:0]     #{@wdata_name}     [$];
    MasterBfm#{name} = new(#{name});
#{init_str}
    wait(#{name}.aresetn);
#{master_str}
end
"
        end

        define_singleton_method(:exec) do |str=nil,&block|
            if block_given?
                ystr = block.call(self)
                str = str.to_s + ystr
            end
            @_master_draw_exec_str_ << init_tap_draw("#{str.to_s};\n")
        end
    
        define_singleton_method(:init_exec) do |str|
            @_master_draw_exec_str_ ||= []
            @_master_draw_exec_str_ << init_tap_draw("#{str.to_s};\n")
        end
    
        # def stream_exec(delay:"#(10us)",str:"")
        #     @_master_draw_exec_str_ << "#(100ns) wdata_queue = #{str.to_s};\n"
        # end
    
        define_singleton_method(:repeat) do |num=nil,&block|
            if num
                @_master_draw_exec_str_ << init_tap_draw("repeat(#{num}) begin\n")
            else
                @_master_draw_exec_str_ << init_tap_draw("forever begin\n")
            end
            @_init_tap_cnt_ += 1
            block.call self
            @_init_tap_cnt_ -= 1
            @_master_draw_exec_str_ << init_tap_draw("end\n")
        end
    
        define_singleton_method("bif") do |cond,&block|
            @_master_draw_exec_str_ << init_tap_draw("if(#{cond}) begin\n")
        
            @_init_tap_cnt_ += 1
            block.call self
            @_init_tap_cnt_ -= 1
            @_master_draw_exec_str_ << init_tap_draw("end\n")
        end
    
        define_singleton_method("belsif") do |cond,&block|
            @_master_draw_exec_str_ << init_tap_draw("else if(#{cond}) begin\n")
        
            @_init_tap_cnt_ += 1
            block.call self
            @_init_tap_cnt_ -= 1
            @_master_draw_exec_str_ << init_tap_draw("end\n")
        end
    
        define_singleton_method("belse") do |&block|
            @_master_draw_exec_str_ << init_tap_draw("else begin\n")
        
            @_init_tap_cnt_ += 1
            block.call self
            @_init_tap_cnt_ -= 1
            @_master_draw_exec_str_ << init_tap_draw("end\n")
        end
    
        define_singleton_method(:wait) do |s,edge=nil|
            if edge.nil?
                @_master_draw_exec_str_ << init_tap_draw("wait(#{s});\n")
            elsif edge.to_s.eql? "raising"
                @_master_draw_exec_str_ << init_tap_draw("@(posedge #{align_signal(s)});\n")
            elsif edge.to_s.eql? "falling"
                @_master_draw_exec_str_ << init_tap_draw("@(negedge #{align_signal(s)});\n")
            end
        end
    
        define_singleton_method("gen_axi_stream") do |len:0,rate:100|
            @_master_draw_exec_str_ << init_tap_draw("MasterBfm#{name}.gen_axi_stream(#{len},#{rate},#{@wdata_name});\n")
        end
    
        define_singleton_method(:init_tap_draw) do |str|
            "#{"    "*@_init_tap_cnt_}#{str.to_s}"
        end

        return self
    end
to_simple_sim_master_coe(enable: 1.b1, length: [10,200], gap_len: [0,10], data: [ (0...100) ] , vld_perc: [50, 100], loop_coe: true) click to toggle source
# File lib/tdl/exlib/axis_verify.rb, line 131
def to_simple_sim_master_coe(enable: 1.b1, length: [10,200], gap_len: [0,10], data: [ (0...100) ] , vld_perc: [50, 100], loop_coe: true)
    # raise TdlError.new "file cant be empty"  unless file
    file = File.join(AxiTdl::TDL_PATH,"./auto_script/tmp/","coe_#{self.name}_#{globle_random_name_flag}.coe")
    _sps = nil
    ClassHDL::AssignDefOpertor.with_rollback_opertors(:old) do
        require_sdl 'axis_sim_master_model.rb'
        File.open(file,'w') do |f|
            _sps = AxiTdl::AxisVerify::SimpleStreams.new(length: length, gap_len: gap_len, data: data , vld_perc: vld_perc)
            f.print _sps.coe
        end
    end

    self.define_singleton_method(:verification) do 
        _sps 
    end

    @belong_to_module.instance_exec(self,file,loop_coe,enable) do |_self,file,loop_coe,_enable| 

        Instance(:axis_sim_master_model,"sim_model_inst_#{_self.name}") do |h| 
            h.param.LOOP                (loop_coe ? "TRUE" : "FALSE")
            h.param.RAM_DEPTH           File.open(File.expand_path(file)).readlines.size
            h.input.enable              _enable
            h.input.load_trigger        1.b0
            h.input[32].total_length    h.param.RAM_DEPTH
            h.input[512*8].mem_file     File.expand_path(file) # {axis_tvalid, axis_tuser, axis_tkeep, axis_tlast, axis_tdata}
            h.port.axis.master.out_inf  _self
        end
    end

end
to_simple_sim_slaver(rdy_percetage=50,loop_rdy=true) click to toggle source
# File lib/tdl/exlib/axis_verify.rb, line 162
def to_simple_sim_slaver(rdy_percetage=50,loop_rdy=true)
    unless rdy_percetage.is_a?(Array)
        @belong_to_module.instance_exec(self) do |_self|

            always_ff(posedge: _self.aclk) do 
                IF ~_self.aresetn do 
                    _self.axis_tready   <= 1.b0 
                end
                ELSE do 
                    _self.axis_tready   <= rdy_percetage.precent_true
                end
            end
        end
    else  
        @belong_to_module.instance_exec(self,rdy_percetage,loop_rdy) do |_self,rdy_percetage,loop_rdy|

            __xx = logic[32] - "#{_self.name}_rdy_percetage_index"
            __rr = logic[rdy_percetage.size, 32] - "#{_self.name}_rdy_percetage"
            Initial do 
                __xx <= 0
                rdy_percetage.each_index do |index|
                    __rr[index] <= rdy_percetage[index]
                end
            end 

            Always(posedge: _self.aclk) do 
                IF _self.vld_rdy_last do 
                    IF __xx >= (rdy_percetage.size - 1 ) do 
                        if loop_rdy  
                            __xx <= 0
                        else 
                            __xx <= __xx 
                            __rr[__xx] = 0
                        end
                    end
                    ELSE do 
                        __xx <= __xx + 1.b1 
                    end
                end
                ELSE do 
                    __xx <= __xx 
                end
            end 

            always_ff(posedge: _self.aclk) do 
                IF ~_self.aresetn do 
                    _self.axis_tready   <= 1.b0 
                end
                ELSE do 
                    _self.axis_tready   <= "($urandom_range(0,99) <= #{__rr[__xx]})".to_nq
                end
            end
        end
    end
end
vcs_comptable(origin: 'master',to: 'slaver') click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 633
def vcs_comptable(origin: 'master',to: 'slaver')

    if belong_to_module.respond_to? "#{@name}_#{origin}_to_#{to}"
        return belong_to_module.send("#{@name}_#{origin}_to_#{to}").name.to_nq
    end
    ''' 返回字符串'''
    # idm = belong_to_module.instance_variable_get("@_include_define_macro_")
    # unless idm
    #     unless belong_to_module.ex_up_code
    #         belong_to_module.ex_up_code = '`include "define_macro.sv"'+"\n"
    #     else
    #         belong_to_module.ex_up_code += "`include \"define_macro.sv\"\n"
    #     end
    #     belong_to_module.instance_variable_set("@_include_define_macro_",true)
    # end

    # str  = "\n`VCS_AXIS_CPT(#{@name},#{origin},#{to})\n"
    # belong_to_module.AxiStream_draw << str
    # @_vcs_cpt_ =  "`#{@name}_vcs_cpt".to_nq
    # return @_vcs_cpt_
    belong_to_module.instance_exec(self,origin,to) do |origin_inf,origin_modport,to_modport|
        Instance(:vcs_axis_comptable,"vcs_axis_comptable_#{origin_inf.name}_#{origin_modport}_#{to_modport}_inst") do |h|
            h[:ORIGIN]  = origin_modport
            h[:TO]      = to_modport
            h[:origin]  = origin_inf
            h[:to]      = origin_inf.copy(name: "#{origin_inf.name}_#{origin_modport}_to_#{to_modport}")
        end
    end

    return belong_to_module.send("#{@name}_#{origin}_to_#{to}").name.to_nq
end
vld_rdy() click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 559
def vld_rdy
    axis_tvalid.concat(" && ").concat(axis_tready)
end
vld_rdy_last() click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 563
def vld_rdy_last
    axis_tvalid.concat(" && ").concat(axis_tready).concat(" && ").concat(axis_tlast)
end
x_all_bits_slice(name: "slice_ click to toggle source
# File lib/tdl/exlib/axis_eth_ex.rb, line 30
def x_all_bits_slice(name: "slice_#{globle_random_name_flag()}", start: 8*4,length:32)
    raise TdlError.new("#{name} is not ethernet stream, before used it must be call to_eth") unless @__ethernet_type__
    # @belong_to_module.logic[length]     - name
    @belong_to_module.instance_exec(self,name,start,length,@__ethernet_type__) do |_targget_axis, _name, _start, _length, _ethernet_type|
        logic[_length]     - _name
        _end = _start + _length -1

        ## 如果选的区域在一个Clock里面
        if _start / _ethernet_type == (_end) / _ethernet_type
            _target_cnt = _start/_ethernet_type

            always_ff(posedge: _targget_axis.aclk, negedge: _targget_axis.aresetn) do 
                IF ~_targget_axis.aresetn do 
                    signal(_name)   <= 0.A 
                end
                ELSE do 
                    IF _targget_axis.vld_rdy do 
                        IF (_targget_axis.axis_tcnt[15,0] == "16'd#{_target_cnt}".to_nq) do
                            signal(_name) <= _targget_axis.axis_tdata[rubyOP{_ethernet_type - _start%_ethernet_type - 1}, rubyOP{_ethernet_type - _end%_ethernet_type - 1}, ]
                        end 
                        ELSE do 
                            signal(_name) <= signal(_name)
                        end
                    end
                    ELSE do 
                        signal(_name)   <= signal(_name)
                    end
                end
            end
        end

        ## 如果夸Clock
        if _start / _ethernet_type != (_end) / _ethernet_type
            _slice_range = ( (_start / _ethernet_type)..(_end) / _ethernet_type ).to_a

            always_ff(posedge: _targget_axis.aclk, negedge: _targget_axis.aresetn) do 
                IF ~_targget_axis.aresetn do 
                    signal(_name)   <= 0.A 
                end
                ELSE do 
                    IF _targget_axis.vld_rdy do 
                        _slice_range.each do |e|
                            IF (_targget_axis.axis_tcnt[15,0] == "16'd#{e}".to_nq) do
                                ##第一个
                                if ClassHDL::AssignDefOpertor.with_rollback_opertors(:old,&(proc { e == _slice_range.first}) )  
                                    signal(_name)[rubyOP{_length-1}, rubyOP{_length - (_ethernet_type - _start%_ethernet_type)}] <= _targget_axis.axis_tdata[rubyOP{_ethernet_type - _start%_ethernet_type-1}, 0]
                                ## 最后一个
                                elsif ClassHDL::AssignDefOpertor.with_rollback_opertors(:old,&(proc { e == _slice_range.last}) )  
                                    signal(_name)[rubyOP{_end%_ethernet_type},0] <= _targget_axis.axis_tdata[rubyOP{_ethernet_type-1}, rubyOP{_ethernet_type-_end%_ethernet_type-1}]
                                else 
                                    signal(_name)[rubyOP{(_end - e*_ethernet_type)}, rubyOP{(_end - e*_ethernet_type - _ethernet_type+1)}] <= _targget_axis.axis_tdata
                                end
                            end
                        end
                    end
                    ELSE do 
                        signal(_name)   <= signal(_name)
                    end
                end
            end

        end
    end
    @belong_to_module.signal(name)
end
|(down_stream) click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 439
def |(down_stream) # pipe
    raise TdlError.new("#{down_stream} is not a AxiStream") unless down_stream.is_a? AxiStream
    raise TdlError.new("PIPE '|' axi stream dsize dont eql !!! \n") if down_stream.dsize != @dsize
    AxiStream.axis_connect_pipe(dsize:@dsize,up_stream:self,down_stream:down_stream)
    return down_stream
end

Private Instance Methods

_axi4_rd_auxiliary_gen_draw( id_add_len_in:"id_add_len_in", axi_rd_aux:"axi_rd_aux" ) click to toggle source
# File lib/tdl/axi4/axi4_rd_auxiliary_gen_auto.rb, line 33
    def _axi4_rd_auxiliary_gen_draw(
        id_add_len_in:"id_add_len_in",
        axi_rd_aux:"axi_rd_aux"
    )

        large_name_len(
            id_add_len_in,
            axi_rd_aux
        )
        instance_name = "axi4_rd_auxiliary_gen_#{signal}_inst"
"
// FilePath:::../../axi/AXI4/axi4_rd_auxiliary_gen.sv
axi4_rd_auxiliary_gen #{instance_name}(
/*  axi_stream_inf.slaver*/ .id_add_len_in (#{align_signal(id_add_len_in,q_mark=false)}),
/*  axi_inf.master_rd_aux*/ .axi_rd_aux    (#{align_signal(axi_rd_aux,q_mark=false)})
);
"
    end
_axi4_wr_auxiliary_gen_without_resp_draw( stream_en:"stream_en", id_add_len_in:"id_add_len_in", axi_wr_aux:"axi_wr_aux" ) click to toggle source
# File lib/tdl/axi4/axi4_wr_auxiliary_gen_without_resp_auto.rb, line 35
    def _axi4_wr_auxiliary_gen_without_resp_draw(
        stream_en:"stream_en",
        id_add_len_in:"id_add_len_in",
        axi_wr_aux:"axi_wr_aux"
    )

        large_name_len(
            stream_en,
            id_add_len_in,
            axi_wr_aux
        )
        instance_name = "axi4_wr_auxiliary_gen_without_resp_#{signal}_inst"
"
// FilePath:::../../axi/AXI4/axi4_wr_auxiliary_gen_without_resp.sv
axi4_wr_auxiliary_gen_without_resp #{instance_name}(
/*  output                       */ .stream_en     (#{align_signal(stream_en,q_mark=false)}),
/*  axi_stream_inf.slaver        */ .id_add_len_in (#{align_signal(id_add_len_in,q_mark=false)}),
/*  axi_inf.master_wr_aux_no_resp*/ .axi_wr_aux    (#{align_signal(axi_wr_aux,q_mark=false)})
);
"
    end
_axi_stream_interconnect_m2s_draw( num:8, addr:"addr", s00:"s00", m00:"m00" ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_M2S.rb, line 37
    def _axi_stream_interconnect_m2s_draw(
        num:8,
        addr:"addr",
        s00:"s00",
        m00:"m00"
    )

        large_name_len(
            num,
            addr,
            s00,
            m00
        )
        instance_name = "axi_stream_interconnect_M2S_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_stream_interconnect_M2S.sv
axi_stream_interconnect_M2S#(
    .NUM    (#{align_signal(num)})
) #{instance_name}(
/*  input  [NSIZE-1:0]   */ .addr (#{align_signal(addr,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .s00  (#{align_signal(s00,q_mark=false)}),
/*  axi_stream_inf.master*/ .m00  (#{align_signal(m00,q_mark=false)})
);
"
    end
_axi_stream_interconnect_s2m_auto_draw( head_dummy:4, num:4, slaver:"slaver", sub_tx_inf:"sub_tx_inf", up_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_S2M_auto_auto.rb, line 39
    def _axi_stream_interconnect_s2m_auto_draw(
        head_dummy:4,
        num:4,
        slaver:"slaver",
        sub_tx_inf:"sub_tx_inf",
        up_stream:nil
    )

        large_name_len(
            head_dummy,
            num,
            slaver,
            sub_tx_inf
        )
        instance_name = "axi_stream_interconnect_S2M_auto_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_stream_interconnect_S2M_auto.sv
axi_stream_interconnect_S2M_auto#(
    .HEAD_DUMMY    (#{align_signal(head_dummy)}),
    .NUM           (#{align_signal(num)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .slaver     (#{align_signal(slaver,q_mark=false)}),
/*  axi_stream_inf.master*/ .sub_tx_inf (#{align_signal(sub_tx_inf,q_mark=false)})
);
"
    end
_axi_stream_interconnect_s2m_draw( num:8, addr:"addr", s00:"s00", m00:"m00" ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_S2M.rb, line 38
    def _axi_stream_interconnect_s2m_draw(
        num:8,
        addr:"addr",
        s00:"s00",
        m00:"m00"
    )

        large_name_len(
            num,
            addr,
            s00,
            m00
        )
        instance_name = "axi_stream_interconnect_S2M_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_stream_interconnect_S2M.sv
axi_stream_interconnect_S2M#(
    .NUM    (#{align_signal(num)})
) #{instance_name}(
/*  input  [NSIZE-1:0]   */ .addr (#{align_signal(addr,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .s00  (#{align_signal(s00,q_mark=false)}),
/*  axi_stream_inf.master*/ .m00  (#{align_signal(m00,q_mark=false)})
);
"
    end
_axi_stream_interconnect_s2m_with_keep_draw( num:8, nsize:"NUM <= 2? 1 :", addr:"addr", s00:"s00", m00:"m00" ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_S2M_with_keep.sv_auto.rb, line 39
    def _axi_stream_interconnect_s2m_with_keep_draw(
        num:8,
        nsize:"NUM <= 2? 1 :",
        addr:"addr",
        s00:"s00",
        m00:"m00"
    )

        large_name_len(
            num,
            nsize,
            addr,
            s00,
            m00
        )
        instance_name = "axi_stream_interconnect_S2M_with_keep_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_stream_interconnect_S2M_with_keep.sv.bak
axi_stream_interconnect_S2M_with_keep#(
    .NUM      (#{align_signal(num)}),
    .NSIZE    (#{align_signal(nsize)})
) #{instance_name}(
/*  input  [NSIZE-1:0]   */ .addr (#{align_signal(addr,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .s00  (#{align_signal(s00,q_mark=false)}),
/*  axi_stream_inf.master*/ .m00  (#{align_signal(m00,q_mark=false)})
);
"
    end
_axis_full_to_data_c_draw( data_out_inf:"data_out_inf", axis_in:"axis_in" ) click to toggle source
# File lib/tdl/axi_stream/axis_full_to_data_c_auto.rb, line 33
    def _axis_full_to_data_c_draw(
        data_out_inf:"data_out_inf",
        axis_in:"axis_in"
    )

        large_name_len(
            data_out_inf,
            axis_in
        )
        instance_name = "axis_full_to_data_c_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_full_to_data_c.sv
axis_full_to_data_c #{instance_name}(
/*  data_inf_c.master    */ .data_out_inf (#{align_signal(data_out_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in      (#{align_signal(axis_in,q_mark=false)})
);
"
    end
_axis_slaver_empty_draw( slaver:"slaver", up_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_slaver_empty_auto.rb, line 32
    def _axis_slaver_empty_draw(
        slaver:"slaver",
        up_stream:nil
    )

        large_name_len(
            slaver
        )
        instance_name = "axis_slaver_empty_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_slaver_empty.sv
axis_slaver_empty #{instance_name}(
/*  axi_stream_inf.slaver*/ .slaver (#{align_signal(slaver,q_mark=false)})
);
"
    end
_axis_to_axi4_or_lite_draw( lite:"lite", axis_in:"axis_in", rd_rel_axis:"rd_rel_axis", axi4:"axi4" ) click to toggle source
# File lib/tdl/axi_stream/axis_to_axi4_or_lite_auto.rb, line 39
    def _axis_to_axi4_or_lite_draw(
        lite:"lite",
        axis_in:"axis_in",
        rd_rel_axis:"rd_rel_axis",
        axi4:"axi4"
    )

        large_name_len(
            lite,
            axis_in,
            rd_rel_axis,
            axi4
        )
        instance_name = "axis_to_axi4_or_lite_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_to_axi4_or_lite.sv
axis_to_axi4_or_lite #{instance_name}(
/*  axi_lite_inf.master  */ .lite        (#{align_signal(lite,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in     (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .rd_rel_axis (#{align_signal(rd_rel_axis,q_mark=false)}),
/*  axi_inf.master       */ .axi4        (#{align_signal(axi4,q_mark=false)})
);
"
    end
_axis_to_axi4_wr_draw( addr:"addr", max_length:"max_length", axis_in:"axis_in", axi_wr:"axi_wr" ) click to toggle source
# File lib/tdl/axi4/axis_to_axi4_wr_auto.rb, line 37
    def _axis_to_axi4_wr_draw(
        addr:"addr",
        max_length:"max_length",
        axis_in:"axis_in",
        axi_wr:"axi_wr"
    )

        large_name_len(
            addr,
            max_length,
            axis_in,
            axi_wr
        )
        instance_name = "axis_to_axi4_wr_#{signal}_inst"
"
// FilePath:::../../axi/AXI4/axis_to_axi4_wr.sv
axis_to_axi4_wr #{instance_name}(
/*  input  [31:0]        */ .addr       (#{align_signal(addr,q_mark=false)}),
/*  input  [31:0]        */ .max_length (#{align_signal(max_length,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in    (#{align_signal(axis_in,q_mark=false)}),
/*  axi_inf.master_wr    */ .axi_wr     (#{align_signal(axi_wr,q_mark=false)})
);
"
    end
_axis_to_data_inf_draw( contain_last:"OFF", data_out_inf:"data_out_inf", axis_in:"axis_in" ) click to toggle source
# File lib/tdl/axi_stream/axis_to_data_inf_auto.rb, line 35
    def _axis_to_data_inf_draw(
        contain_last:"OFF",
        data_out_inf:"data_out_inf",
        axis_in:"axis_in"
    )

        large_name_len(
            contain_last,
            data_out_inf,
            axis_in
        )
        instance_name = "axis_to_data_inf_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_to_data_inf.sv
axis_to_data_inf#(
    .CONTAIN_LAST    (#{align_signal(contain_last)})
) #{instance_name}(
/*  data_inf_c.master    */ .data_out_inf (#{align_signal(data_out_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in      (#{align_signal(axis_in,q_mark=false)})
);
"
    end
_axis_to_lite_rd_draw( dummy:8, lite:"lite", axis_in:"axis_in", rd_rel_axis:"rd_rel_axis" ) click to toggle source
# File lib/tdl/axi_stream/axis_to_lite_rd_auto.rb, line 38
    def _axis_to_lite_rd_draw(
        dummy:8,
        lite:"lite",
        axis_in:"axis_in",
        rd_rel_axis:"rd_rel_axis"
    )

        large_name_len(
            dummy,
            lite,
            axis_in,
            rd_rel_axis
        )
        instance_name = "axis_to_lite_rd_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_to_lite_rd.sv
axis_to_lite_rd#(
    .DUMMY    (#{align_signal(dummy)})
) #{instance_name}(
/*  axi_lite_inf.master_rd*/ .lite        (#{align_signal(lite,q_mark=false)}),
/*  axi_stream_inf.slaver */ .axis_in     (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master */ .rd_rel_axis (#{align_signal(rd_rel_axis,q_mark=false)})
);
"
    end
_axis_to_lite_wr_draw( dummy:8, lite:"lite", axis_in:"axis_in" ) click to toggle source
# File lib/tdl/axi_stream/axis_to_lite_wr_auto.rb, line 35
    def _axis_to_lite_wr_draw(
        dummy:8,
        lite:"lite",
        axis_in:"axis_in"
    )

        large_name_len(
            dummy,
            lite,
            axis_in
        )
        instance_name = "axis_to_lite_wr_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_to_lite_wr.sv
axis_to_lite_wr#(
    .DUMMY    (#{align_signal(dummy)})
) #{instance_name}(
/*  axi_lite_inf.master_wr*/ .lite    (#{align_signal(lite,q_mark=false)}),
/*  axi_stream_inf.slaver */ .axis_in (#{align_signal(axis_in,q_mark=false)})
);
"
    end
_axis_uncompress_draw( asize:8, lsize:8, axis_zip:"axis_zip", axis_unzip:"axis_unzip" ) click to toggle source
# File lib/tdl/axi_stream/axis_uncompress_auto.rb, line 37
    def _axis_uncompress_draw(
        asize:8,
        lsize:8,
        axis_zip:"axis_zip",
        axis_unzip:"axis_unzip"
    )

        large_name_len(
            asize,
            lsize,
            axis_zip,
            axis_unzip
        )
        instance_name = "axis_uncompress_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_uncompress.sv
axis_uncompress#(
    .ASIZE    (#{align_signal(asize)}),
    .LSIZE    (#{align_signal(lsize)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_zip   (#{align_signal(axis_zip,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_unzip (#{align_signal(axis_unzip,q_mark=false)})
);
"
    end
_data_c_to_axis_full_draw( data_in_inf:"data_in_inf", axis_out:"axis_out" ) click to toggle source
# File lib/tdl/axi_stream/data_c_to_axis_full_auto.rb, line 33
    def _data_c_to_axis_full_draw(
        data_in_inf:"data_in_inf",
        axis_out:"axis_out"
    )

        large_name_len(
            data_in_inf,
            axis_out
        )
        instance_name = "data_c_to_axis_full_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/data_c_to_axis_full.sv
data_c_to_axis_full #{instance_name}(
/*  data_inf_c.slaver    */ .data_in_inf (#{align_signal(data_in_inf,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out    (#{align_signal(axis_out,q_mark=false)})
);
"
    end
_wide_axis_to_axi4_wr_draw( addr:"addr", max_length:"max_length", axis_in:"axis_in", axi_wr:"axi_wr" ) click to toggle source
# File lib/tdl/axi4/wide_axis_to_axi4_wr.rb, line 37
    def _wide_axis_to_axi4_wr_draw(
        addr:"addr",
        max_length:"max_length",
        axis_in:"axis_in",
        axi_wr:"axi_wr"
    )

        large_name_len(
            addr,
            max_length,
            axis_in,
            axi_wr
        )
        instance_name = "wide_axis_to_axi4_wr_#{signal}_inst"
"
// FilePath:::../../axi/AXI4/wide_axis_to_axi4_wr.sv
wide_axis_to_axi4_wr #{instance_name}(
/*  input  [31:0]        */ .addr       (#{align_signal(addr,q_mark=false)}),
/*  input  [31:0]        */ .max_length (#{align_signal(max_length,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in    (#{align_signal(axis_in,q_mark=false)}),
/*  axi_inf.master_wr    */ .axi_wr     (#{align_signal(axi_wr,q_mark=false)})
);
"
    end
addr_interconnect_draw() click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 135
    def addr_interconnect_draw
"
axi_stream_interconnect_M2S #(
    .NUM        (#{@interconnect_up_streams.length})
)#{name}_M2S_inst(
/*  input [NSIZE-1:0]     */ .addr     (#{align_signal(@m2s_interconnect_addr)}),
/*  axi_stream_inf.slaver */ .s00      (sub_#{(name)} ), //[NUM-1:0],
/*  axi_stream_inf.master */ .m00      (#{name}) //
);
"
    end
axi_stream_cache_35bit_draw( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_35bit_auto.rb, line 50
    def axi_stream_cache_35bit_draw(
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_cache_35bit_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/stream_cache/axi_stream_cache_35bit.sv
axi_stream_cache_35bit #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_cache_72_95bit_with_keep_draw( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_72_95bit_with_keep_auto.rb, line 50
    def axi_stream_cache_72_95bit_with_keep_draw(
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_cache_72_95bit_with_keep_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/stream_cache/axi_stream_cache_72_95bit_with_keep.sv
axi_stream_cache_72_95bit_with_keep #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_cache_b1_draw( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_B1_auto.rb, line 50
    def axi_stream_cache_b1_draw(
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_cache_B1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/stream_cache/axi_stream_cache_B1.sv
axi_stream_cache_B1 #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_cache_draw( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_auto.rb, line 50
    def axi_stream_cache_draw(
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_cache_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/stream_cache/axi_stream_cache.sv
axi_stream_cache #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_cache_mirror_draw( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_mirror_auto.rb, line 50
    def axi_stream_cache_mirror_draw(
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_cache_mirror_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/stream_cache/axi_stream_cache_mirror.sv
axi_stream_cache_mirror #{instance_name}(
/*  axi_stream_inf.mirror    */ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.out_mirror*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_cache_verb_draw( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_cache_verb_auto.rb, line 50
    def axi_stream_cache_verb_draw(
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_cache_verb_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/stream_cache/axi_stream_cache_verb.sv
axi_stream_cache_verb #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_interconnect_m2s_a1_draw( num:8, s00:"s00", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_M2S_A1.rb, line 45
    def axi_stream_interconnect_m2s_a1_draw(
        num:8,
        s00:"s00",
        m00:"m00",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            num,
            s00,
            m00
        )
        instance_name = "axi_stream_interconnect_M2S_A1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_stream_interconnect_M2S_A1.sv
axi_stream_interconnect_M2S_A1#(
    .NUM    (#{align_signal(num)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .s00 (#{align_signal(s00,q_mark=false)}),
/*  axi_stream_inf.master*/ .m00 (#{align_signal(m00,q_mark=false)})
);
"
    end
axi_stream_interconnect_m2s_bind_tuser_draw( num:8, s00:"s00", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect_M2S_bind_tuser_auto.rb, line 52
    def axi_stream_interconnect_m2s_bind_tuser_draw(
        num:8,
        s00:"s00",
        m00:"m00",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            num,
            s00,
            m00
        )
        instance_name = "axi_stream_interconnect_M2S_bind_tuser_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_stream_interconnect_M2S_bind_tuser.sv
axi_stream_interconnect_M2S_bind_tuser#(
    .NUM    (#{align_signal(num)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .s00 (#{align_signal(s00,q_mark=false)}),
/*  axi_stream_inf.master*/ .m00 (#{align_signal(m00,q_mark=false)})
);
"
    end
axi_stream_long_cache_draw( depth:8192, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_long_cache_auto.rb, line 52
    def axi_stream_long_cache_draw(
        depth:8192,
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            depth,
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_long_cache_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/stream_cache/axi_stream_long_cache.sv
axi_stream_long_cache#(
    .DEPTH    (#{align_signal(depth)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_long_fifo_draw( depth:2, byte_depth:8192*2, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_long_fifo_auto.rb, line 54
    def axi_stream_long_fifo_draw(
        depth:2,
        byte_depth:8192*2,
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            depth,
            byte_depth,
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_long_fifo_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/packet_fifo/axi_stream_long_fifo.sv
axi_stream_long_fifo#(
    .DEPTH         (#{align_signal(depth)}),
    .BYTE_DEPTH    (#{align_signal(byte_depth)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_long_fifo_verb_draw( depth:2, byte_depth:8192*2, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_long_fifo_verb_auto.rb, line 54
    def axi_stream_long_fifo_verb_draw(
        depth:2,
        byte_depth:8192*2,
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            depth,
            byte_depth,
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_long_fifo_verb_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/packet_fifo/axi_stream_long_fifo_verb.sv
axi_stream_long_fifo_verb#(
    .DEPTH         (#{align_signal(depth)}),
    .BYTE_DEPTH    (#{align_signal(byte_depth)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_packet_fifo_draw( depth:2 , axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_packet_fifo_auto.rb, line 52
    def axi_stream_packet_fifo_draw(
        depth:2   ,
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            depth,
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_packet_fifo_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/packet_fifo/axi_stream_packet_fifo.sv
axi_stream_packet_fifo#(
    .DEPTH    (#{align_signal(depth)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_packet_fifo_with_info_draw( depth:2, esize:8, info_in:"info_in", info_out:"info_out", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_packet_fifo_with_info_auto.rb, line 58
    def axi_stream_packet_fifo_with_info_draw(
        depth:2,
        esize:8,
        info_in:"info_in",
        info_out:"info_out",
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            depth,
            esize,
            info_in,
            info_out,
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_packet_fifo_with_info_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/packet_fifo/axi_stream_packet_fifo_with_info.sv
axi_stream_packet_fifo_with_info#(
    .DEPTH    (#{align_signal(depth)}),
    .ESIZE    (#{align_signal(esize)})
) #{instance_name}(
/*  input  [ESIZE-1:0]   */ .info_in  (#{align_signal(info_in,q_mark=false)}),
/*  output [ESIZE-1:0]   */ .info_out (#{align_signal(info_out,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_partition_a1_draw( valve:"valve", partition_len:"partition_len", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_partition_A1_auto.rb, line 54
    def axi_stream_partition_a1_draw(
        valve:"valve",
        partition_len:"partition_len",
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            valve,
            partition_len,
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_partition_A1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_stream_partition_A1.sv
axi_stream_partition_A1 #{instance_name}(
/*  input                */ .valve         (#{align_signal(valve,q_mark=false)}),
/*  input  [31:0]        */ .partition_len (#{align_signal(partition_len,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in       (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out      (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_partition_draw( valve:"valve", partition_len:"partition_len", req_new_len:"req_new_len", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_partition_auto.rb, line 56
    def axi_stream_partition_draw(
        valve:"valve",
        partition_len:"partition_len",
        req_new_len:"req_new_len",
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            valve,
            partition_len,
            req_new_len,
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_partition_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_stream_partition.sv
axi_stream_partition #{instance_name}(
/*  input                */ .valve         (#{align_signal(valve,q_mark=false)}),
/*  input  [31:0]        */ .partition_len (#{align_signal(partition_len,q_mark=false)}),
/*  output               */ .req_new_len   (#{align_signal(req_new_len,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in       (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out      (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_stream_wide_fifo_draw( depth:2, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_stream_wide_fifo_auto.rb, line 52
    def axi_stream_wide_fifo_draw(
        depth:2,
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            depth,
            axis_in,
            axis_out
        )
        instance_name = "axi_stream_wide_fifo_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/packet_fifo/axi_stream_wide_fifo.sv
axi_stream_wide_fifo#(
    .DEPTH    (#{align_signal(depth)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axi_streams_combin_a1_draw( mode:"BOTH", cut_or_combin_body:"ON", new_body_len:"new_body_len", trigger_signal:"trigger_signal", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_combin_A1_auto.rb, line 64
    def axi_streams_combin_a1_draw(
        mode:"BOTH",
        cut_or_combin_body:"ON",
        new_body_len:"new_body_len",
        trigger_signal:"trigger_signal",
        head_inf:"head_inf",
        body_inf:"body_inf",
        end_inf:"end_inf",
        m00:"m00",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            mode,
            cut_or_combin_body,
            new_body_len,
            trigger_signal,
            head_inf,
            body_inf,
            end_inf,
            m00
        )
        instance_name = "axi_streams_combin_A1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_streams_combin_A1.sv
axi_streams_combin_A1#(
    .MODE                  (#{align_signal(mode)}),
    .CUT_OR_COMBIN_BODY    (#{align_signal(cut_or_combin_body)})
) #{instance_name}(
/*  input  [15:0]        */ .new_body_len   (#{align_signal(new_body_len,q_mark=false)}),
/*  input                */ .trigger_signal (#{align_signal(trigger_signal,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .head_inf       (#{align_signal(head_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .body_inf       (#{align_signal(body_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .end_inf        (#{align_signal(end_inf,q_mark=false)}),
/*  axi_stream_inf.master*/ .m00            (#{align_signal(m00,q_mark=false)})
);
"
    end
axi_streams_combin_draw( mode:"BOTH", cut_or_combin_body:"ON", dsize:8, new_body_len:"new_body_len", trigger_signal:"trigger_signal", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_combin_auto.rb, line 66
    def axi_streams_combin_draw(
        mode:"BOTH",
        cut_or_combin_body:"ON",
        dsize:8,
        new_body_len:"new_body_len",
        trigger_signal:"trigger_signal",
        head_inf:"head_inf",
        body_inf:"body_inf",
        end_inf:"end_inf",
        m00:"m00",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            mode,
            cut_or_combin_body,
            dsize,
            new_body_len,
            trigger_signal,
            head_inf,
            body_inf,
            end_inf,
            m00
        )
        instance_name = "axi_streams_combin_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_streams_combin.sv
axi_streams_combin#(
    .MODE                  (#{align_signal(mode)}),
    .CUT_OR_COMBIN_BODY    (#{align_signal(cut_or_combin_body)}),
    .DSIZE                 (#{align_signal(dsize)})
) #{instance_name}(
/*  input  [15:0]        */ .new_body_len   (#{align_signal(new_body_len,q_mark=false)}),
/*  input                */ .trigger_signal (#{align_signal(trigger_signal,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .head_inf       (#{align_signal(head_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .body_inf       (#{align_signal(body_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .end_inf        (#{align_signal(end_inf,q_mark=false)}),
/*  axi_stream_inf.master*/ .m00            (#{align_signal(m00,q_mark=false)})
);
"
    end
axi_streams_scaler_a1_draw( mode:"BOTH", cut_or_combin_body:"ON", new_body_len:"new_body_len", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_scaler_A1_auto.rb, line 62
    def axi_streams_scaler_a1_draw(
        mode:"BOTH",
        cut_or_combin_body:"ON",
        new_body_len:"new_body_len",
        head_inf:"head_inf",
        body_inf:"body_inf",
        end_inf:"end_inf",
        m00:"m00",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            mode,
            cut_or_combin_body,
            new_body_len,
            head_inf,
            body_inf,
            end_inf,
            m00
        )
        instance_name = "axi_streams_scaler_A1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_streams_scaler_A1.sv
axi_streams_scaler_A1#(
    .MODE                  (#{align_signal(mode)}),
    .CUT_OR_COMBIN_BODY    (#{align_signal(cut_or_combin_body)})
) #{instance_name}(
/*  input  [15:0]        */ .new_body_len (#{align_signal(new_body_len,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .head_inf     (#{align_signal(head_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .body_inf     (#{align_signal(body_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .end_inf      (#{align_signal(end_inf,q_mark=false)}),
/*  axi_stream_inf.master*/ .m00          (#{align_signal(m00,q_mark=false)})
);
"
    end
axi_streams_scaler_draw( mode:"BOTH", cut_or_combin_body:"ON", dsize:8, new_body_len:"new_body_len", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axi_streams_scaler_auto.rb, line 64
    def axi_streams_scaler_draw(
        mode:"BOTH",
        cut_or_combin_body:"ON",
        dsize:8,
        new_body_len:"new_body_len",
        head_inf:"head_inf",
        body_inf:"body_inf",
        end_inf:"end_inf",
        m00:"m00",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            mode,
            cut_or_combin_body,
            dsize,
            new_body_len,
            head_inf,
            body_inf,
            end_inf,
            m00
        )
        instance_name = "axi_streams_scaler_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axi_streams_scaler.sv
axi_streams_scaler#(
    .MODE                  (#{align_signal(mode)}),
    .CUT_OR_COMBIN_BODY    (#{align_signal(cut_or_combin_body)}),
    .DSIZE                 (#{align_signal(dsize)})
) #{instance_name}(
/*  input  [15:0]        */ .new_body_len (#{align_signal(new_body_len,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .head_inf     (#{align_signal(head_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .body_inf     (#{align_signal(body_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .end_inf      (#{align_signal(end_inf,q_mark=false)}),
/*  axi_stream_inf.master*/ .m00          (#{align_signal(m00,q_mark=false)})
);
"
    end
axis_append_a1_draw( mode:"BOTH", dsize:8, head_field_len:16*8, head_field_name:"HEAD Filed", end_field_len:16*8, end_field_name:"END Filed", enable:"enable", head_value:"head_value", end_value:"end_value", origin_in:"origin_in", append_out:"append_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_append_A1_auto.rb, line 68
    def axis_append_a1_draw(
        mode:"BOTH",
        dsize:8,
        head_field_len:16*8,
        head_field_name:"HEAD Filed",
        end_field_len:16*8,
        end_field_name:"END Filed",
        enable:"enable",
        head_value:"head_value",
        end_value:"end_value",
        origin_in:"origin_in",
        append_out:"append_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            mode,
            dsize,
            head_field_len,
            head_field_name,
            end_field_len,
            end_field_name,
            enable,
            head_value,
            end_value,
            origin_in,
            append_out
        )
        instance_name = "axis_append_A1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_append_A1.sv
axis_append_A1#(
    .MODE               (#{align_signal(mode)}),
    .DSIZE              (#{align_signal(dsize)}),
    .HEAD_FIELD_LEN     (#{align_signal(head_field_len)}),
    .HEAD_FIELD_NAME    (#{align_signal(head_field_name)}),
    .END_FIELD_LEN      (#{align_signal(end_field_len)}),
    .END_FIELD_NAME     (#{align_signal(end_field_name)})
) #{instance_name}(
/*  input                            */ .enable     (#{align_signal(enable,q_mark=false)}),
/*  input  [HEAD_FIELD_LEN*DSIZE-1:0]*/ .head_value (#{align_signal(head_value,q_mark=false)}),
/*  input  [END_FIELD_LEN*DSIZE-1:0] */ .end_value  (#{align_signal(end_value,q_mark=false)}),
/*  axi_stream_inf.slaver            */ .origin_in  (#{align_signal(origin_in,q_mark=false)}),
/*  axi_stream_inf.master            */ .append_out (#{align_signal(append_out,q_mark=false)})
);
"
    end
axis_append_draw( mode:"BOTH", dsize:8, head_field_len:16*8, head_field_name:"HEAD Filed", end_field_len:16*8, end_field_name:"END Filed", head_value:"head_value", end_value:"end_value", origin_in:"origin_in", append_out:"append_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_append_auto.rb, line 66
    def axis_append_draw(
        mode:"BOTH",
        dsize:8,
        head_field_len:16*8,
        head_field_name:"HEAD Filed",
        end_field_len:16*8,
        end_field_name:"END Filed",
        head_value:"head_value",
        end_value:"end_value",
        origin_in:"origin_in",
        append_out:"append_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            mode,
            dsize,
            head_field_len,
            head_field_name,
            end_field_len,
            end_field_name,
            head_value,
            end_value,
            origin_in,
            append_out
        )
        instance_name = "axis_append_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_append.sv
axis_append#(
    .MODE               (#{align_signal(mode)}),
    .DSIZE              (#{align_signal(dsize)}),
    .HEAD_FIELD_LEN     (#{align_signal(head_field_len)}),
    .HEAD_FIELD_NAME    (#{align_signal(head_field_name)}),
    .END_FIELD_LEN      (#{align_signal(end_field_len)}),
    .END_FIELD_NAME     (#{align_signal(end_field_name)})
) #{instance_name}(
/*  input  [HEAD_FIELD_LEN*DSIZE-1:0]*/ .head_value (#{align_signal(head_value,q_mark=false)}),
/*  input  [END_FIELD_LEN*DSIZE-1:0] */ .end_value  (#{align_signal(end_value,q_mark=false)}),
/*  axi_stream_inf.slaver            */ .origin_in  (#{align_signal(origin_in,q_mark=false)}),
/*  axi_stream_inf.master            */ .append_out (#{align_signal(append_out,q_mark=false)})
);
"
    end
axis_combin_with_fifo_draw( mode:"BOTH", cut_or_combin_body:"ON", new_body_len:"new_body_len", head_inf:"head_inf", body_inf:"body_inf", end_inf:"end_inf", m00:"m00", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_combin_with_fifo_auto.rb, line 62
    def axis_combin_with_fifo_draw(
        mode:"BOTH",
        cut_or_combin_body:"ON",
        new_body_len:"new_body_len",
        head_inf:"head_inf",
        body_inf:"body_inf",
        end_inf:"end_inf",
        m00:"m00",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            mode,
            cut_or_combin_body,
            new_body_len,
            head_inf,
            body_inf,
            end_inf,
            m00
        )
        instance_name = "axis_combin_with_fifo_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_combin_with_fifo.sv
axis_combin_with_fifo#(
    .MODE                  (#{align_signal(mode)}),
    .CUT_OR_COMBIN_BODY    (#{align_signal(cut_or_combin_body)})
) #{instance_name}(
/*  input  [15:0]        */ .new_body_len (#{align_signal(new_body_len,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .head_inf     (#{align_signal(head_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .body_inf     (#{align_signal(body_inf,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .end_inf      (#{align_signal(end_inf,q_mark=false)}),
/*  axi_stream_inf.master*/ .m00          (#{align_signal(m00,q_mark=false)})
);
"
    end
axis_connect_pipe_a1_draw( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_connect_pipe_A1.sv_auto.rb, line 50
    def axis_connect_pipe_a1_draw(
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            axis_in,
            axis_out
        )
        instance_name = "axis_connect_pipe_A1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_connect_pipe_A1.sv.bak
axis_connect_pipe_A1 #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_connect_pipe_draw( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_connect_pipe_auto.rb, line 50
    def axis_connect_pipe_draw(
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            axis_in,
            axis_out
        )
        instance_name = "axis_connect_pipe_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_connect_pipe.sv
axis_connect_pipe #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_connect_pipe_with_info_draw( ifsize:32, info_in:"info_in", info_out:"info_out", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_connect_pipe_with_info_auto.rb, line 56
    def axis_connect_pipe_with_info_draw(
        ifsize:32,
        info_in:"info_in",
        info_out:"info_out",
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            ifsize,
            info_in,
            info_out,
            axis_in,
            axis_out
        )
        instance_name = "axis_connect_pipe_with_info_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_connect_pipe_with_info.sv
axis_connect_pipe_with_info#(
    .IFSIZE    (#{align_signal(ifsize)})
) #{instance_name}(
/*  input  [IFSIZE-1:0]  */ .info_in  (#{align_signal(info_in,q_mark=false)}),
/*  output [IFSIZE-1:0]  */ .info_out (#{align_signal(info_out,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_direct_draw( slaver:"slaver", master:"master", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_direct_auto.rb, line 50
    def axis_direct_draw(
        slaver:"slaver",
        master:"master",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            slaver,
            master
        )
        instance_name = "axis_direct_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_direct.sv
axis_direct #{instance_name}(
/*  axi_stream_inf.slaver*/ .slaver (#{align_signal(slaver,q_mark=false)}),
/*  axi_stream_inf.master*/ .master (#{align_signal(master,q_mark=false)})
);
"
    end
axis_filter_draw( button:"button", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_filter_auto.rb, line 52
    def axis_filter_draw(
        button:"button",
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            button,
            axis_in,
            axis_out
        )
        instance_name = "axis_filter_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_filter.sv
axis_filter #{instance_name}(
/*  input                */ .button   (#{align_signal(button,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_head_cut_draw( len:1, slaver:"slaver", master:"master", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_head_cut_auto.rb, line 52
    def axis_head_cut_draw(
        len:1,
        slaver:"slaver",
        master:"master",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            len,
            slaver,
            master
        )
        instance_name = "axis_head_cut_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_head_cut.sv
axis_head_cut#(
    .LEN    (#{align_signal(len)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .slaver (#{align_signal(slaver,q_mark=false)}),
/*  axi_stream_inf.master*/ .master (#{align_signal(master,q_mark=false)})
);
"
    end
axis_length_fill_draw( length:"length", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_fill_auto.rb, line 52
    def axis_length_fill_draw(
        length:"length",
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            length,
            axis_in,
            axis_out
        )
        instance_name = "axis_length_fill_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_length_fill.sv
axis_length_fill #{instance_name}(
/*  input  [15:0]        */ .length   (#{align_signal(length,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_length_split_draw( length:"length", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_split_auto.rb, line 52
    def axis_length_split_draw(
        length:"length",
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            length,
            axis_in,
            axis_out
        )
        instance_name = "axis_length_split_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_length_split.sv
axis_length_split #{instance_name}(
/*  input  [31:0]        */ .length   (#{align_signal(length,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_length_split_with_addr_draw( addr_step:1024 , origin_addr:"origin_addr", length:"length", band_addr:"band_addr", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_split_with_addr_auto.rb, line 58
    def axis_length_split_with_addr_draw(
        addr_step:1024      ,
        origin_addr:"origin_addr",
        length:"length",
        band_addr:"band_addr",
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            addr_step,
            origin_addr,
            length,
            band_addr,
            axis_in,
            axis_out
        )
        instance_name = "axis_length_split_with_addr_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_length_split_with_addr.sv
axis_length_split_with_addr#(
    .ADDR_STEP    (#{align_signal(addr_step)})
) #{instance_name}(
/*  input  [31:0]        */ .origin_addr (#{align_signal(origin_addr,q_mark=false)}),
/*  input  [31:0]        */ .length      (#{align_signal(length,q_mark=false)}),
/*  output [31:0]        */ .band_addr   (#{align_signal(band_addr,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in     (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out    (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_length_split_with_user_draw( length:"length", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_length_split_writh_user_auto.rb, line 52
    def axis_length_split_with_user_draw(
        length:"length",
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            length,
            axis_in,
            axis_out
        )
        instance_name = "axis_length_split_with_user_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_length_split_writh_user.sv
axis_length_split_with_user #{instance_name}(
/*  input  [31:0]        */ .length   (#{align_signal(length,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_master_empty_draw( master:"master", down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_master_empty_auto.rb, line 38
    def axis_master_empty_draw(
        master:"master",
        down_stream:nil
    )

        large_name_len(
            master
        )
        instance_name = "axis_master_empty_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_master_empty.sv
axis_master_empty #{instance_name}(
/*  axi_stream_inf.master*/ .master (#{align_signal(master,q_mark=false)})
);
"
    end
axis_mirror_to_master_draw( depth:4, mirror:"mirror", master:"master", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_mirror_to_master_auto.rb, line 52
    def axis_mirror_to_master_draw(
        depth:4,
        mirror:"mirror",
        master:"master",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            depth,
            mirror,
            master
        )
        instance_name = "axis_mirror_to_master_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_mirror_to_master.sv
axis_mirror_to_master#(
    .DEPTH    (#{align_signal(depth)})
) #{instance_name}(
/*  axi_stream_inf.mirror*/ .mirror (#{align_signal(mirror,q_mark=false)}),
/*  axi_stream_inf.master*/ .master (#{align_signal(master,q_mark=false)})
);
"
    end
axis_mirrors_draw( h:0, l:0, num:8, mode:"CDS_MODE", condition_data:"condition_data", axis_in:"axis_in", axis_mirror:"axis_mirror", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_mirrors_auto.rb, line 60
    def axis_mirrors_draw(
        h:0,
        l:0,
        num:8,
        mode:"CDS_MODE",
        condition_data:"condition_data",
        axis_in:"axis_in",
        axis_mirror:"axis_mirror",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            h,
            l,
            num,
            mode,
            condition_data,
            axis_in,
            axis_mirror
        )
        instance_name = "axis_mirrors_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_mirrors.sv
axis_mirrors#(
    .H       (#{align_signal(h)}),
    .L       (#{align_signal(l)}),
    .NUM     (#{align_signal(num)}),
    .MODE    (#{align_signal(mode)})
) #{instance_name}(
/*  input  [H:L]         */ .condition_data (#{align_signal(condition_data,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in        (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_mirror    (#{align_signal(axis_mirror,q_mark=false)})
);
"
    end
axis_pkt_fifo_filter_keep_a1_draw( depth:2 , axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_pkt_fifo_filter_keep_A1_auto.rb, line 52
    def axis_pkt_fifo_filter_keep_a1_draw(
        depth:2   ,
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            depth,
            axis_in,
            axis_out
        )
        instance_name = "axis_pkt_fifo_filter_keep_A1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/packet_fifo/axis_pkt_fifo_filter_keep_A1.sv
axis_pkt_fifo_filter_keep_A1#(
    .DEPTH    (#{align_signal(depth)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_pkt_fifo_filter_keep_draw( depth:2 , axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_pkt_fifo_filter_keep_auto.rb, line 52
    def axis_pkt_fifo_filter_keep_draw(
        depth:2   ,
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            depth,
            axis_in,
            axis_out
        )
        instance_name = "axis_pkt_fifo_filter_keep_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/packet_fifo/axis_pkt_fifo_filter_keep.sv
axis_pkt_fifo_filter_keep#(
    .DEPTH    (#{align_signal(depth)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_ram_buffer_draw( length:4096, wr_en:"wr_en", gen_en:"gen_en", gen_ready:"gen_ready", axis_wr_inf:"axis_wr_inf", axis_data_inf:"axis_data_inf", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_ram_buffer_auto.rb, line 58
    def axis_ram_buffer_draw(
        length:4096,
        wr_en:"wr_en",
        gen_en:"gen_en",
        gen_ready:"gen_ready",
        axis_wr_inf:"axis_wr_inf",
        axis_data_inf:"axis_data_inf",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            length,
            wr_en,
            gen_en,
            gen_ready,
            axis_wr_inf,
            axis_data_inf
        )
        instance_name = "axis_ram_buffer_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_ram_buffer.sv
axis_ram_buffer#(
    .LENGTH    (#{align_signal(length)})
) #{instance_name}(
/*  input                */ .wr_en         (#{align_signal(wr_en,q_mark=false)}),
/*  input                */ .gen_en        (#{align_signal(gen_en,q_mark=false)}),
/*  output               */ .gen_ready     (#{align_signal(gen_ready,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_wr_inf   (#{align_signal(axis_wr_inf,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_data_inf (#{align_signal(axis_data_inf,q_mark=false)})
);
"
    end
axis_slaver_pipe_a1_draw( depth:1, axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_slaver_pipe_A1_auto.rb, line 52
    def axis_slaver_pipe_a1_draw(
        depth:1,
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            depth,
            axis_in,
            axis_out
        )
        instance_name = "axis_slaver_pipe_A1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_slaver_pipe_A1.sv
axis_slaver_pipe_A1#(
    .DEPTH    (#{align_signal(depth)})
) #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_slaver_pipe_draw( axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_slaver_pipe_auto.rb, line 50
    def axis_slaver_pipe_draw(
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            axis_in,
            axis_out
        )
        instance_name = "axis_slaver_pipe_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_slaver_pipe.sv
axis_slaver_pipe #{instance_name}(
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_valve_draw( button:"button", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_valve_auto.rb, line 52
    def axis_valve_draw(
        button:"button",
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            button,
            axis_in,
            axis_out
        )
        instance_name = "axis_valve_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_valve.sv
axis_valve #{instance_name}(
/*  input                */ .button   (#{align_signal(button,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_valve_with_pipe_draw( mode:"BOTH", button:"button", axis_in:"axis_in", axis_out:"axis_out", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_valve_with_pipe_auto.rb, line 54
    def axis_valve_with_pipe_draw(
        mode:"BOTH",
        button:"button",
        axis_in:"axis_in",
        axis_out:"axis_out",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            mode,
            button,
            axis_in,
            axis_out
        )
        instance_name = "axis_valve_with_pipe_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/axis_valve_with_pipe.sv
axis_valve_with_pipe#(
    .MODE    (#{align_signal(mode)})
) #{instance_name}(
/*  input                */ .button   (#{align_signal(button,q_mark=false)}),
/*  axi_stream_inf.slaver*/ .axis_in  (#{align_signal(axis_in,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
axis_width_combin_a1_draw( slim_axis:"slim_axis", wide_axis:"wide_axis", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_combin_A1_auto.rb, line 50
    def axis_width_combin_a1_draw(
        slim_axis:"slim_axis",
        wide_axis:"wide_axis",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            slim_axis,
            wide_axis
        )
        instance_name = "axis_width_combin_A1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/data_width/axis_width_combin_A1.sv
axis_width_combin_A1 #{instance_name}(
/*  axi_stream_inf.slaver*/ .slim_axis (#{align_signal(slim_axis,q_mark=false)}),
/*  axi_stream_inf.master*/ .wide_axis (#{align_signal(wide_axis,q_mark=false)})
);
"
    end
axis_width_combin_draw( slim_axis:"slim_axis", wide_axis:"wide_axis", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_combin_auto.rb, line 50
    def axis_width_combin_draw(
        slim_axis:"slim_axis",
        wide_axis:"wide_axis",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            slim_axis,
            wide_axis
        )
        instance_name = "axis_width_combin_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/data_width/axis_width_combin.sv
axis_width_combin #{instance_name}(
/*  axi_stream_inf.slaver*/ .slim_axis (#{align_signal(slim_axis,q_mark=false)}),
/*  axi_stream_inf.master*/ .wide_axis (#{align_signal(wide_axis,q_mark=false)})
);
"
    end
axis_width_convert_draw( in_axis:"in_axis", out_axis:"out_axis", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_convert_auto.rb, line 50
    def axis_width_convert_draw(
        in_axis:"in_axis",
        out_axis:"out_axis",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            in_axis,
            out_axis
        )
        instance_name = "axis_width_convert_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/data_width/axis_width_convert.sv
axis_width_convert #{instance_name}(
/*  axi_stream_inf.slaver*/ .in_axis  (#{align_signal(in_axis,q_mark=false)}),
/*  axi_stream_inf.master*/ .out_axis (#{align_signal(out_axis,q_mark=false)})
);
"
    end
axis_width_destruct_a1_draw( wide_axis:"wide_axis", slim_axis:"slim_axis", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_destruct_A1.sv_auto.rb, line 50
    def axis_width_destruct_a1_draw(
        wide_axis:"wide_axis",
        slim_axis:"slim_axis",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            wide_axis,
            slim_axis
        )
        instance_name = "axis_width_destruct_A1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/data_width/axis_width_destruct_A1.sv.new
axis_width_destruct_A1 #{instance_name}(
/*  axi_stream_inf.slaver*/ .wide_axis (#{align_signal(wide_axis,q_mark=false)}),
/*  axi_stream_inf.master*/ .slim_axis (#{align_signal(slim_axis,q_mark=false)})
);
"
    end
axis_width_destruct_draw( wide_axis:"wide_axis", slim_axis:"slim_axis", up_stream:nil, down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/axis_width_destruct_auto.rb, line 50
    def axis_width_destruct_draw(
        wide_axis:"wide_axis",
        slim_axis:"slim_axis",
        up_stream:nil,
        down_stream:nil
    )

        large_name_len(
            wide_axis,
            slim_axis
        )
        instance_name = "axis_width_destruct_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/data_width/axis_width_destruct.sv
axis_width_destruct #{instance_name}(
/*  axi_stream_inf.slaver*/ .wide_axis (#{align_signal(wide_axis,q_mark=false)}),
/*  axi_stream_inf.master*/ .slim_axis (#{align_signal(slim_axis,q_mark=false)})
);
"
    end
check_branch_num() click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 48
def check_branch_num
    return if m2s_interconnect_addr
    @_branch_num_stack_index ||= 0
    if branch_total.is_a? Integer
        if @interconnect_up_streams.length > branch_total
            _up_stream = []
            branch_total.times do
                _up_stream << @interconnect_up_streams.shift
            end

            new_branch = self.copy
            new_branch_cache = self.copy(name:"#{new_branch.name}_cache")
            # new_branch.instance_variable_set('@interconnect_up_streams',_up_stream)
            new_branch.<<(*_up_stream)

            # new_branch.axis_connect_pipe(down_stream:new_branch_cache)
            belong_to_module.Instance(:axis_connect_pipe,"axis_connect_pipe_inst_#{new_branch_cache.name}") do |h|
                h.axis_in       new_branch
                h.axis_out      new_branch_cache
            end

            @interconnect_up_streams << new_branch_cache

        end
    end
end
collect_vector_draw(num,axis_vector) click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 176
    def collect_vector_draw(num,axis_vector)
        large_name_len(
            name,
            axis_vector.name
        )
"
axi_stream_interconnect_M2S_A1 #(
//axi_stream_interconnect_M2S_noaddr #(
    .NUM        (#{num})
)#{name}_M2S_noaddr_inst(
/*  axi_stream_inf.slaver */ .s00      (#{align_signal(axis_vector)}), //[NUM-1:0],
/*  axi_stream_inf.master */ .m00      (#{name}) //
);
"
    end
dimension_num(e) click to toggle source

def interconnect_addr(addr=nil)

@interconnect_addr = addr

end

# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 10
def dimension_num(e)
    if e.is_a? Array
        return e.size
    else
        if e.respond_to?(:dimension) && e.dimension && e.dimension.any?
            return e.dimension.last
        else
            return 1
        end
    end
end
div_mul(num,m="*") click to toggle source

def _=(up_stream)

raise TdlError.new("#{up_stream} is not a AxiStream") unless up_stream.is_a? AxiStream

AxiStream.axis_direct(up_stream:up_stream,down_stream:self)

return self

end

# File lib/tdl/elements/axi_stream.rb, line 467
    def div_mul(num,m="*")
        # raise TdlError.new("#{num} is not a Fixnum") unless num.is_a? Integer

        stream = self.copy(name:"width_convert",dsize:(m=="*"? @dsize*num : @dsize/num) )

        str = %Q{
width_convert #(
    .ISIZE      (#{@dsize}),
    .OSIZE      (#{@dsize}#{m}#{num}  )
)#{signal}_width_convert_inst(
/*  input                   */  .clock          (#{signal}.aclk            ),
/*  input                   */  .rst_n          (#{signal}.aresetn         ),
/*  input [ISIZE-1:0]       */  .wr_data        (#{signal}.axis_tdata      ),
/*  input                   */  .wr_vld         (#{signal}.axis_tvalid     ),
/*  output logic            */  .wr_ready       (#{signal}.axis_tready     ),
/*  input                   */  .wr_last        (#{signal}.axis_tlast      ),
/*  input                   */  .wr_align_last  (1'b0 ),      //can be leave 1'b0
/*  output logic[OSIZE-1:0] */  .rd_data        (#{stream}.axis_tdata  ),
/*  output logic            */  .rd_vld         (#{stream}.axis_tvalid ),
/*  input                   */  .rd_ready       (#{stream}.axis_tready ),
/*  output                  */  .rd_last        (#{stream}.axis_tlast  )
);
        }

        # GlobalParam.CurrTdlModule.BindEleClassVars.AxiStream.pre_inst  << lambda { str }
        belong_to_module.AxiStream_draw << str

        return stream
    end
gen_origin_axis_a1_draw( mode:"RANGE", enable:"enable", ready:"ready", length:"length", start:"start", axis_out:"axis_out", down_stream:nil ) click to toggle source
# File lib/tdl/axi_stream/gen_origin_axis_A1_auto.rb, line 48
    def gen_origin_axis_a1_draw(
        mode:"RANGE",
        enable:"enable",
        ready:"ready",
        length:"length",
        start:"start",
        axis_out:"axis_out",
        down_stream:nil
    )

        large_name_len(
            mode,
            enable,
            ready,
            length,
            start,
            axis_out
        )
        instance_name = "gen_origin_axis_A1_#{signal}_inst"
"
// FilePath:::../../axi/AXI_stream/gen_origin_axis_A1.sv
gen_origin_axis_A1#(
    .MODE    (#{align_signal(mode)})
) #{instance_name}(
/*  input                */ .enable   (#{align_signal(enable,q_mark=false)}),
/*  output               */ .ready    (#{align_signal(ready,q_mark=false)}),
/*  input  [31:0]        */ .length   (#{align_signal(length,q_mark=false)}),
/*  input  [31:0]        */ .start    (#{align_signal(start,q_mark=false)}),
/*  axi_stream_inf.master*/ .axis_out (#{align_signal(axis_out,q_mark=false)})
);
"
    end
interconnect_draw() click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 91
    def interconnect_draw
        if @interconnect_up_streams.length == 1
            belong_to_module.ExOther_draw << (
"\naxis_direct  axis_direct_#{name}_instMM (
/*  axi_stream_inf.slaver*/ .slaver (sub_#{(name)}[0]),
/*  axi_stream_inf.master*/ .master (#{name})
);\n")
        elsif @m2s_interconnect_addr
            belong_to_module.ExOther_draw << addr_interconnect_draw()
        else
            belong_to_module.ExOther_draw << noaddr_interconnect_draw()
        end
    end
noaddr_interconnect_draw() click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 122
    def noaddr_interconnect_draw
"
axi_stream_interconnect_M2S_A1 #(
//axi_stream_interconnect_M2S_noaddr #(
    .NUM        (#{@interconnect_up_streams.length})
 //   .DSIZE      (#{dsize})
)#{name}_M2S_noaddr_inst(
/*  axi_stream_inf.slaver */ .s00      (sub_#{(name)} ), //[NUM-1:0],
/*  axi_stream_inf.master */ .m00      (#{name}) //
);
"
    end
push_to_stack() click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 75
def push_to_stack
    unless @_record_inter_
        belong_to_module.ExOther_pre_inst_stack << method(:sub_inst)
        belong_to_module.ExOther_pre_inst_stack << method(:interconnect_draw)
        @_record_inter_ = true
    end
end
slice_to_logic_draw(cc,logic_s,slice_a) click to toggle source
# File lib/tdl/bfm/axi_stream/axis_slice_to_logic.rb, line 26
    def slice_to_logic_draw(cc,logic_s,slice_a)
        @_generate_block_index_ ||= []
        if cc == :decrease
            mstr = slice_a.map do |e|
                sub_slice_to_logic_draw(logic_s,e,@dsize,e)
            end.join("")
        else
            smax = slice_a.max
            mstr = slice_a.map do |e|
                sub_slice_to_logic_draw(logic_s,e,@dsize,smax-e)
            end.join("")
        end

        index = 0

        while(true)
            index = rand(1024)
            unless @_generate_block_index_.include? index
                break
            end
        end
        @_generate_block_index_ << index
"
generate
begin:#{signal}_SLICE_TO_LOGIC_#{index}
always@(negedge #{align_signal(@clock,q_mark=false)})begin
// always_comb begin
    #{mstr}
end
end
endgenerate
"
    end
square_inst() click to toggle source
# File lib/tdl/elements/axi_stream.rb, line 380
def square_inst
    # value = Logic.new(name:"value",dsize:@dsize*@_p_cut)
    # out_valid = Logic.new(name:"out_valid",dsize:1)
    # puts @@inst_stack.length.to_s+"pre"
    # cm_tb_s = copy(name:"cm_tb_s")
    # cm_tb_s = AxiStream.new(name:"-----",dsize:8,clock:Clock::NC,reset:Reset::NC)
    # puts cm_tb_s.inst
    # puts cm_tb_m.inst
    # puts @@inst_stack.length.to_s+"post"
    if @_p_min == 0
        enable = "1'b1"
    else
        enable = "(#{signal}.axis_tcnt >= #{@_p_min})"
    end
    # cm_mirror = self.copy()
    AxiStream.parse_big_field_table(field_len:@_p_cut,try_parse:@_p_try_parse,enable:enable,value:@_sub_sel_value.signal(square:false),out_valid:@_sub_sel_out_vld,cm_tb_s:self,cm_tb_m:@_p_cm_tb_m,cm_mirror:self)
    @_p_square.map { |e| e.call }.join("\n") + "\n"
end
sub_direct() click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 105
    def sub_direct
        str = ""
        for i in 0...(@interconnect_up_streams.length)
            if @interconnect_up_streams[i].is_a? TdlSpace::ArrayChain
                slaver_name = @interconnect_up_streams[i]
            else  
                slaver_name = @interconnect_up_streams[i].name
            end
            str +=
"\naxis_direct  axis_direct_#{name}_inst#{i} (
/*  axi_stream_inf.slaver*/ .slaver (#{slaver_name}),
/*  axi_stream_inf.master*/ .master (sub_#{(name)}[#{i}])
);\n"
        end
        return str
    end
sub_inst() click to toggle source
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 83
    def sub_inst
        return '' if @interconnect_up_streams.empty?
        belong_to_module.Logic_inst << (
"
axi_stream_inf #(.DSIZE(#{name}.DSIZE))  sub_#{(name)}[#{@interconnect_up_streams.length}-1:0](.aclk(#{name}.aclk),.aresetn(#{name}.aresetn),.aclken(1'b1));\n
" + sub_direct)
    end
sub_slice_to_logic_draw(logic_s,index,pindex,lindex) click to toggle source
# File lib/tdl/bfm/axi_stream/axis_slice_to_logic.rb, line 60
    def sub_slice_to_logic_draw(logic_s,index,pindex,lindex)
        # quan = logic_s.[@dsize+lindex*pindex-1,lindex*pindex]
        # puts @dsize,lindex,pindex
        quan = logic_s.[](@dsize+lindex*pindex-1,lindex*pindex)
"
    if(#{vld_rdy} && #{axis_tcnt} == #{index})begin
        #{quan} = #{axis_tdata};
    end
"
    end