62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Perl
		
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Perl
		
	
	
	
| #!/usr/bin/perl
 | |
| # SPDX-License-Identifier: Apache-2.0
 | |
| # Copyright 2020 Western Digital Corporation or its affiliates.
 | |
| #
 | |
| # Licensed under the Apache License, Version 2.0 (the "License");
 | |
| # you may not use this file except in compliance with the License.
 | |
| # You may obtain a copy of the License at
 | |
| #
 | |
| # http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing, software
 | |
| # distributed under the License is distributed on an "AS IS" BASIS,
 | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| # See the License for the specific language governing permissions and
 | |
| # limitations under the License.
 | |
| #
 | |
| 
 | |
| use Getopt::Long;
 | |
| 
 | |
| $helpusage = "placeholder";
 | |
| 
 | |
| GetOptions ('in=s'      => \$in,
 | |
|             'prefix=s'  => \$prefix) || die("$helpusage");
 | |
| 
 | |
| 
 | |
| 
 | |
| @in=`cat $in`;
 | |
| 
 | |
| 
 | |
| foreach $line (@in) {
 | |
| 
 | |
|     if ($line=~/\#/) { next; }
 | |
| 
 | |
|     if ($line=~/([^=]+)=/) {
 | |
|         $sig=$1;
 | |
|         $sig=~s/\s+//g;
 | |
|         printf("logic $sig;\n");
 | |
|     }
 | |
| }
 | |
| 
 | |
| foreach $line (@in) {
 | |
| 
 | |
|     if ($line=~/\#/) { next; }
 | |
| 
 | |
|     if ($line=~/([^=]+)=\s*;/) {
 | |
|         printf("assign ${prefix}$1 = 1'b0;\n");
 | |
|         next;
 | |
|     }
 | |
| 
 | |
|     if ($line=~/([^=]+)=\s*\(\s*\);/) {
 | |
|         printf("assign ${prefix}$1 = 1'b0;\n");
 | |
|         next;
 | |
|     }
 | |
| 
 | |
|     if ($line =~ /=/) { printf("assign ${prefix}$line"); }
 | |
|     else              { printf("$line"); }
 | |
| }
 | |
| 
 | |
| 
 | |
| exit;
 | |
| 
 |