renaming params.py to parse.py. Adding checks on input
authorNeel <neelgala@gmail.com>
Tue, 13 Mar 2018 12:43:35 +0000 (18:13 +0530)
committerNeel <neelgala@gmail.com>
Tue, 13 Mar 2018 12:43:35 +0000 (18:13 +0530)
See #3.

Added check to see if muxed lists and dedicated lists do not have any duplciates.  This can simulated by replacing uart1_tx to uart2_tx in pinmap.txt.

src/actual_pinmux.py
src/interface_decl.py
src/interface_def.py
src/params.py [deleted file]
src/parse.py [new file with mode: 0644]
src/pinmux_generator.py
src/wire_def.py

index 37c8cdf921347988b9057b8f7eaf9b92ab5ddc46..02603a97122a784daa32b53d57096cb7921f0896 100644 (file)
@@ -1,4 +1,4 @@
-from params import *
+from parse import *
 from string import digits
 
 
index 145eeaff4bd343d3eddc405a7841c15268b92dc8..826614d3941c5999d5ef9d487bdca583f1459d8a 100644 (file)
@@ -1,5 +1,3 @@
-from params import *
-
 # ========= Interface declarations ================ #
 mux_interface = '''
       method Action cell{0}_mux(Bit#({1}) in);'''
index 12fa6c954a9661c8deeb26bbb230ec74e93d67f6..209cb7adfab8a17f7efedbc64a5717c67ee0631d 100644 (file)
@@ -1,4 +1,3 @@
-from params import *
 # === templates for interface definitions ====== #
 mux_interface_def = '''
       method Action cell{0}_mux (Bit#({1}) in );
diff --git a/src/params.py b/src/params.py
deleted file mode 100644 (file)
index d191697..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# == Parameters == #
-N_MUX = 1              # number of selection lines for the mux per io
-N_IO = 0
-N_MUX_IO = 0
-N_UART = 4
-N_SPI = 1
-N_TWI = 2
-# ================ #
-# == capture the number of IO cells required == #
-pinmapfile = open('pinmap.txt', 'r')
-max_io = 0
-muxed_cells = []
-dedicated_cells = []
-for lineno, line in enumerate(pinmapfile):
-    line1 = line.split()
-    if(len(line1) > 1):
-        if(len(line1) == 2):  # dedicated
-            dedicated_cells.append(line1)
-        if(len(line1) > 2):
-            muxed_cells.append(line1)
-# ============================================= #
-
-# check if the user has not screwed up by ensuring that no pin is
-# present in both muxed and dedicated pins
-# TODO
-
-# =========================================== #
-N_IO = len(dedicated_cells) + len(muxed_cells)
-print("Max number of IO: " + str(N_IO))
-print("Muxed IOs: " + str(len(muxed_cells)))
-print("Dedicated IOs: " + str(len(dedicated_cells)))
-# ============================================ #
diff --git a/src/parse.py b/src/parse.py
new file mode 100644 (file)
index 0000000..db7a48a
--- /dev/null
@@ -0,0 +1,40 @@
+# == Parameters == #
+N_MUX = 1              # number of selection lines for the mux per io
+N_IO = 0
+N_MUX_IO = 0
+N_UART = 4
+N_SPI = 1
+N_TWI = 2
+# ================ #
+# == capture the number of IO cells required == #
+pinmapfile = open('pinmap.txt', 'r')
+max_io = 0
+muxed_cells = []
+dedicated_cells = []
+for lineno, line in enumerate(pinmapfile):
+    line1 = line.split()
+    if(len(line1) > 1):
+        if(len(line1) == 2):  # dedicated
+            dedicated_cells.append(line1)
+        if(len(line1) > 2):
+            muxed_cells.append(line1)
+# ============================================= #
+
+# ======= Multiple checks to see if the user has not screwed ======#
+
+# Check-1: ensure that no pin is present in both muxed and dedicated pins
+for muxcell in muxed_cells:
+    for dedcel in dedicated_cells:
+        if(dedcel[1] in muxcell):
+            print("ERROR: " + str(dedcel[1]) + " present \
+                                  in dedicated & muxed lists")
+            exit(1)
+# Check-2: confirm if N_* matches the instances in the pinmap
+# ============================================================== #
+
+# == user info after parsin ================= #
+N_IO = len(dedicated_cells) + len(muxed_cells)
+print("Max number of IO: " + str(N_IO))
+print("Muxed IOs: " + str(len(muxed_cells)))
+print("Dedicated IOs: " + str(len(dedicated_cells)))
+# ============================================ #
index 06c45ac67f21c2e1ca96ae8fd9b9ba7ac9c6a53d..8b25d9ecc769f7c83960b3662a7f80158eb23814 100644 (file)
@@ -24,7 +24,7 @@ import math
 # project module imports
 from interface_decl import *
 from interface_def import *
-from params import *
+from parse import *
 from wire_def import *
 from actual_pinmux import *
 
index 0cd9cb23232a12141a17d178adea61fcf17e25f1..da5fbef26d956990067d9a60878af39457e162dd 100644 (file)
@@ -1,4 +1,3 @@
-from params import *
 # == Intermediate wire definitions ==#
 muxwire = '''
       Wire#(Bit#({1}))   wrmux{0} <-mkDWire(0);'''