Class: BlifUtils::Netlist::SubCircuit

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Component

#isGate?, #isLatch?, #isSubcircuit?

Constructor Details

#initialize(modelName, inputFormalAcutalList, outputFormalAcutalList) ⇒ SubCircuit

Returns a new instance of SubCircuit.



221
222
223
224
225
# File 'lib/blifutils/netlist.rb', line 221

def initialize (modelName, inputFormalAcutalList, outputFormalAcutalList)
	@modelName = modelName
	@inputFormalAcutalList = inputFormalAcutalList
	@outputFormalAcutalList = outputFormalAcutalList
end

Instance Attribute Details

#inputFormalAcutalListObject

IO, …


218
219
220
# File 'lib/blifutils/netlist.rb', line 218

def inputFormalAcutalList
  @inputFormalAcutalList
end

#modelNameObject (readonly)

String



217
218
219
# File 'lib/blifutils/netlist.rb', line 217

def modelName
  @modelName
end

#outputFormalAcutalListObject

IO, …


219
220
221
# File 'lib/blifutils/netlist.rb', line 219

def outputFormalAcutalList
  @outputFormalAcutalList
end

Instance Method Details

#to_blifObject



228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
# File 'lib/blifutils/netlist.rb', line 228

def to_blif
	str = ''
	tmpstr = ".subckt #{@modelName}"
	@inputFormalAcutalList.collect{|io| " #{io.name}=#{io.net.name}"}.each do |fa|
		if tmpstr.length + fa.length + 1 > 80 then
			tmpstr += " \\\n"
			str += tmpstr
			tmpstr = ''
		end
		tmpstr += fa
	end
	@outputFormalAcutalList.collect{|io| " #{io.name}=#{io.net.name}"}.each do |fa|
		if tmpstr.length + fa.length + 1 > 80 then
			tmpstr += " \\\n"
			str += tmpstr
			tmpstr = ''
		end
		tmpstr += fa
	end
	str += tmpstr + "\n"
	return str
end

#to_sObject



252
253
254
# File 'lib/blifutils/netlist.rb', line 252

def to_s
	return "Sub Circuit \"#{@modelName}\""
end