Class: BlifUtils::AST::LogicGate

Inherits:
Object
  • Object
show all
Defined in:
lib/blifutils/ast.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(identifier_list, single_output_cover_list) ⇒ LogicGate

Returns a new instance of LogicGate.



104
105
106
107
108
# File 'lib/blifutils/ast.rb', line 104

def initialize (identifier_list, single_output_cover_list)
	@inputs = identifier_list[0 ... -1]
	@output = identifier_list[-1]
	@single_output_cover_list = single_output_cover_list
end

Instance Attribute Details

#inputsObject (readonly)

Returns the value of attribute inputs.



102
103
104
# File 'lib/blifutils/ast.rb', line 102

def inputs
  @inputs
end

#outputObject (readonly)

Returns the value of attribute output.



102
103
104
# File 'lib/blifutils/ast.rb', line 102

def output
  @output
end

#single_output_cover_listObject (readonly)

Returns the value of attribute single_output_cover_list.



102
103
104
# File 'lib/blifutils/ast.rb', line 102

def single_output_cover_list
  @single_output_cover_list
end

Instance Method Details

#pretty_print(indent) ⇒ Object



110
111
112
113
114
115
116
117
118
119
# File 'lib/blifutils/ast.rb', line 110

def pretty_print (indent)
	str  = '    '*indent + "Logic gate:\n"
	str += '    '*(indent+1) + "Inputs: #{@inputs.collect{|idf| "\"#{idf}\""}.join(', ')}\n"
	str += '    '*(indent+1) + "Output: \"#{@output}\"\n"
	str += '    '*(indent+1) + "Cover list:\n"
	@single_output_cover_list.each do |inputs_output|
		str += '    '*(indent+2) + "#{inputs_output[0].collect{|strbit| case strbit when 0 then '0' when 1 then '1' else '-' end}.join} | #{inputs_output[1]}\n"
	end
	return str
end