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
Public Class Methods
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# File lib/tdl/axi_stream/axis_link_trigger_auto.rb, line 70 def self.axis_link_trigger( mode:"STREAM", dsize:32, data:"data", trigger_inf:"trigger_inf", mirror:"mirror", belong_to_module:nil ) return_stream = nil belong_to_module = [mirror].first.belong_to_module unless belong_to_module belong_to_module.AxiStream_NC._axis_link_trigger( mode:mode, dsize:dsize, data:data, trigger_inf:trigger_inf, mirror:mirror) return return_stream end
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
¶ ↑
# 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
# 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
—- 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
# 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
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
# 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
# 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
# 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
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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# File lib/tdl/axi_stream/axi_stream_interconnect.rb, line 42 def >>(down_stream) down_stream.<< self end
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# File lib/tdl/axi_stream/axis_link_trigger_auto.rb, line 9 def _axis_link_trigger( mode:"STREAM", dsize:32, data:"data", trigger_inf:"trigger_inf", mirror:"mirror" ) Tdl.add_to_all_file_paths('axis_link_trigger','../../axi/AXI_stream/axis_link_trigger.sv') # GlobalParam.CurrTdlModule.add_to_all_file_paths(['axis_link_trigger','../../axi/AXI_stream/axis_link_trigger.sv']) return_stream = self trigger_inf = DataInf_C.same_name_socket(:to_down,mix=true,trigger_inf,nil,belong_to_module) unless trigger_inf.is_a? String mirror = AxiStream.same_name_socket(:mirror,mix=true,mirror,nil,belong_to_module) unless mirror.is_a? String belong_to_module.AxiStream_draw << _axis_link_trigger_draw( mode:mode, dsize:dsize, data:data, trigger_inf:trigger_inf, mirror:mirror) return return_stream end
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
截取流数据段
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
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
# 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
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
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
# 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
# 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
# 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
# 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
# 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
# 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
# File lib/tdl/elements/axi_stream.rb, line 132 def gen_origin_draw "" end
# 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
# 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
# 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
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
# 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
—– 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# File lib/tdl/elements/axi_stream.rb, line 81 def port_length ("axi_stream_inf." + @port.to_s + " ").length end
# 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
# 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
# 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
# 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
# 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
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
# 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
转到 网络流
# File lib/tdl/exlib/axis_eth_ex.rb, line 21 def to_eth(esize=8) # SIZE:8 ,64, 32 @__ethernet_type__ = esize end
# 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
# 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
# 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
# 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
# File lib/tdl/elements/axi_stream.rb, line 559 def vld_rdy axis_tvalid.concat(" && ").concat(axis_tready) end
# File lib/tdl/elements/axi_stream.rb, line 563 def vld_rdy_last axis_tvalid.concat(" && ").concat(axis_tready).concat(" && ").concat(axis_tlast) end
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# File lib/tdl/axi_stream/axis_link_trigger_auto.rb, line 39 def _axis_link_trigger_draw( mode:"STREAM", dsize:32, data:"data", trigger_inf:"trigger_inf", mirror:"mirror" ) large_name_len( mode, dsize, data, trigger_inf, mirror ) instance_name = "axis_link_trigger_#{signal}_inst" " // FilePath:::../../axi/AXI_stream/axis_link_trigger.sv axis_link_trigger#( .MODE (#{align_signal(mode)}), .DSIZE (#{align_signal(dsize)}) ) #{instance_name}( /* input [DSIZE-1:0] */ .data (#{align_signal(data,q_mark=false)}), /* data_inf_c.master */ .trigger_inf (#{align_signal(trigger_inf,q_mark=false)}), /* axi_stream_inf.mirror*/ .mirror (#{align_signal(mirror,q_mark=false)}) ); " end
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
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
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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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