aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2012-03-27 12:56:35 -0700
committerJosh Blum <josh@joshknows.com>2012-03-27 12:56:35 -0700
commit3f79cb0cda909d750ea4abd67a2afdaa8f98f636 (patch)
treebc3c0db6d4444759049ada0b6b7a6e1bf724c180
parent842c54ecb5f20d7787ccd8f6034755a92ed67b5f (diff)
downloaduhd-3f79cb0cda909d750ea4abd67a2afdaa8f98f636.tar.gz
uhd-3f79cb0cda909d750ea4abd67a2afdaa8f98f636.tar.bz2
uhd-3f79cb0cda909d750ea4abd67a2afdaa8f98f636.zip
fpga: extract usage summary from map file
-rwxr-xr-xusrp2/top/extract_usage.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/usrp2/top/extract_usage.py b/usrp2/top/extract_usage.py
new file mode 100755
index 000000000..55fbf384c
--- /dev/null
+++ b/usrp2/top/extract_usage.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+#
+# Copyright 2012 Ettus Research LLC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+import os
+import sys
+
+ALL_MAP_FILES = """\
+./N2x0/build-N210R4/u2plus_map.map N210
+./N2x0/build-N200R4/u2plus_map.map N200
+./USRP2/build/u2_rev3_map.map USRP2
+./E1x0/build-E100/u1e_map.map E100
+./E1x0/build-E110/u1e_map.map E110
+./B100/build-B100/B100_map.map B100
+"""
+
+def extract_map_from_file(path):
+ output = ''
+ found = False
+ for line in open(path).readlines():
+ if line.strip() == 'Mapping completed.': found = False
+ if line.strip() == 'Logic Utilization:': found = True
+ if found: output += line
+ return output
+
+def extract_maps():
+ output = ''
+ for line in ALL_MAP_FILES.splitlines():
+ path, name = line.split()
+ if not os.path.exists(path):
+ print 'DNE ', path, ' skipping...'
+ output += """
+
+
+
+########################################################################
+## %s Usage Summary
+########################################################################
+
+%s"""%(name, extract_map_from_file(path).strip())
+ return output + '\n\n'
+
+if __name__ == '__main__':
+ summary = extract_maps()
+ if len(sys.argv) == 1: print summary
+ else: open(sys.argv[1], 'w').write(summary)