{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "709dd7a4",
   "metadata": {},
   "source": [
    "# One neuron\n",
    "\n",
    "**What you'll learn / who it's for (simulation).** The NEST-compatible first step: create a single `iaf_psc_alpha`, drive it with a constant current and then with Poisson noise, and record its membrane potential and spikes — all through the `brainpy.state` `Simulator` API, which mirrors NEST's vocabulary (`create` / `connect` / `simulate`).\n",
    "\n",
    "This is the `brainpy.state` idiom, not a copy of PyNEST: we build with physical units (`brainunit`) and let the `Simulator` lower the time loop. For the biophysics of `iaf_psc_alpha`, follow the link out to the [NEST documentation](https://nest-simulator.readthedocs.io/)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "b93c2933",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-17T09:12:25.148823Z",
     "iopub.status.busy": "2026-06-17T09:12:25.148451Z",
     "iopub.status.idle": "2026-06-17T09:12:29.942929Z",
     "shell.execute_reply": "2026-06-17T09:12:29.941885Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.\n"
     ]
    }
   ],
   "source": [
    "import jax\n",
    "jax.config.update('jax_enable_x64', True)\n",
    "import brainstate\n",
    "brainstate.environ.set(precision=64)\n",
    "\n",
    "import numpy as np\n",
    "import brainunit as u\n",
    "import matplotlib.pyplot as plt\n",
    "from brainpy import state as bp"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d3ed867b",
   "metadata": {},
   "source": [
    "## A single neuron driven by a constant current\n",
    "\n",
    "We create one `iaf_psc_alpha` with a constant external current `I_e = 376 pA` and attach a `voltmeter`. As in NEST, the voltmeter is connected in the *reversed* direction — `connect(voltmeter, neuron)` — because it *observes* the neuron rather than receiving events from it. With `I_e = 376 pA` the steady state sits just above threshold, so the neuron charges, fires, and repeats."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "1b54eabb",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-17T09:12:29.945453Z",
     "iopub.status.busy": "2026-06-17T09:12:29.945045Z",
     "iopub.status.idle": "2026-06-17T09:12:33.105183Z",
     "shell.execute_reply": "2026-06-17T09:12:33.104293Z"
    }
   },
   "outputs": [],
   "source": [
    "sim = bp.Simulator(dt=0.1 * u.ms)\n",
    "neuron = sim.create(bp.iaf_psc_alpha, 1, I_e=376. * u.pA)\n",
    "vm = sim.create(bp.voltmeter)\n",
    "sim.connect(vm, neuron)              # reversed: the voltmeter observes the neuron\n",
    "\n",
    "res = sim.simulate(1000. * u.ms)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "679d93f1",
   "metadata": {},
   "source": [
    "`sim.simulate(T)` runs the whole simulation (it lowers the time loop internally — there is no bare Python loop over steps). We read the recorded trace back from the result with `res.trace(vm, 'V_m')` and the time axis with `res.times`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "9e204f75",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-17T09:12:33.107682Z",
     "iopub.status.busy": "2026-06-17T09:12:33.107205Z",
     "iopub.status.idle": "2026-06-17T09:12:33.271949Z",
     "shell.execute_reply": "2026-06-17T09:12:33.271234Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "V_m: start -69.85 mV, max -55.00 mV, 16 spikes in 1000 ms\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAGGCAYAAADmRxfNAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAmCNJREFUeJztnXd4VGX6v+/0BFKBEEBCs9ARxDWCIKgoIquiomul2usqutYVV1dRQddevwoqKopYKQoosiiIKEVBmtIUQ5FAAqTPnN8f/OZshiSQzCSZz+BzX1euC2ZOZu48z/uec55z3vc9EY7jOBiGYRiGYRiGYQRBZKgFDMMwDMMwDMMIf6ywMAzDMAzDMAwjaKywMAzDMAzDMAwjaKywMAzDMAzDMAwjaKywMAzDMAzDMAwjaKywMAzDMAzDMAwjaKywMAzDMAzDMAwjaKywMAzDMAzDMAwjaKywMAzDMAzDMAwjaKywMAzDMP4UbNiwgYiICMaNGxdqFaMK+PI1YcKEav/uhAkTiIiIYMOGDTXuZRhG5VhhYRiGYRiGHw899BAffvhhnXzXW2+9xRNPPFEn32UYRu1ihYVhGIZhGH4oFBYtW7akoKCAyy67rE48DMMIHissDMMwQkRpaSnFxcWh1jCqyN69e0Ot8KciIiKC+Ph4oqKiQq1iGEYVscLCMIxaZcmSJQwYMIDk5GQSExM55ZRT+Oabb/y28Y2H/vrrr7nllltIT0+nfv36nHPOOWzfvr3cZ86YMYPevXtTv359kpKSGDhwICtWrDioS218T9++fenbt2+53x02bBitWrVy/192fP8TTzzB4YcfTlxcHD/99BMAX3zxhftdqampnH322axcudLvM++77z4iIiL4+eefGTZsGKmpqaSkpDB8+HDy8/MP+vfXFq1ateKvf/0rX375JcceeywJCQl07tyZL7/8EoD333+fzp07Ex8fT/fu3VmyZEm5z1i1ahWDBw+mQYMGxMfHc+yxx/Lxxx/7bePL31dffcWNN95Ieno6qampXHXVVRQXF7Nr1y6GDBlCWloaaWlp/OMf/8BxnAqd//Of/9CyZUsSEhLo06cPy5cv93t/2LBhJCYm8ssvv3DGGWeQlJTEJZdcAsC8efM4//zzadGiBXFxcWRmZnLzzTdTUFBQ4Wds3ryZQYMGkZiYSHp6Orfeeisej8dvW6/XyxNPPEHHjh2Jj48nIyODq666ip07dx40/r7vWbduHf3796d+/fo0a9aM+++/v9zfv3fvXkaNGkVmZiZxcXG0bduWcePG+W0XERHB3r17ee2114iIiCAiIoJhw4a572/evJkRI0aQkZFBXFwcHTt25NVXX/X7ni+//JKIiAjeffddHnzwQZo3b058fDynnHIKP//8s7td3759mTZtGhs3bnS/y9dvKppj8cMPPzBs2DDatGlDfHw8TZo0YcSIEezYseOgcTIMo/aJDrWAYRiHLitWrKB3794kJyfzj3/8g5iYGF588UX69u3L3LlzycrK8tv+hhtuIC0tjdGjR7NhwwaeeOIJrr/+et555x13mzfeeIOhQ4fSv39/HnnkEfLz83n++efp1asXS5Ys8TuZr4y6+p6KGD9+PIWFhVx55ZXExcXRoEEDZs+ezYABA2jTpg333XcfBQUFPP3005xwwgksXry43HddcMEFtG7dmjFjxrB48WL+7//+j8aNG/PII48E5FQT/Pzzz1x88cVcddVVXHrppYwbN44zzzyTF154gbvuuotrr70WgDFjxnDBBRewevVqIiP3XdtasWIFJ5xwAocddhh33HEH9evX591332XQoEFMmTKFc845x++7brjhBpo0acK//vUvvvnmG1566SVSU1OZP38+LVq04KGHHmL69OmMHTuWTp06MWTIEL/ff/3119m9ezfXXXcdhYWFPPnkk5x88sn8+OOPZGRkuNuVlpbSv39/evXqxbhx46hXrx4AkydPJj8/n2uuuYaGDRvy7bff8vTTT/Pbb78xefJkv+/yeDz079+frKwsxo0bx+zZs3nsscc4/PDDueaaa9ztrrrqKiZMmMDw4cO58cYbWb9+Pc888wxLlizh66+/JiYm5oDx93g8nH766Rx//PE8+uijfPrpp4wePZrS0lLuv/9+ABzH4ayzzmLOnDmMHDmSrl278tlnn3HbbbexefNm/vOf/wD72v7ll1/Occcdx5VXXgnA4YcfDsDWrVs5/vjjiYiI4Prrryc9PZ0ZM2YwcuRI8vLy+Pvf/+7n9fDDDxMZGcmtt95Kbm4ujz76KJdccgkLFy4E4O677yY3N5fffvvN/f7ExMRK/85Zs2axbt06hg8fTpMmTVixYgUvvfQSK1as4JtvviEiIuKAcTIMo5ZxDMMwaolBgwY5sbGxzi+//OK+9vvvvztJSUnOiSee6L42fvx4B3D69evneL1e9/Wbb77ZiYqKcnbt2uU4juPs3r3bSU1Nda644gq/79myZYuTkpJS7vX9qY3v6dOnj9OnT59y3zV06FCnZcuW7v/Xr1/vAE5ycrKzbds2v227du3qNG7c2NmxY4f72rJly5zIyEhnyJAh7mujR492AGfEiBF+v3/OOec4DRs2PODfXpu0bNnSAZz58+e7r3322WcO4CQkJDgbN250X3/xxRcdwJkzZ4772imnnOJ07tzZKSwsdF/zer1Oz549nSOPPNJ9zZe//v37++WvR48eTkREhHP11Ve7r5WWljrNmzf3y40vBwkJCc5vv/3mvr5w4UIHcG6++Wb3taFDhzqAc8cdd5T7e/Pz88u9NmbMGCciIsLvb/V9xv333++3bbdu3Zzu3bu7/583b54DOG+++abfdp9++mmFr++P73tuuOEG9zWv1+sMHDjQiY2NdbZv3+44juN8+OGHDuD8+9//9vv9wYMHOxEREc7PP//svla/fn1n6NCh5b5r5MiRTtOmTZ0//vjD7/ULL7zQSUlJcWMzZ84cB3Dat2/vFBUVuds9+eSTDuD8+OOP7msDBw706ys+fPkaP368+1pFsX/77bcdwPnvf//rvuZrK+vXry+3vWEYtYcNhTIMo1bweDzMnDmTQYMG0aZNG/f1pk2bcvHFF/PVV1+Rl5fn9ztXXnml3xXH3r174/F42LhxI7DvauWuXbu46KKL+OOPP9yfqKgosrKymDNnTpXc6up7KuK8884jPT3d/X92djZLly5l2LBhNGjQwH29S5cunHrqqUyfPr3cZ1x99dV+/+/duzc7duwoF8+6pEOHDvTo0cP9v+9u1Mknn0yLFi3Kvb5u3ToAcnJy+OKLL7jgggvYvXu3G+sdO3bQv39/1q5dy+bNm/2+a+TIkX75y8rKwnEcRo4c6b4WFRXFscce635PWQYNGsRhhx3m/v+4444jKyurwliXvavgIyEhwf333r17+eOPP+jZsyeO41Q4zKuifJX1mjx5MikpKZx66ql+7a179+4kJiZWub1df/317r99dxSKi4uZPXs2ANOnTycqKoobb7zR7/dGjRqF4zjMmDHjgJ/vOA5TpkzhzDPPxHEcP9f+/fuTm5vL4sWL/X5n+PDhxMbG+v3tQIV5qQplY19YWMgff/zB8ccfD1Duuw3DqHtsKJRhGLXC9u3byc/Pp23btuXea9++PV6vl19//ZWOHTu6r5c9AQVIS0sDcMeZr127Fth3sloRycnJVXKrq++piNatW/v931fMVBanzz77jL1791K/fn339QP5V+a2Z88e9uzZE5BzYmLiAYenVOSUkpICQGZmZoWv+2L9888/4zgO//znP/nnP/9Z4Wdv27bNrxCozndVNEfhyCOPLPfaUUcdxbvvvuv3WnR0NM2bNy+37aZNm7j33nv5+OOPy31+bm6u3//j4+P9CknYl6+yv7d27Vpyc3Np3Lhxue+CfX//wYiMjPQr4H1/E+A+y2Hjxo00a9aMpKQkv+3at2/vvn8gtm/fzq5du3jppZd46aWXquR6sL5WXXJycvjXv/7FpEmTyn3X/rE3DKPuscLCMAwZKlv9xfn/E0u9Xi+wbwx4kyZNym0XHV21XVpNfk9ERESFE4T3n5zro+wV10A5mH9FjBs3jn/9618Bfd/o0aO57777AnKqaqxvvfVW+vfvX+G2RxxxRMDfdaCYHIy4uDh3HogPj8fDqaeeSk5ODrfffjvt2rWjfv36bN68mWHDhrl/z8Fcy+L1emncuDFvvvlmhe/vX5iECt/fdumllzJ06NAKt+nSpYvf/wNpqwfiggsuYP78+dx222107dqVxMREvF4vp59+ernYG4ZR91hhYRhGrZCenk69evVYvXp1ufdWrVpFZGRkuSvMB8M3gbRx48b069evRjyD/Z60tLQKh3Uc7Oqvj5YtWwJUGqdGjRr53a0IlCFDhtCrV6+Afnf/K+E1ie+zY2JiajWnZfHdkSrLmjVrqjQh/8cff2TNmjW89tprfpPCZ82aFbDP4YcfzuzZsznhhBMCLjy9Xi/r1q1z71LAvr8JcP+uli1bMnv2bHbv3u1312LVqlXu+z4qmgSdnp5OUlISHo+nRnNV1QnXO3fu5PPPP+df//oX9957r/t6Rfk0DCM02BwLwzBqhaioKE477TQ++ugjdygG7FtV5q233qJXr17VHlLUv39/kpOTeeihhygpKSn3fkVLxgZCdb7n8MMPZ9WqVX6vLVu2jK+//rpK39W0aVO6du3Ka6+9xq5du9zXly9fzsyZMznjjDMC/0PK0KZNG/r16xfQT20WFo0bN6Zv3768+OKLZGdnl3u/pnJalg8//NBv3sa3337LwoULGTBgwEF/13cFvuwVd8dxePLJJwP2ueCCC/B4PDzwwAPl3istLfVrFwfimWee8XN65plniImJ4ZRTTgHgjDPOwOPx+G0H+5bejYiI8Pv769evX+57o6KiOO+885gyZUq55Xkh8FzVr1+/SsOYKoo9YE/tNgwh7I6FYRi1xr///W9mzZpFr169uPbaa4mOjubFF1+kqKiIRx99tNqfl5yczPPPP89ll13GMcccw4UXXkh6ejqbNm1i2rRpnHDCCeVOmgKhOt8zYsQIHn/8cfr378/IkSPZtm0bL7zwAh07dqzyZOqxY8cyYMAAevTowciRI93lZlNSUg46BOlQ4Nlnn6VXr1507tyZK664gjZt2rB161YWLFjAb7/9xrJly2r0+4444gh69erFNddcQ1FREU888QQNGzbkH//4x0F/t127dhx++OHceuutbN68meTkZKZMmRLwnAGAPn36cNVVVzFmzBiWLl3KaaedRkxMDGvXrmXy5Mk8+eSTDB48+ICfER8fz6effsrQoUPJyspixowZTJs2jbvuussdSnXmmWdy0kkncffdd7NhwwaOPvpoZs6cyUcffcTf//53904dQPfu3Zk9ezaPP/44zZo1o3Xr1mRlZfHwww8zZ84csrKyuOKKK+jQoQM5OTksXryY2bNnk5OTU+2/v3v37rzzzjvccsst/OUvfyExMZEzzzyz3HbJycmceOKJPProo5SUlHDYYYcxc+ZM1q9fX+3vNAyjdrDCwjCMWqNjx47MmzePO++8kzFjxuD1esnKymLixInlnmFRVS6++GKaNWvGww8/zNixYykqKuKwww6jd+/eDB8+vMbcq/o97du35/XXX+fee+/llltuoUOHDrzxxhu89dZb7gPiDka/fv3c5w7ce++9xMTE0KdPHx555JFyk70PRTp06MB3333Hv/71LyZMmMCOHTto3Lgx3bp18xvyUlMMGTKEyMhInnjiCbZt28Zxxx3HM888Q9OmTQ/6uzExMXzyySfceOONjBkzhvj4eM455xyuv/56jj766ICdXnjhBbp3786LL77IXXfdRXR0NK1ateLSSy/lhBNOOOjvR0VF8emnn3LNNddw2223kZSU5LYnH5GRkXz88cfce++9vPPOO4wfP55WrVoxduxYRo0a5fd5jz/+OFdeeSX33HMPBQUFbsGSkZHBt99+y/3338/777/Pc889R8OGDenYsWPAz1G59tprWbp0KePHj3cfXFhRYQHw1ltvccMNN/Dss8/iOA6nnXYaM2bMoFmzZgF9t2EYNUuEE8zMNsMwDMMwQsqwYcN47733Al71yzAMo6awORaGYRiGYRiGYQSNFRaGYRiGYRiGYQSNFRaGYRiGYRiGYQSNzbEwDMMwDMMwDCNo7I6FYRiGYRiGYRhBY4WFYRiGYRiGYRhBY8+x2A+v18vvv/9OUlISERERodYxDMMwDMMwjJDhOA67d++mWbNmREYe+J6EFRb78fvvv5OZmRlqDcMwDMMwDMOQ4ddff6V58+YH3MYKi/1ISkoC9gUvOTk5xDaGYRiGYRiGETry8vLIzMx0z5EPhBUW++Eb/pScnGyFhWEYhmEYhmFAlaYI2ORtwzAMwzAMwzCCxgoLwzAMwzAMwzCCxgoLwzAMwzAMwzCCxgoLwzAMwzAMwzCCxgoLwzAMwzAMwzCCxgoLwzAMwzAMwzCCxgoLwzAMwzAMwzCCxgoLwzAMwzAMwzCCxgoLwzAMwzAMwzCCxgoLwzAMwzAMwzCCJjrUAoYmubm5fPPNNyxZsoQ1a9awZs0aAN59912aNWsWUjfHcVi/fj0LFizgp59+Ys2aNaxdu5a+ffvyxBNPhNQNoLi4mCVLlrBo0SJWr17NmjVr2Lp1K2PGjGHAgAGh1mPHjh0sWLCAH374wfWLj4/n448/JikpKaRujuOwZs0avvnmG1auXMnq1av55ZdfGDx4MPfee29I3QAKCwv57rvv+O6771izZg2rV69m165dPPPMM/To0SPUemzdupX58+fz448/un4ZGRl88MEHxMTEhNTN6/Xy008/sXDhQlauXMmaNWvYsGEDV155Jddff31I3QD27t3Lt99+y+LFi91+kZ+fz4QJE+jQoUOo9fjtt9+YP38+K1ascPfJ7dq1Y+LEiURERITUrbS0lB9//JGFCxe6sfvtt9/4xz/+wSWXXBJSN9h3PFu4cCFLly51/TweD++++y7NmzcPqZvjOGzYsME9nq1evZq1a9fSu3dvnn766ZC6wb7j2dKlS93j2erVq9m6dSsPPvggAwcODLUeOTk5LFiwgGXLlrn7vLi4OD766CNSUlJC6uY4DmvXruWbb75xz1V++eUXzjnnHO67776QutUqjuFHbm6uAzi5ubmhVqlzfvzxR2f06NHO0Ucf7URERDhAuZ/x48eHxK2oqMj55JNPnGHDhjlNmjSp0A1wSkpKQuKXnZ3tPPvss84pp5zixMfHV+h20UUXhcTN6/U6ixYtcm6//Xanffv2lcZu+vTpIfHbu3ev89577zkXXXSR06hRowrdGjRoEBI3x3GcjRs3Oo8//rjTq1cvJyYmpkK/m266KSRuHo/HmTdvnvP3v//dOeKIIyrN7XfffRcSv7y8POfNN990zj33XCclJaVCt/bt24fEzXEcZ+3atc6YMWOc4447zomKiqrQ76GHHgqJW2lpqTN79mzn6quvdlq0aFFpbjdt2hQSvx07djivvvqqM3DgQCcxMbFCtz59+oTEzXH+dzzr2rVrpcez//u//wuJW1FRkTNt2jRn+PDhTtOmTSvNbWFhYUj8tmzZ4jz33HNOv379Kj2enX/++SFx83q9znfffefccccdTocOHSqN3ccffxwSv/z8fGfKlCnOxRdfXOnxLCUlJSRuwVCdc2O7Y/Enx3EcPvjgAx577DHmz5/v916bNm3IysqiXbt2TJ48meXLl+M4Tp367dy5k2effZZnn32WLVu2uK/HxMTQvXt3unbtSuPGjbn//vvr1MvHkiVLGDduHO+++y6lpaXu6w0bNuT444+nY8eOfPbZZyxbtqzOY+fxeHj77bd5/PHHWbJkid977dq149hjj6Vdu3bcc889AHXut3XrVp588kleeOEFdu7c6b4eHx/PX/7yF44++mi8Xi/PPfccXq+3Tt0Avv76a8aNG8dHH33kF5uMjAx69OhBhw4deO2119i8eXOdx66oqIjXXnuN//znP6xatcp9PSIigk6dOnHsscfStm1b7rjjDqDuc7tp0yYef/xxXnnlFfbs2eO+Xr9+fY477ji6dOnCli1beOedd+rczXEcZs+ezbhx45g5c6bfe5mZmWRlZdG+fXvGjh1LYWFhnfvt3buXl156iaeeeooNGza4r0dFRXH00UdzzDHH0LZtW2677Tag7nO7Zs0axo0bxxtvvEFhYaH7enJyMscffzydO3fmhx9+YNasWSHJ7UcffcRjjz3GV1995fdemzZtOO6442jXrp17tbiu/Xbt2sVzzz3HM888Q3Z2tvt6TEwMxxxzDF27dqVp06Yhu5q9bNkyxo4dyzvvvFPp8WzWrFksWbIkJMezSZMm8fjjj7N48WK/99q2bctf/vKXkB7Ptm3bxlNPPcXzzz9PTk6O+3pcXJx7PIuKiuKpp54KyfGsTqmFwias+TPdsfjuu++cHj16uFV0TEyMc9ZZZzmvvfaak52d7bftGWec4QDOq6++WiduHo/HeeGFF5yGDRu6fk2aNHGuv/5654svvnAKCgrcbXNycur8jsXWrVud4cOH+12FOO6445yxY8c6K1eudLxer7vtk08+6QDOhRdeWCdujuM4c+fOdbp06eK6JSQkOOeff74zadIk548//vDb9thjj3UAZ9q0aXXiVlxc7IwdO9ZJSkpy/Vq0aOHceuutzldffeUUFRW5265cudIBnLS0tDpxc5x9dygGDx7sl9sTTzzReeqpp5yff/7ZL7d33XWXAzg33nhjnflNmzbN7+5EUlKSc9lllzkffPCBs2vXLr9tfVe6Fy1aVCdu+fn5zj//+U+/q5xHHnmkc/fddzvffvutX/+cO3euAzjt2rWrEzfHcZxVq1Y5/fv3d90iIyOdU0891XnxxRfLXfm//PLLHcB58MEH68TN6/U6b7/9ttO8eXO/O3WXX365M336dGf37t1+28fFxTmAs3Hjxjrx27Vrl/P3v//diY6Odv06d+7s3H///c7SpUsdj8fjbjt58mS339QVixcvdk444QS/49mZZ57pTJgwodzx7KyzznIA5+WXX64TN4/H47z00kt+V7AzMjKc6667zpk9e7aTn5/vbus7B6EO71hs27bNGTlypN+dnb/85S/OI4884vz0009++7xnnnnGAZzBgwfXiZvjOM68efOcrl27um7x8fHO4MGDnbffftvZvn2737ZZWVkO4Hz00Ud14lZSUuKMGzfOSU5Odv0yMzOdW265xZk3b57f8Wzt2rUO4CQnJ9eJW01SnXNjKyz2489QWHg8Hmfs2LHuAaJ+/frO3Xff7fz++++V/k5dFhZbt251TjvtNLeTdujQwXnzzTed4uLiCrev68Ji9uzZTkZGhvudF154ofP9999Xun1dFhYlJSXuya7vhPzf//53uWKiLHVZWGzcuNGvmD322GOdDz74wCktLa1w+7ouLN5//313yE5kZKQzcuRI56effqp0+7osLAoKCpxrrrnGr9B+/PHHD7ivqsvCYuXKlU6nTp38hsF89tlnficlZanLwsLr9Tqvvvqqk5CQ4ABObGysc+ONNzrr1q2r9HfqsrDIzc11LrzwQjd2rVq1cl588UW/E879qcvCYtGiRU6bNm1cv4EDBzrz5s2rNLd1WVh4vV7nsccec49n9erVc+644w5n8+bNlf5OXRYW27dvdwYMGODGrn379s4bb7zhd8JZlrouLL744gu/4cUXXHDBAYdO1mVhUVJS4txzzz1uwZOamuo88MAD5YqJstRlYbFp0ya/YvaYY45xpkyZUunxzAqLPymHemFRXFzsXHbZZW5HGDx48AF3wD7qqrBYu3at07JlS/cq+xNPPHHQYqEuC4uXX37Z3cl17NjRWbBgwUF/p64Ki/z8fDdPgDNy5MgDFhQ+6qqwWLx4sZOenu7w/8eYvvrqq35XOSuiLguLMWPGuLHLyspyli1bdtDfqavCYufOnU7Pnj1dv1tuucXJy8s76O/VVWHx5ZdfunegMjIynPfee6/Sk04fdVVYeL1e55ZbbnFj169fP2fNmjUH/b26Kiyys7PdgiwqKsq57777DlhQ+KirwuLDDz90YmNj3YLns88+O+jv1FVhUVJS4gwZMsTN7bnnnuv8+uuvB/29uiosfv75Z6dVq1buVfbHH3+80gtkPuqysHj11VedyMhI9wLeV199ddDfqavCoqCgwDnzzDPdWAwfPtzZtm3bQX+vrgqLpUuXOo0bN3YLhf/7v/876PHsz1JY2ByLPxGlpaX87W9/44MPPiAqKopnn32WK6+8MuQrivhYvXo1ffv2ZcuWLRx55JG8//77dOrUKdRaLs8++6y7es3QoUN57rnnqFevXoit9lFQUMAZZ5zBl19+SUJCAuPHj+dvf/tbqLVcvvvuO/r160dubi5du3bl/fffp3Xr1qHWchk9erQ7T+fmm2/mkUceCfkqSj527drFySefzJIlS0hNTWXSpEn0798/1Fous2fP5swzz6SwsJDevXvz7rvv0qRJk1BrAeA4Dtdeey0vvPACAA888AB33XUXkZEaK61nZ2dz4okn8vPPP9O0aVPee+89evbsGWotl8mTJ3PRRRfh8Xg488wzef3110lNTQ21FrBvzP3FF1/M5MmTiYqK4sknn+Taa6+VOZ6tXbuWPn36kJ2dzeGHH877779Ply5dQq3l8sILL3DNNdcAcOmll/LCCy9Qv379EFvto7CwkL/+9a98/vnnxMfH8+qrr3LRRReFWstl8eLFnHLKKezatYujjz6aKVOmcPjhh4daSwYrLP5EjBo1ig8++IC4uDgmT57MmWeeGWollx07djBw4EC2bNlCly5dmDlzJhkZGaHWcvnkk0+44YYbALj11lt59NFHZQ5gjuMwYsQIvvzyS5KSkpg2bRq9e/cOtZbLpk2b+Otf/0pubi69evVi6tSpIV8GsCyvvvqqW1Q8+uij7qRYBUpLS7ngggtYsmQJ6enpzJo1i6OPPjrUWi4//fQT5513nnsiMHnyZOLj40Ot5fLoo4/ywgsvEBkZycsvv8yIESNCreSSn5/PWWedxc8//0yrVq34/PPPadOmTai1XObPn8+ll16Kx+NhyJAhvPLKK0RH65wy/OMf/2Dy5MnExsbyzjvvMGjQoFArueTk5PDXv/6V7OxsOnXqxMyZM2natGmotVymTZvGddddB8Att9zCuHHjpI5nl19+OZ9//jmJiYlMnTqVPn36hFrLZfPmzZx55pns2rWLnj17Mm3aNJliWwWdvYRRq7z22ms89dRTAEycOFGqqPB6vVx44YX88ssvtGrVilmzZtG4ceNQa7msWbOGiy66CMdxuOqqq6SKCoCxY8cyadIkoqOj+eijj6SKiuLiYs455xy2bt1K586dmT59esiflVGWRYsWcfXVVwPwz3/+U6qoALjjjjuYNWsW9erV47PPPpMqKnbv3s1ZZ51FXl4evXv35r333iMuLi7UWi6ffvqpuyrWU089JVVUAFx11VV89913NGzYkNmzZ0sVFVu3buWcc86huLiYs88+m1dffZWoqKhQa7lMnDiRxx9/HIA33nhDqqhwHIeLL76YNWvW0KJFC2bPni11keznn3/mwgsvxOv1cvnll0sVFQCPP/44b775JlFRUXz44YdSRUVJSQnnnHMOv//+Ox07dmT69OlSF8lU0LgfbNQqGzdudK+233///QwePDjgz3JqYQm3Z599ltmzZ1OvXj0++eSToIqKmvYrLS1l6NCh7N27l759+/L0008HvBOujdj98MMP7vJ6zz77LCeddFLAn1Ubfg888ACLFy+mYcOGfPLJJwEXFbXhVlBQwJAhQygpKeG8884LaonH2vCbO3eue/I0ceJEunXrFvBn1YbfqFGj+OWXX2jZsiXvv/9+wEVFbbjl5OS4hcTVV1/tXp0NhNrwe++995g4cSKRkZG8//77QQ2jqGk/3wWUbdu20blzZyZOnBhwUVEbsfv111/dfI4ePZoLLrgg4M+qDb/nn3+ezz77jISEBD755JOgioqa9vN4PAwbNow9e/bQu3dvnn32Wanj2YoVK7jrrruAfRcDTjnllIA/qzb8HnzwQRYtWkSDBg2CuvNeG25KWGFxiOM4DldeeSW7d++mZ8+ebqdVYcOGDdx+++3AvivvgcypqM2rLU899RTffPMNycnJvP766wGNu68tP4/Hw/DhwykpKeHss8/miiuuCOhzastv6dKljBkzBtg3nrdly5bV/ozazO19993HqlWraNq0KS+99FJA4+5ry6+wsJDhw4fjOA5XXHEF55xzTkCfU1t+n3/+OS+//DKw725oo0aNqv0ZtZnbUaNGkZ2dTdu2bd3irLrUlt/OnTvdse133nknJ554YkCfU1t+kyZN4qOPPiImJoaJEyeSmJhY7c+ozdxeddVV5OXlcfzxx7sXVapLbflt2rTJvev5yCOPBDSnojZj98wzz/D111+TlJTE66+/TmxsbLU/o7b8vF4vw4cPp7i4mIEDB7p9pLrUlt8PP/zAv//9bwCee+45WrVqVe3PULozVJtYYXGIM2PGDGbOnElsbCwTJkwI+MpTbXWIu+66i4KCAvr06eMOSVHhjz/+cMfeP/bYY2RmZobYyJ+JEyeyePFiUlJSePHFF6V2Wo7jMGrUKDweD4MHDw7qLlltsH79ep544glgX9HToEGD0Artx1NPPcX69es57LDDeOyxx0Kt44fH4+GWW24B4LrrrpMaqgD7Jla+9tprAEyYMIGEhIQQG/nz4IMP8scff9ChQwfuvffeUOv4UVBQ4A4fu+eee6QmGwN89tlnzJgxg5iYGCZMmCA15wPg7rvvJj8/n969ewd1l6w2yMnJ4V//+hewb+5RICfGtclbb73FokWLSEpK4qWXXpI6ngHcdttteDwezjnnHKmFURSxwuIQxuPxuFdPbrzxRo488sgQG/mzaNEi3n77bSIiInjiiSdkVmrx8cADD7irGA0fPjzUOn7k5+dz9913A/tOAJTG8MK+gvaLL74gNjaWsWPHhlqnHHfddRfFxcX069dPar4R7CtoH3zwQQAeeughqTkpAK+//jo//PADqamp7omKErfddhuO43DJJZdw/PHHh1rHj/Xr1/P0008D+y5WBHLFuDZ56qmn2LRpE82bN5ebb1T2eHb99dfTtm3bEBv58/333zNx4kQA/vOf/8gdzx588EF27txJp06dAr67XVsUFha6oynuuusumjVrFmIjfz777DNmzpxJTEwM48aNC7WOPFot36hRPvzwQ3766SfS0tLck1AlfLcVL730Urp27Rpamf3YunUrL774IrDv6o7SxEXYdyV28+bNtGzZ0l0CVwXHcdw7PTfccIPclbHVq1fzzjvvAPuG36ldGXv66afJy8vj6KOP5tJLLw21jh8ej8cteu666y4aNmwYYiN/5s+f7xa0Pk8lHn30UbegVVoyGPZdrPCdNP373/+Wu9Pz8ccf8+OPP5KSkhLwEKjaxNfeLr74Yrp37x5iG3+2b9/Oc889B2gez1577TV+/fVXmjdvzk033RRqnXI88MADwL47tEqLLKhihcUhiuM4PProo8C+zqC2HNrq1av5+OOPASSLnmeffZaioiKysrLo169fqHX88Hg87rjx2267TWp5T9h3crdw4UJiY2PlrnrCvquJjuNw5plnyhW0+fn5PPvss8C+fqF21fOjjz7il19+IS0tjWuvvTbUOuXwnRgPGTIkoDk9tcn27duZMGECsO8uo1pB+/rrr/PHH3/QqlUrLrnkklDrlMOX2+uuu05u6OLatWv58MMPAc3j2fPPP09hYSHdu3fn9NNPD7WOH16v1x3ueeutt8oVtAsWLODrr78mJiaGf/zjH6HWCQu0jloHoFWrVkRERPj9PPzww37bOI7DuHHjOOqoo4iLi+Owww6TvGpVF3z99dd8++23xMXFuStCKfGf//wHgLPOOkvulnZ+fr57defWW2+VOwEoe3I3bNiwUOuUo+zJndoQre3bt7vj72+99dYQ25Tn9ddfZ8eOHbRu3TrgCdu1ie8E4Nprr5V5mJaPsid3vjkgSjz33HMUFhZy7LHHBjxhu7bwer3uxYqbb75Zbu7CN998w/z584mNjZW7QwvwxBNP4DgOZ5xxBh06dAi1jh+FhYU888wzgObxbOrUqaxdu5bU1FS5JaEBt19ceumlUs8iUUZr73EQ7r//fr+xgfuPPb7pppuYOXMm48aNo3PnzuTk5JCTk1PXmhL83//9H7CvMyg9EwJg7969vPnmm8C+g5gaH3zwATt27KBly5aSJ3cvvfQSsG91FLWTu+zsbPdOlGJuJ06cSGFhIcccc4zU8z58+HJ7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YFgbMPYRTu3AJm8bhmEYhmEYhhE0dsfCMAzDMAzDMIygscLCMAzDMAzDMIygscLCMAzDMAzDMIygscJCjGeffZZWrVoRHx9PVlYW3377baiVjBpgzJgx/OUvfyEpKYnGjRszaNAgVq9e7bdNYWEh1113HQ0bNiQxMZHzzjuPrVu3+m2zadMmBg4cSL169WjcuDG33XYbpaWldfmnGDXEww8/TEREBH//+9/d16wN/DnYvHkzl156KQ0bNiQhIYHOnTvz3Xffue87jsO9995L06ZNSUhIoF+/fqxdu9bvM3JycrjkkktITk4mNTWVkSNHsmfPnrr+U4wA8Hg8/POf/6R169YkJCRw+OGH88ADD1B2yqu1gUOP//73v5x55pk0a9aMiIgIPvzwQ7/3ayrnP/zwA7179yY+Pp7MzEweffTR2v7T/HEMGSZNmuTExsY6r776qrNixQrniiuucFJTU52tW7eGWs0Ikv79+zvjx493li9f7ixdutQ544wznBYtWjh79uxxt7n66qudzMxM5/PPP3e+++475/jjj3d69uzpvl9aWup06tTJ6devn7NkyRJn+vTpTqNGjZw777wzFH+SEQTffvut06pVK6dLly7OTTfd5L5ubeDQJycnx2nZsqUzbNgwZ+HChc66deuczz77zPn555/dbR5++GEnJSXF+fDDD51ly5Y5Z511ltO6dWunoKDA3eb00093jj76aOebb75x5s2b5xxxxBHORRddFIo/yagmDz74oNOwYUNn6tSpzvr1653Jkyc7iYmJzpNPPuluY23g0GP69OnO3Xff7bz//vsO4HzwwQd+79dEznNzc52MjAznkksucZYvX+68/fbbTkJCgvPiiy/W1Z/pWGEhxHHHHedcd9117v89Ho/TrFkzZ8yYMSG0MmqDbdu2OYAzd+5cx3EcZ9euXU5MTIwzefJkd5uVK1c6gLNgwQLHcfbtlCIjI50tW7a42zz//PNOcnKyU1RUVLd/gBEwu3fvdo488khn1qxZTp8+fdzCwtrAn4Pbb7/d6dWrV6Xve71ep0mTJs7YsWPd13bt2uXExcU5b7/9tuM4jvPTTz85gLNo0SJ3mxkzZjgRERHO5s2ba0/eqBEGDhzojBgxwu+1c88917nkkkscx7E28Gdg/8KipnL+3HPPOWlpaX7Hg9tvv91p27ZtLf9F/8OGQolQXFzM999/T79+/dzXIiMj6devHwsWLAihmVEb5ObmAtCgQQMAvv/+e0pKSvzy365dO1q0aOHmf8GCBXTu3JmMjAx3m/79+5OXl8eKFSvq0N4Ihuuuu46BAwf65RqsDfxZ+Pjjjzn22GM5//zzady4Md26dePll19231+/fj1btmzxawcpKSlkZWX5tYPU1FSOPfZYd5t+/foRGRnJwoUL6+6PMQKiZ8+efP7556xZswaAZcuW8dVXXzFgwADA2sCfkZrK+YIFCzjxxBOJjY11t+nfvz+rV69m586ddfK3RNfJtxgH5Y8//sDj8fidMABkZGSwatWqEFkZtYHX6+Xvf/87J5xwAp06dQJgy5YtxMbGkpqa6rdtRkYGW7ZscbepqH343jP0mTRpEosXL2bRokXl3rM28Odg3bp1PP/889xyyy3cddddLFq0iBtvvJHY2FiGDh3q5rGiPJdtB40bN/Z7Pzo6mgYNGlg7CAPuuOMO8vLyaNeuHVFRUXg8Hh588EEuueQSAGsDf0JqKudbtmyhdevW5T7D915aWlqt+Ps51fo3GIbhx3XXXcfy5cv56quvQq1i1CG//vorN910E7NmzSI+Pj7UOkaI8Hq9HHvssTz00EMAdOvWjeXLl/PCCy8wdOjQENsZdcG7777Lm2++yVtvvUXHjh1ZunQpf//732nWrJm1ASPssaFQIjRq1IioqKhyK8Bs3bqVJk2ahMjKqGmuv/56pk6dypw5c2jevLn7epMmTSguLmbXrl1+25fNf5MmTSpsH773DG2+//57tm3bxjHHHEN0dDTR0dHMnTuXp556iujoaDIyMqwN/Alo2rQpHTp08Hutffv2bNq0CfhfHg90LGjSpAnbtm3ze7+0tJScnBxrB2HAbbfdxh133MGFF15I586dueyyy7j55psZM2YMYG3gz0hN5VzhGGGFhQixsbF0796dzz//3H3N6/Xy+eef06NHjxCaGTWB4zhcf/31fPDBB3zxxRflblV2796dmJgYv/yvXr2aTZs2ufnv0aMHP/74o9+OZdasWSQnJ5c7UTH0OOWUU/jxxx9ZunSp+3PsscdyySWXuP+2NnDoc8IJJ5RbanrNmjW0bNkSgNatW9OkSRO/dpCXl8fChQv92sGuXbv4/vvv3W2++OILvF4vWVlZdfBXGMGQn59PZKT/6VdUVBRerxewNvBnpKZy3qNHD/773/9SUlLibjNr1izatm1bJ8OgAFtuVolJkyY5cXFxzoQJE5yffvrJufLKK53U1FS/FWCM8OSaa65xUlJSnC+//NLJzs52f/Lz891trr76aqdFixbOF1984Xz33XdOjx49nB49erjv+5YaPe2005ylS5c6n376qZOenm5LjYYxZVeFchxrA38Gvv32Wyc6Otp58MEHnbVr1zpvvvmmU69ePWfixInuNg8//LCTmprqfPTRR84PP/zgnH322RUuO9mtWzdn4cKFzldffeUceeSRttRomDB06FDnsMMOc5ebff/9951GjRo5//jHP9xtrA0ceuzevdtZsmSJs2TJEgdwHn/8cWfJkiXOxo0bHcepmZzv2rXLycjIcC677DJn+fLlzqRJk5x69erZcrN/Zp5++mmnRYsWTmxsrHPcccc533zzTaiVjBoAqPBn/Pjx7jYFBQXOtdde66SlpTn16tVzzjnnHCc7O9vvczZs2OAMGDDASUhIcBo1auSMGjXKKSkpqeO/xqgp9i8srA38Ofjkk0+cTp06OXFxcU67du2cl156ye99r9fr/POf/3QyMjKcuLg455RTTnFWr17tt82OHTuciy66yElMTHSSk5Od4cOHO7t3767LP8MIkLy8POemm25yWrRo4cTHxztt2rRx7r77br8lQq0NHHrMmTOnwvOAoUOHOo5TczlftmyZ06tXLycuLs457LDDnIcffriu/kTHcRwnwnHKPOrRMAzDMAzDMAwjAGyOhWEYhmEYhmEYQWOFhWEYhmEYhmEYQWOFhWEYhmEYhmEYQWOFhWEYhmEYhmEYQWOFhWEYhmEYhmEYQWOFhWEYhmEYhmEYQWOFhWEYhmEYhmEYQWOFhWEYhmEYhmEYQWOFhWEYhlFlvvzySyIiIti1a1dIvv/zzz+nffv2eDyeWvuO448/nilTptTa5xuGYRyq2JO3DcMwjArp27cvXbt25YknnnBfKy4uJicnh4yMDCIiIurcqXv37txyyy1ccskltfYdU6dO5eabb2b16tVERtr1N8MwjKpie0zDMAyjysTGxtKkSZOQFBVfffUVv/zyC+edd16tfs+AAQPYvXs3M2bMqNXvMQzDONSwwsIwDMMox7Bhw5g7dy5PPvkkERERREREsGHDhnJDoSZMmEBqaipTp06lbdu21KtXj8GDB5Ofn89rr71Gq1atSEtL48Ybb/QbvlRUVMStt97KYYcdRv369cnKyuLLL788oNOkSZM49dRTiY+Pd1+777776Nq1K6+++iotWrQgMTGRa6+9Fo/Hw6OPPkqTJk1o3LgxDz74oPs7juNw33330aJFC+Li4mjWrBk33nij+35UVBRnnHEGkyZNqplgGoZh/EmIDrWAYRiGoceTTz7JmjVr6NSpE/fffz8A6enpbNiwody2+fn5PPXUU0yaNIndu3dz7rnncs4555Camsr06dNZt24d5513HieccAJ/+9vfALj++uv56aefmDRpEs2aNeODDz7g9NNP58cff+TII4+s0GnevHlcfPHF5V7/5ZdfmDFjBp9++im//PILgwcPZt26dRx11FHMnTuX+fPnM2LECPr160dWVhZTpkzhP//5D5MmTaJjx45s2bKFZcuW+X3mcccdx8MPPxxkFA3DMP5cWGFhGIZhlCMlJYXY2Fjq1atHkyZNDrhtSUkJzz//PIcffjgAgwcP5o033mDr1q0kJibSoUMHTjrpJObMmcPf/vY3Nm3axPjx49m0aRPNmjUD4NZbb+XTTz9l/PjxPPTQQxV+z8aNG93ty+L1enn11VdJSkpyv2v16tVMnz6dyMhI2rZtyyOPPMKcOXPIyspi06ZNNGnShH79+hETE0OLFi047rjj/D6zWbNm/Prrr3i9XptnYRiGUUVsb2kYhmEERb169dyiAiAjI4NWrVqRmJjo99q2bdsA+PHHH/F4PBx11FEkJia6P3PnzuWXX36p9HsKCgr8hkH5aNWqFUlJSX7f1aFDB7+CoOz3n3/++RQUFNCmTRuuuOIKPvjgA0pLS/0+MyEhAa/XS1FRUTWjYRiG8efF7lgYhmEYQRETE+P3/4iIiApf83q9AOzZs4eoqCi+//57oqKi/LYrW4zsT6NGjdi5c2fQ35+Zmcnq1auZPXs2s2bN4tprr2Xs2LHMnTvX/b2cnBzq169PQkLCgf50wzAMowxWWBiGYRgVEhsbWyvPi+jWrRsej4dt27bRu3fvav3eTz/9VCMOCQkJnHnmmZx55plcd911tGvXjh9//JFjjjkGgOXLl9OtW7ca+S7DMIw/C1ZYGIZhGBXSqlUrFi5cyIYNG0hMTKRBgwY18rlHHXUUl1xyCUOGDOGxxx6jW7dubN++nc8//5wuXbowcODACn+vf//+vPbaa0F//4QJE/B4PGRlZVGvXj0mTpxIQkICLVu2dLeZN28ep512WtDfZRiG8WfC5lgYhmEYFXLrrbcSFRVFhw4dSE9PZ9OmTTX22ePHj2fIkCGMGjWKtm3bMmjQIBYtWkSLFi0q/Z1LLrmEFStWsHr16qC+OzU1lZdffpkTTjiBLl26MHv2bD755BMaNmwIwObNm5k/fz7Dhw8P6nsMwzD+bNiTtw3DMIyw4bbbbiMvL48XX3yx1r7j9ttvZ+fOnbz00ku19h2GYRiHInbHwjAMwwgb7r77blq2bOlOxK4NGjduzAMPPFBrn28YhnGoYncsDMMwDMMwDMMIGrtjYRiGYRiGYRhG0FhhYRiGYRiGYRhG0FhhYRiGYRiGYRhG0FhhYRiGYRiGYRhG0FhhYRiGYRiGYRhG0FhhYRiGYRiGYRhG0FhhYRiGYRiGYRhG0FhhYRiGYRiGYRhG0FhhYRiGYRiGYRhG0FhhYRiGYRiGYRhG0Pw/inMRj+IwJ6kAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.asarray(u.get_mantissa(res.times / u.ms))\n",
    "v = np.asarray(u.get_mantissa(res.trace(vm, 'V_m') / u.mV)).reshape(-1)\n",
    "n_spikes = int((np.diff(v) < -10.0).sum())   # threshold resets show as big drops\n",
    "print(f'V_m: start {v[0]:.2f} mV, max {v.max():.2f} mV, {n_spikes} spikes in 1000 ms')\n",
    "\n",
    "plt.figure(figsize=(8, 4))\n",
    "plt.plot(t, v, color='k')\n",
    "plt.xlabel('time (ms)'); plt.ylabel('V_m (mV)')\n",
    "plt.title('one neuron — membrane potential')\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f9162539",
   "metadata": {},
   "source": [
    "## Driving the neuron with Poisson noise\n",
    "\n",
    "Now replace the DC drive with a 2-channel `poisson_generator` — an excitatory channel and an inhibitory channel — with signed per-channel weights `[1.2, -1.0] pA`. The generator fans out one independent train per channel, and the per-channel weight vector applies one signed weight each, so the neuron integrates `1.2 · train_ex − 1.0 · train_in`. A passive `spike_recorder` lets us read the firing rate back."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "bbba7f99",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-17T09:12:33.273537Z",
     "iopub.status.busy": "2026-06-17T09:12:33.273362Z",
     "iopub.status.idle": "2026-06-17T09:12:34.628537Z",
     "shell.execute_reply": "2026-06-17T09:12:34.627690Z"
    }
   },
   "outputs": [],
   "source": [
    "sim = bp.Simulator(dt=0.1 * u.ms)\n",
    "neuron = sim.create(bp.iaf_psc_alpha, 1)\n",
    "noise = sim.create(bp.poisson_generator, 2, rate=[80000., 15000.] * u.Hz, rng_seed=0)\n",
    "vm = sim.create(bp.voltmeter)\n",
    "sr = sim.create(bp.spike_recorder)\n",
    "\n",
    "sim.connect(noise, neuron, weight=[1.2, -1.0] * u.pA, delay=1.0 * u.ms)\n",
    "sim.connect(vm, neuron)              # reversed analog tap\n",
    "sim.connect(neuron, sr)             # the spike recorder taps the neuron\n",
    "\n",
    "res = sim.simulate(1000. * u.ms)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "49f43c19",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-17T09:12:34.630496Z",
     "iopub.status.busy": "2026-06-17T09:12:34.630310Z",
     "iopub.status.idle": "2026-06-17T09:12:34.705495Z",
     "shell.execute_reply": "2026-06-17T09:12:34.704598Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "V_m: mean -61.25 mV, std 4.96 mV\n",
      "firing rate: 47.00 spks/s\n"
     ]
    }
   ],
   "source": [
    "v = np.asarray(u.get_mantissa(res.trace(vm, 'V_m') / u.mV)).reshape(-1)\n",
    "print(f'V_m: mean {v.mean():.2f} mV, std {v.std():.2f} mV')\n",
    "print(f'firing rate: {res.rate(sr):.2f} spks/s')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f1efa123",
   "metadata": {},
   "source": [
    "## See also\n",
    "\n",
    "- [Populations & devices](02-populations.ipynb) — scale up to populations.\n",
    "- [Model directory](../models.rst) — the neuron families.\n",
    "- [Devices](../devices.rst) — generators, recorders, and detectors.\n",
    "- [The State paradigm](../../concepts/state-paradigm.ipynb) — why `brainpy.state` makes state explicit and how the loop is lowered."
   ]
  }
 ],
 "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.13.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
