1. A method comprising: generating a plurality of modular, reusable, scalable configurations, wherein each configuration comprises information corresponding to a portion of a neural network circuit; combining at least two of the configurations to form a complex configuration, wherein the complex configuration comprises a hierarchical arrangement of the at least two configurations; and programming a multi-core circuit chip structure based on the complex configuration to simulate a plurality of interconnected neurosynaptic core circuits.