aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/benchmark
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-07-25 16:26:08 +0200
committerClifford Wolf <clifford@clifford.at>2018-07-25 16:26:08 +0200
commita8001daf6fd041f2133847b5cfef799afdba33ae (patch)
tree204e4751c7658170e670a966822240c77c03e23b /ice40/benchmark
parentcc6e0e7df3df591f89782b1e7c51d5712ddd88f1 (diff)
downloadnextpnr-a8001daf6fd041f2133847b5cfef799afdba33ae.tar.gz
nextpnr-a8001daf6fd041f2133847b5cfef799afdba33ae.tar.bz2
nextpnr-a8001daf6fd041f2133847b5cfef799afdba33ae.zip
Add ice40/benchmark/report.ipynb
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'ice40/benchmark')
-rw-r--r--ice40/benchmark/report.ipynb69
1 files changed, 69 insertions, 0 deletions
diff --git a/ice40/benchmark/report.ipynb b/ice40/benchmark/report.ipynb
new file mode 100644
index 00000000..3232f38c
--- /dev/null
+++ b/ice40/benchmark/report.ipynb
@@ -0,0 +1,69 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "import subprocess\n",
+ "\n",
+ "gitrev = subprocess.getoutput(\"git rev-parse --short HEAD\")\n",
+ "\n",
+ "data_a = 1 + np.zeros(10)\n",
+ "data_n = 1 + np.zeros(10)\n",
+ "\n",
+ "for i in range(10):\n",
+ " try:\n",
+ " with open(\"report_a%d.txt\" % i, \"r\") as f:\n",
+ " for line in f:\n",
+ " if line.startswith(\"Total path delay:\"):\n",
+ " data_a[i] = float(line.split()[3])\n",
+ " except:\n",
+ " pass\n",
+ " try:\n",
+ " with open(\"report_n%d.txt\" % i, \"r\") as f:\n",
+ " for line in f:\n",
+ " if line.startswith(\"Total path delay:\"):\n",
+ " data_n[i] = float(line.split()[3])\n",
+ " except:\n",
+ " pass\n",
+ "\n",
+ "plt.figure(figsize=(9,3))\n",
+ "plt.title(\"nextpnr -- ice40/benchmark/ -- %s\" % gitrev)\n",
+ "plt.bar(np.arange(10), data_a, color='blue')\n",
+ "plt.bar(15+np.arange(10), data_n, color='red')\n",
+ "plt.ylabel('Longest path (ns)')\n",
+ "plt.xticks([5, 20], [\"arachne-pnr\", \"nextpnr\"])\n",
+ "plt.xlim(-2, 27)\n",
+ "plt.show()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}