1. A method comprising: receiving a first firing event generated by a first symmetric core circuit of a plurality of symmetric core circuits, wherein the plurality of symmetric core circuits are interconnected via a plurality of routers, each router corresponds to a symmetric core circuit of the plurality of symmetric core circuits, and each router comprises a compact lookup table (LUT) maintaining routing information for each firing event generated by a corresponding symmetric core circuit; retrieving routing information for the first firing event from a first router of the plurality of routers, wherein the first router corresponds to the first symmetric core circuit; generating a first packet for the first firing event based on the routing information retrieved; and routing the first packet between the plurality of symmetric core circuits via the plurality of routers, wherein each symmetric core circuit comprises a first core module and a second core module overlaid on one another and oriented differently relative to each other such that neurons and axons of the first core module are overlaid on and within proximity of axons and neurons of the second core module, respectively, and firing events propagate through the first core module and the second core module in opposite directions.