diff --git a/patternGenerator/patterns/test_v2.alias b/patternGenerator/example_pattern/example_pattern.alias similarity index 100% rename from patternGenerator/patterns/test_v2.alias rename to patternGenerator/example_pattern/example_pattern.alias diff --git a/patternGenerator/patterns/test_v2.p b/patternGenerator/example_pattern/example_pattern.p similarity index 100% rename from patternGenerator/patterns/test_v2.p rename to patternGenerator/example_pattern/example_pattern.p diff --git a/patternGenerator/patterns/test_v2.pat b/patternGenerator/example_pattern/example_pattern.pat similarity index 100% rename from patternGenerator/patterns/test_v2.pat rename to patternGenerator/example_pattern/example_pattern.pat diff --git a/patternGenerator/patterns/test_v2.png b/patternGenerator/example_pattern/example_pattern.png similarity index 99% rename from patternGenerator/patterns/test_v2.png rename to patternGenerator/example_pattern/example_pattern.png index 3fbf8e6af..d43e49dd0 100644 Binary files a/patternGenerator/patterns/test_v2.png and b/patternGenerator/example_pattern/example_pattern.png differ diff --git a/patternGenerator/plotPattern.py b/patternGenerator/plotPattern.py index 219bc7b8a..8228ba515 100755 --- a/patternGenerator/plotPattern.py +++ b/patternGenerator/plotPattern.py @@ -1,4 +1,5 @@ -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 + """ Created on Wed May 24 09:44:53 2017 @@ -16,13 +17,9 @@ from numpy import * from matplotlib.pyplot import * from matplotlib.patches import Rectangle import os +import argparse ############################################################################### -# Input the folder of the pattern file -Folder = "./patterns/" -# Prefix name of the .pat and .alias file -File_pat = "test_v2" - # COLORS AND LINE STYLES # alternating colors of the plots (2 needed) colors_plot = ['tab:blue', 'tab:orange'] @@ -43,8 +40,6 @@ alpha_loop_rect = [0.2, 0.2, 0.2, 0.2, 0.2, 0.2] clock_vertical_lines_spacing = 1 show_clocks_number = True -# Verbosity -verbose = False ############################################################################### @@ -87,6 +82,20 @@ def hex2binary(string_num, width=None): return dec2binary(hex2dec(string_num.upper()), width=width) +parser = argparse.ArgumentParser() + +parser.add_argument('-d', '--directory', required = True, help = "Working directory where the pattern is located") +parser.add_argument('-p', '--pattern', required = True, help = "Pattern name") +parser.add_argument('-a', '--alias', help = "Alias name") +parser.add_argument('-v', '--verbose', action='store_true') + +args = parser.parse_args() + +Folder = args.directory +File_pat = args.pattern +File_alias = args.alias +verbose = args.verbose + # Look at the alias file and generate the lookup table for pin names # Create a 64 bit look up table table = [] @@ -102,26 +111,34 @@ for i in range(64): table.append([str(i+1), ""]) # Loop all lines -with open(Folder+"/" + File_pat + ".alias") as f: - lines = f.readlines() -f.close() +try: + with open(Folder + "/" + File_alias + ".alias") as f: + lines = f.readlines() + f.close() + nlines = len(lines) +except: + nlines = 0 + +if nlines > 0: + for i in range(nlines): + # whether the line is bit definition + if lines[i][0:3] == "BIT": + # split words + words = lines[i].split() + bit_num = int(words[0][3:]) + table[bit_num][0] = words[0][3:] + table[bit_num][1] = words[1] +else: + for i in range(64): + table[i][0] = i + table[i][1] = f'BIT#{i}' -nlines = len(lines) -for i in range(nlines): - # whether the line is bit definition - if lines[i][0:3] == "BIT": - # split words - words = lines[i].split() - bit_num = int(words[0][3:]) - table[bit_num][0] = words[0][3:] - table[bit_num][1] = words[1] if verbose: print(table) - # Load the pattern and get all lines # Loop all lines -with open(Folder+"/"+File_pat+".pat") as f_pat: +with open(Folder + "/" + File_pat + ".pat") as f_pat: lines_pat = f_pat.readlines() f_pat.close() @@ -131,6 +148,7 @@ nlines_pat = len(lines_pat) cnt = 0 if verbose: print("The total number of lines of pattern:", nlines_pat) + # Loop all lines of pattern waittime0 = None waittime1 = None diff --git a/patternGenerator/test.p b/patternGenerator/test.p deleted file mode 100755 index 7ad3060e5..000000000 --- a/patternGenerator/test.p +++ /dev/null @@ -1,201 +0,0 @@ -//define signals and directions (Input, outputs, clocks) - - -#define compTestIN 1 -setoutput(compTestIN); - -#define curON 32 -setoutput(curON); - -#define side_clk 2 -setclk(side_clk); - -#define side_din 3 -setoutput(side_din); - -#define clear_shr 4 -setoutput(clear_shr); - -#define bottom_din 5 -setoutput(bottom_din); - -#define bottom_clk 6 -setclk(bottom_clk); - -#define gHG 7 -setoutput(gHG); - -#define bypassCDS 31 -setoutput(bypassCDS); - - -#define ENprechPRE 8 -setoutput(ENprechPRE); - - -#define res 9 -setoutput(res); - -#define pulseOFF 30 -setoutput(pulseOFF); - -#define connCDS 27 -setoutput(connCDS); - -#define Dsg_1 24 -setoutput(Dsg_1); - - -#define Dsg_2 25 -setoutput(Dsg_2); - - -#define Dsg_3 23 -setoutput(Dsg_3); - -#define sto0 10 -setoutput(sto0); - -#define sto1 11 -setoutput(sto1); - -#define sto2 12 -setoutput(sto2); - -#define resCDS 13 -setoutput(resCDS); - -#define prechargeConnect 14 -setoutput(prechargeConnect); - -#define pulse 15 -setoutput(pulse); - -#define PCT_mode 21 -setoutput(PCT_mode); - -#define res_DGS 16 -setoutput(res_DGS); - -#define adc_ena 17 -setoutput(adc_ena); - - -#define CLKBIT 18 -setclk(CLKBIT); - - -#define adc_sync 63 -setoutput(adc_sync); - - - - - - -#define PW pw() -#define SB(x) setbit(x) -#define CB(x) clearbit(x) -#define CLOCK clearbit(CLKBIT); pw();setbit(CLKBIT);pw() -#define LCLOCK clearbit(CLKBIT); pw();setbit(CLKBIT);pw();clearbit(CLKBIT); pw() -#define CLOCKS(x) for (i=0;i