#!/usr/bin/perl # Date : 2nd Nov 2009 # Author : Quek Hong Cheang # This script adds power pins to a verilog netlist # Usage: addpower.pl input.v output.v if(@ARGV<2) { die("Please enter 2 inputs: E.g. addpower.pl input.v output.v\n") } #if if(!open(inPort, @ARGV[0])) { die("Cannot open file @ARGV[0]\n") } #if if(!open(outPort, ">@ARGV[1]")) { die("Cannot create file @ARGV[1]\n") } #if $pin1="VDD"; $pin2="VSS"; while( chomp($inLine=) ) { $inLine2 = $inLine; $inLine2 =~ s/^ *//; @myList=split / /, $inLine2; if( @myList[0] =~ /module/ ) { $inLine=~s/\(/\($pin1, $pin2, /; } #if if( @myList[0] =~ /input/ ) { $inLine=~s/input/inout $pin1, $pin2;\n input/; } #if if( $inLine =~ /.*\(..*\(.*\).*/ ) { $inLine=~s/\(/\(.$pin1\($pin1\), .$pin2\($pin2\), /; } #if print outPort $inLine, "\n"; } #while