accelforge 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- accelforge/__init__.py +21 -0
- accelforge/_accelerated_imports.py +16 -0
- accelforge/_deprecate/_simanneal/evalmapping.py +271 -0
- accelforge/_deprecate/_simanneal/mapspaceglobals.py +298 -0
- accelforge/_deprecate/_simanneal/simanneal.py +666 -0
- accelforge/_deprecate/_simanneal/tracking.py +105 -0
- accelforge/_deprecate/_simanneal/wrappers.py +218 -0
- accelforge/_deprecate/_simanneal2/__init__.py +7 -0
- accelforge/_deprecate/_simanneal2/simanneal.py +493 -0
- accelforge/_deprecate/_simanneal2/tracking.py +116 -0
- accelforge/_deprecate/compatibility_util.py +181 -0
- accelforge/_deprecate/layerdeduplication/__init__.py +2 -0
- accelforge/_deprecate/layerdeduplication/group_similar_einsums.py +160 -0
- accelforge/_deprecate/layerdeduplication/grouped_einsums.py +84 -0
- accelforge/_deprecate/mapping_filter_tags/__init__.py +2 -0
- accelforge/_deprecate/mapping_filter_tags/ffmt.py +212 -0
- accelforge/_deprecate/mapping_filter_tags/onesplit.py +24 -0
- accelforge/_deprecate/mapping_filter_tags/util.py +24 -0
- accelforge/_deprecate/tags.py +69 -0
- accelforge/_deprecate/viz/__init__.py +0 -0
- accelforge/_deprecate/viz/interactive.py +159 -0
- accelforge/_deprecate/viz/reservationtree.py +307 -0
- accelforge/_deprecate/viz/ski_slope.py +88 -0
- accelforge/_version.py +15 -0
- accelforge/examples.py +39 -0
- accelforge/frontend/__init__.py +10 -0
- accelforge/frontend/_binding.py +129 -0
- accelforge/frontend/_workload_isl/__init__.py +2 -0
- accelforge/frontend/_workload_isl/_isl.py +149 -0
- accelforge/frontend/_workload_isl/_symbolic.py +141 -0
- accelforge/frontend/arch copy.py +1544 -0
- accelforge/frontend/arch.py +1642 -0
- accelforge/frontend/config.py +63 -0
- accelforge/frontend/mapper/__init__.py +5 -0
- accelforge/frontend/mapper/ffm.py +126 -0
- accelforge/frontend/mapper/mapper.py +7 -0
- accelforge/frontend/mapper/metrics.py +30 -0
- accelforge/frontend/mapping/__init__.py +1 -0
- accelforge/frontend/mapping/mapping.py +1736 -0
- accelforge/frontend/model.py +14 -0
- accelforge/frontend/renames.py +150 -0
- accelforge/frontend/spec copy.py +230 -0
- accelforge/frontend/spec.py +301 -0
- accelforge/frontend/variables.py +12 -0
- accelforge/frontend/workload.py +952 -0
- accelforge/mapper/FFM/__init__.py +9 -0
- accelforge/mapper/FFM/_join_pmappings/__init__.py +0 -0
- accelforge/mapper/FFM/_join_pmappings/compatibility.py +653 -0
- accelforge/mapper/FFM/_join_pmappings/compress_pmappings.py +140 -0
- accelforge/mapper/FFM/_join_pmappings/join_pmappings.py +703 -0
- accelforge/mapper/FFM/_join_pmappings/pmapping_dataframe.py +901 -0
- accelforge/mapper/FFM/_join_pmappings/pmapping_group.py +337 -0
- accelforge/mapper/FFM/_make_pmappings/contraints/__init__.py +0 -0
- accelforge/mapper/FFM/_make_pmappings/contraints/constraints.py +360 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmapping_templates/__init__.py +1 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmapping_templates/make_loops.py +373 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmapping_templates/make_pmapping_templates.py +463 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmapping_templates/make_reservations.py +95 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmapping_templates/make_storage_order.py +382 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmapping_templates/make_storages.py +155 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmappings.py +411 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmappings_from_templates/__init__.py +1 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmappings_from_templates/make_pmappings_from_templates.py +407 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmappings_from_templates/make_tile_shapes.py +1681 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmappings_from_templates/run_model.py +170 -0
- accelforge/mapper/FFM/_make_pmappings/make_pmappings_from_templates/symbol_relations.py +174 -0
- accelforge/mapper/FFM/_make_pmappings/pmapper_job.py +282 -0
- accelforge/mapper/FFM/_pareto_df/df_convention.py +273 -0
- accelforge/mapper/FFM/_pareto_df/pareto copy.py +836 -0
- accelforge/mapper/FFM/_pareto_df/pareto.py +508 -0
- accelforge/mapper/FFM/data.py +61 -0
- accelforge/mapper/FFM/main copy.py +236 -0
- accelforge/mapper/FFM/main.py +208 -0
- accelforge/mapper/FFM/mappings.py +510 -0
- accelforge/mapper/FFM/pmappings.py +310 -0
- accelforge/mapper/__init__.py +4 -0
- accelforge/mapper.py +0 -0
- accelforge/model/__init__.py +1 -0
- accelforge/model/_looptree/__init__.py +0 -0
- accelforge/model/_looptree/accesses.py +335 -0
- accelforge/model/_looptree/capacity/__init__.py +1 -0
- accelforge/model/_looptree/capacity/aggregators.py +36 -0
- accelforge/model/_looptree/capacity/capacity.py +47 -0
- accelforge/model/_looptree/energy.py +150 -0
- accelforge/model/_looptree/equivalent_ranks.py +29 -0
- accelforge/model/_looptree/latency/__init__.py +1 -0
- accelforge/model/_looptree/latency/latency.py +98 -0
- accelforge/model/_looptree/latency/memory.py +120 -0
- accelforge/model/_looptree/latency/processors.py +92 -0
- accelforge/model/_looptree/mapping_utilities.py +71 -0
- accelforge/model/_looptree/reuse/__init__.py +4 -0
- accelforge/model/_looptree/reuse/isl/__init__.py +1 -0
- accelforge/model/_looptree/reuse/isl/des.py +59 -0
- accelforge/model/_looptree/reuse/isl/isl_functions.py +374 -0
- accelforge/model/_looptree/reuse/isl/mapping_to_isl/__init__.py +4 -0
- accelforge/model/_looptree/reuse/isl/mapping_to_isl/analyze_mapping.py +297 -0
- accelforge/model/_looptree/reuse/isl/mapping_to_isl/skews_from_mapping.py +236 -0
- accelforge/model/_looptree/reuse/isl/mapping_to_isl/tiling.py +685 -0
- accelforge/model/_looptree/reuse/isl/mapping_to_isl/types.py +188 -0
- accelforge/model/_looptree/reuse/isl/spatial.py +260 -0
- accelforge/model/_looptree/reuse/isl/temporal.py +182 -0
- accelforge/model/_looptree/reuse/symbolic/__init__.py +1 -0
- accelforge/model/_looptree/reuse/symbolic/symbolic copy 2.py +1346 -0
- accelforge/model/_looptree/reuse/symbolic/symbolic copy.py +1408 -0
- accelforge/model/_looptree/reuse/symbolic/symbolic.py +1396 -0
- accelforge/model/_looptree/run.py +122 -0
- accelforge/model/_looptree/types.py +26 -0
- accelforge/model/_looptree/visualization/__init__.py +0 -0
- accelforge/model/_looptree/visualization/occupancy.py +11 -0
- accelforge/model/main.py +222 -0
- accelforge/plotting/__init__.py +2 -0
- accelforge/plotting/mappings.py +219 -0
- accelforge/plotting/specs.py +57 -0
- accelforge/util/__init__.py +4 -0
- accelforge/util/_base_analysis_types.py +24 -0
- accelforge/util/_basetypes.py +1089 -0
- accelforge/util/_frozenset.py +36 -0
- accelforge/util/_isl.py +29 -0
- accelforge/util/_itertools.py +14 -0
- accelforge/util/_mathfuncs.py +57 -0
- accelforge/util/_parse_expressions.py +339 -0
- accelforge/util/_picklecache.py +32 -0
- accelforge/util/_setexpressions.py +268 -0
- accelforge/util/_sympy/__init__.py +0 -0
- accelforge/util/_sympy/broadcast_max.py +18 -0
- accelforge/util/_visualization.py +112 -0
- accelforge/util/_yaml.py +579 -0
- accelforge/util/parallel.py +193 -0
- accelforge-0.0.1.dist-info/METADATA +64 -0
- accelforge-0.0.1.dist-info/RECORD +258 -0
- accelforge-0.0.1.dist-info/WHEEL +5 -0
- accelforge-0.0.1.dist-info/licenses/LICENSE +19 -0
- accelforge-0.0.1.dist-info/top_level.txt +5 -0
- docs/_build/html/_sources/fastfusion.frontend.mapper.rst.txt +37 -0
- docs/_build/html/_sources/fastfusion.frontend.rst.txt +70 -0
- docs/_build/html/_sources/fastfusion.frontend.workload.rst.txt +21 -0
- docs/_build/html/_sources/fastfusion.mapper.FFM.rst.txt +37 -0
- docs/_build/html/_sources/fastfusion.mapper.rst.txt +18 -0
- docs/_build/html/_sources/fastfusion.rst.txt +20 -0
- docs/_build/html/_sources/fastfusion.util.rst.txt +21 -0
- docs/_build/html/_sources/index.rst.txt +87 -0
- docs/_build/html/_sources/modules.rst.txt +7 -0
- docs/_build/html/_sources/notes/citation.rst.txt +45 -0
- docs/_build/html/_sources/notes/definitions.rst.txt +43 -0
- docs/_build/html/_sources/notes/faqs.rst.txt +39 -0
- docs/_build/html/_sources/notes/modeling/accelerator_energy_latency.rst.txt +72 -0
- docs/_build/html/_sources/notes/modeling/component_energy_area.rst.txt +96 -0
- docs/_build/html/_sources/notes/modeling/mapping.rst.txt +100 -0
- docs/_build/html/_sources/notes/modeling.rst.txt +33 -0
- docs/_build/html/_sources/notes/parsing/arithmetic_parsing.rst.txt +136 -0
- docs/_build/html/_sources/notes/parsing/setexpressions.rst.txt +63 -0
- docs/_build/html/_sources/notes/parsing/yaml_parsing.rst.txt +176 -0
- docs/_build/html/_sources/notes/quickstart_and_installation.rst.txt +9 -0
- docs/_build/html/_sources/notes/spec/architecture.rst.txt +133 -0
- docs/_build/html/_sources/notes/spec/mapping.rst.txt +12 -0
- docs/_build/html/_sources/notes/spec/workload.rst.txt +83 -0
- docs/_build/html/_sources/notes/spec.rst.txt +36 -0
- docs/source/_ext/include_attrs.py +213 -0
- docs/source/_ext/include_docstring.py +364 -0
- docs/source/_ext/include_functions.py +154 -0
- docs/source/_ext/include_notebook.py +131 -0
- docs/source/_ext/include_yaml.py +119 -0
- docs/source/_ext/inherited_attributes.py +222 -0
- docs/source/_ext/paths.py +4 -0
- docs/source/conf.py +79 -0
- examples/arches/compute_in_memory/_include.yaml +74 -0
- examples/arches/compute_in_memory/_include_functions.py +229 -0
- examples/arches/compute_in_memory/_load_spec.py +57 -0
- examples/arches/compute_in_memory/components/c2c_multiplier.py +181 -0
- examples/arches/compute_in_memory/components/dac_c2c_r2r.py +605 -0
- examples/arches/compute_in_memory/components/misc.py +195 -0
- examples/arches/compute_in_memory/components/util/bit_functions.py +51 -0
- examples/arches/compute_in_memory/components/zero_comparator.py +92 -0
- examples/arches/compute_in_memory/isaac.yaml +233 -0
- examples/arches/compute_in_memory/memory_cells/ecram_demo.yaml +63 -0
- examples/arches/compute_in_memory/memory_cells/rram_example.yaml +63 -0
- examples/arches/compute_in_memory/memory_cells/rram_isaac_isca_2016.yaml +64 -0
- examples/arches/compute_in_memory/memory_cells/rram_neurosim_default.yaml +63 -0
- examples/arches/compute_in_memory/memory_cells/rram_raella_isca_2023.yaml +70 -0
- examples/arches/compute_in_memory/memory_cells/rram_wan_nature_2022.yaml +63 -0
- examples/arches/compute_in_memory/memory_cells/sram_colonnade_jssc_2021.yaml +63 -0
- examples/arches/compute_in_memory/memory_cells/sram_example.yaml +63 -0
- examples/arches/compute_in_memory/memory_cells/sram_jia_jssc_2020.yaml +63 -0
- examples/arches/compute_in_memory/memory_cells/sram_sinangil_jssc_2021.yaml +63 -0
- examples/arches/compute_in_memory/memory_cells/sram_wang_vlsi_2022.yaml +63 -0
- examples/arches/compute_in_memory/wang_vlsi_2022.yaml +289 -0
- examples/arches/eyeriss.yaml +68 -0
- examples/arches/fanout_variations/at_glb.yaml +31 -0
- examples/arches/fanout_variations/at_glb_with_fanout_node.yaml +34 -0
- examples/arches/fanout_variations/at_mac.yaml +31 -0
- examples/arches/fanout_variations/at_mac_with_constraints.yaml +38 -0
- examples/arches/fanout_variations/at_mac_with_fanout_node.yaml +34 -0
- examples/arches/nvdla.yaml +47 -0
- examples/arches/simple.yaml +28 -0
- examples/arches/tpu_v4i.yaml +67 -0
- examples/mappings/unfused_matmuls_to_simple.yaml +33 -0
- examples/misc/component_annotated.yaml +33 -0
- examples/workloads/gpt3_6.7B.yaml +124 -0
- examples/workloads/matmuls.yaml +20 -0
- examples/workloads/mobilenet_28.yaml +81 -0
- examples/workloads/mobilenet_various_separate.yaml +106 -0
- examples/workloads/three_matmuls_annotated.yaml +59 -0
- notebooks/.ipynb_checkpoints/fastfusion_arch_study_michael-checkpoint.ipynb +359 -0
- notebooks/compute_in_memory/_scripts.py +339 -0
- notebooks/compute_in_memory/isaac.guide.ipynb +270 -0
- notebooks/compute_in_memory/wang_vlsi_2022.ipynb +602 -0
- notebooks/paths.py +4 -0
- notebooks/tutorials/.ipynb_checkpoints/1_FFM-checkpoint.ipynb +3110 -0
- notebooks/tutorials/FFM.ipynb +3498 -0
- notebooks/tutorials/_include.py +48 -0
- notebooks/tutorials/component_energy_area.ipynb +363 -0
- tests/Q_mapping.yaml +38 -0
- tests/__init__.py +0 -0
- tests/conv.mapping.yaml +27 -0
- tests/conv.workload.yaml +13 -0
- tests/conv_sym.mapping.yaml +43 -0
- tests/copy.mapping.yaml +35 -0
- tests/copy.workload.yaml +15 -0
- tests/distribuffers/__init__.py +0 -0
- tests/distribuffers/multicast/test_cases.yaml +482 -0
- tests/distribuffers/spec/binding/valid_bindings.yaml +97 -0
- tests/distribuffers/spec/distributed.yaml +100 -0
- tests/distribuffers/spec/logical_arch.yaml +32 -0
- tests/distribuffers/spec/physical_arch.yaml +69 -0
- tests/distribuffers/test_binding.py +48 -0
- tests/frontend/__init__.py +0 -0
- tests/frontend/test_mapping_viz.py +52 -0
- tests/mapper/__init__.py +0 -0
- tests/mapper/configs/conv1d/conv1d.mapping.yaml +31 -0
- tests/mapper/configs/conv1d/conv1d.workload.yaml +11 -0
- tests/mapper/configs/two_conv1d/two_conv1d.expected.yaml +38 -0
- tests/mapper/configs/two_conv1d/two_conv1d.mapping.yaml +54 -0
- tests/mapper/configs/two_conv1d/two_conv1d.workload.yaml +19 -0
- tests/mapper/test_mapping_to_isl.py +90 -0
- tests/mapper/test_spatial_reuse_analysis.py +67 -0
- tests/mapper/test_temporal_reuse_analysis.py +56 -0
- tests/mapper/util.py +58 -0
- tests/matmul.mapping.yaml +29 -0
- tests/matmul.workload.yaml +12 -0
- tests/matmul_spatial.mapping.yaml +44 -0
- tests/mha.renames.yaml +65 -0
- tests/mha.workload.yaml +67 -0
- tests/mha.yaml +59 -0
- tests/mha_full.workload.yaml +67 -0
- tests/mobilenet.workload.yaml +35 -0
- tests/mobilenet_long.workload.yaml +64 -0
- tests/pmappingcache.py +24 -0
- tests/processing_stage.arch.yaml +40 -0
- tests/snowcat.arch.yaml +36 -0
- tests/test_ffm_join_pmappings.py +106 -0
- tests/test_ffm_make_pmappings.py +82 -0
- tests/test_ffm_make_tile_shapes.py +49 -0
- tests/test_mapper.py +100 -0
- tests/test_model.py +37 -0
- tests/test_plotting.py +72 -0
- tests/test_processing_stage.py +46 -0
- tests/test_symbolic_model.py +248 -0
- tests/test_workload.py +141 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Device type and top-level parameters
|
|
3
|
+
|
|
4
|
+
# Device type
|
|
5
|
+
-MemCellType: RRAM # SRAM or RRAM
|
|
6
|
+
# -ReadMode: current # Comment this line for voltage
|
|
7
|
+
-DeviceRoadmap -1LP 1HP 2LSTP: 2
|
|
8
|
+
|
|
9
|
+
# Device size
|
|
10
|
+
-CellArea (F^2): 40
|
|
11
|
+
-CellAspectRatio: 1 # Width/Height
|
|
12
|
+
|
|
13
|
+
# Calibration parameters
|
|
14
|
+
-CellReadLeakEnergyMultiplier: 1
|
|
15
|
+
-CellWriteEnergyMultiplier: 1
|
|
16
|
+
-CellCapacitanceMultiplier: 0.25
|
|
17
|
+
-CellCapacitanceAdjust (F): 0 # Capacitance = (Nominal Capacitance) * Multiplier + Adjust
|
|
18
|
+
|
|
19
|
+
# Used for RRAM with access transistors or SRAM
|
|
20
|
+
-AccessCMOSWidth (F): 1
|
|
21
|
+
|
|
22
|
+
# Affects NeuroSim-realized ADCs. NOTE: Most models use ADC plug-in ADCs and
|
|
23
|
+
# this has little to no effect.
|
|
24
|
+
-ReadMode: voltage # voltage or current
|
|
25
|
+
|
|
26
|
+
# -----------------------------------------------------------------------------
|
|
27
|
+
# SRAM-only parameters
|
|
28
|
+
# SRAM configuration. Only used if MemCellType is SRAM
|
|
29
|
+
-SRAMCellNMOSWidth (F): 2
|
|
30
|
+
-SRAMCellPMOSWidth (F): 2
|
|
31
|
+
-MinSenseVoltage (mV): 20
|
|
32
|
+
|
|
33
|
+
# -----------------------------------------------------------------------------
|
|
34
|
+
# RRAM-only parameters
|
|
35
|
+
# RRAM configuration. Only used if MemCellType is RRAM
|
|
36
|
+
-ResistanceOn (ohm): 25e4
|
|
37
|
+
-ResistanceOff (ohm): 1e6
|
|
38
|
+
|
|
39
|
+
# Set parameters
|
|
40
|
+
-SetVoltage (V): 1.75
|
|
41
|
+
-SetPulse (ns): 8520
|
|
42
|
+
# -SetCurrent (uA): 400 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
43
|
+
# -SetEnergy (pJ): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
44
|
+
# -SetPower (uW): 800 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
45
|
+
|
|
46
|
+
# Read parameters
|
|
47
|
+
-ReadVoltage (V): 0.1
|
|
48
|
+
-ReadPulse (ns): 2
|
|
49
|
+
# -ReadCurrent (uA): 40 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
50
|
+
# -ReadEnergy (pJ): 0.008 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
51
|
+
# -ReadPower (uW): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
52
|
+
|
|
53
|
+
# Access transistor parameters
|
|
54
|
+
-AccessType: CMOS # CMOS or None
|
|
55
|
+
-AccessTransistorResistance (ohm): 1000
|
|
56
|
+
-AccessVoltage (V): 0.1 # Access transistor voltage
|
|
57
|
+
|
|
58
|
+
# -----------------------------------------------------------------------------
|
|
59
|
+
# Other parameters that can be set via cell component attributes:
|
|
60
|
+
|
|
61
|
+
# "voltage" is the global supply voltage
|
|
62
|
+
# "threshold_voltage" is the global threshold voltage
|
|
63
|
+
# "read_pulse_width" is the read pulse width
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Device type and top-level parameters
|
|
3
|
+
|
|
4
|
+
# Device type
|
|
5
|
+
-MemCellType: RRAM # SRAM or RRAM
|
|
6
|
+
# -ReadMode: current # Comment this line for voltage
|
|
7
|
+
-DeviceRoadmap -1LP 1HP 2LSTP: 2
|
|
8
|
+
|
|
9
|
+
# Device size
|
|
10
|
+
-CellArea (F^2): 16 # NeuroSim gets mad if it's too small. Doesn't matter too
|
|
11
|
+
# much because this is pretty small in the overall accelerator.
|
|
12
|
+
-CellAspectRatio: 1 # Width/Height
|
|
13
|
+
|
|
14
|
+
# Calibration parameters
|
|
15
|
+
-CellReadLeakEnergyMultiplier: 1
|
|
16
|
+
-CellWriteEnergyMultiplier: 1
|
|
17
|
+
-CellCapacitanceMultiplier: 0.3 # Correct for cell area scaling
|
|
18
|
+
-CellCapacitanceAdjust (F): 0.0e-15 # Capacitance = (Nominal Capacitance) * Multiplier + Adjust
|
|
19
|
+
|
|
20
|
+
# Used for RRAM with access transistors or SRAM
|
|
21
|
+
-AccessCMOSWidth (F): 4
|
|
22
|
+
|
|
23
|
+
# Affects NeuroSim-realized ADCs. NOTE: Most models use ADC plug-in ADCs and
|
|
24
|
+
# this has little to no effect.
|
|
25
|
+
-ReadMode: voltage # voltage or current
|
|
26
|
+
|
|
27
|
+
# -----------------------------------------------------------------------------
|
|
28
|
+
# SRAM-only parameters
|
|
29
|
+
# SRAM configuration. Only used if MemCellType is SRAM
|
|
30
|
+
-SRAMCellNMOSWidth (F): 2
|
|
31
|
+
-SRAMCellPMOSWidth (F): 2
|
|
32
|
+
-MinSenseVoltage (mV): 20
|
|
33
|
+
|
|
34
|
+
# -----------------------------------------------------------------------------
|
|
35
|
+
# RRAM-only parameters
|
|
36
|
+
# RRAM configuration. Only used if MemCellType is RRAM
|
|
37
|
+
-ResistanceOn (ohm): 1333
|
|
38
|
+
-ResistanceOff (ohm): 20000
|
|
39
|
+
|
|
40
|
+
# Set parameters
|
|
41
|
+
-SetVoltage (V): 2 # From PRIME
|
|
42
|
+
-SetPulse (ns): 40
|
|
43
|
+
# -SetCurrent (uA): 400 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
44
|
+
# -SetEnergy (pJ): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
45
|
+
# -SetPower (uW): 800 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
46
|
+
|
|
47
|
+
# Read parameters
|
|
48
|
+
-ReadVoltage (V): 0.2 # From PRIME
|
|
49
|
+
-ReadPulse (ns): 1
|
|
50
|
+
# -ReadCurrent (uA): 40 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
51
|
+
# -ReadEnergy (pJ): 0.008 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
52
|
+
# -ReadPower (uW): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
53
|
+
|
|
54
|
+
# Access transistor parameters
|
|
55
|
+
-AccessType: None # CMOS or None
|
|
56
|
+
-AccessTransistorResistance (ohm): 1000
|
|
57
|
+
-AccessVoltage (V): 0.1 # Access transistor voltage
|
|
58
|
+
|
|
59
|
+
# -----------------------------------------------------------------------------
|
|
60
|
+
# Other parameters that can be set via cell component attributes:
|
|
61
|
+
|
|
62
|
+
# "voltage" is the global supply voltage
|
|
63
|
+
# "threshold_voltage" is the global threshold voltage
|
|
64
|
+
# "read_pulse_width" is the read pulse width
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Device type and top-level parameters
|
|
3
|
+
|
|
4
|
+
# Device type
|
|
5
|
+
-MemCellType: RRAM # SRAM or RRAM
|
|
6
|
+
# -ReadMode: current # Comment this line for voltage
|
|
7
|
+
-DeviceRoadmap -1LP 1HP 2LSTP: 2
|
|
8
|
+
|
|
9
|
+
# Device size
|
|
10
|
+
-CellArea (F^2): 48
|
|
11
|
+
-CellAspectRatio: 0.333 # Width/Height
|
|
12
|
+
|
|
13
|
+
# Calibration parameters
|
|
14
|
+
-CellReadLeakEnergyMultiplier: 1
|
|
15
|
+
-CellWriteEnergyMultiplier: 1
|
|
16
|
+
-CellCapacitanceMultiplier: 1
|
|
17
|
+
-CellCapacitanceAdjust (F): 0 # Capacitance = (Nominal Capacitance) * Multiplier + Adjust
|
|
18
|
+
|
|
19
|
+
# Used for RRAM with access transistors or SRAM
|
|
20
|
+
-AccessCMOSWidth (F): 10
|
|
21
|
+
|
|
22
|
+
# Affects NeuroSim-realized ADCs. NOTE: Most models use ADC plug-in ADCs and
|
|
23
|
+
# this has little to no effect.
|
|
24
|
+
-ReadMode: current # voltage or current
|
|
25
|
+
|
|
26
|
+
# -----------------------------------------------------------------------------
|
|
27
|
+
# SRAM-only parameters
|
|
28
|
+
# SRAM configuration. Only used if MemCellType is SRAM
|
|
29
|
+
-SRAMCellNMOSWidth (F): 2
|
|
30
|
+
-SRAMCellPMOSWidth (F): 2
|
|
31
|
+
-MinSenseVoltage (mV): 20
|
|
32
|
+
|
|
33
|
+
# -----------------------------------------------------------------------------
|
|
34
|
+
# RRAM-only parameters
|
|
35
|
+
# RRAM configuration. Only used if MemCellType is RRAM
|
|
36
|
+
-ResistanceOn (ohm): 6e3
|
|
37
|
+
-ResistanceOff (ohm): 9e5
|
|
38
|
+
|
|
39
|
+
# Set parameters
|
|
40
|
+
-SetVoltage (V): 2
|
|
41
|
+
-SetPulse (ns): 50
|
|
42
|
+
# -SetCurrent (uA): 400 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
43
|
+
# -SetEnergy (pJ): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
44
|
+
# -SetPower (uW): 800 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
45
|
+
|
|
46
|
+
# Read parameters
|
|
47
|
+
-ReadVoltage (V): 0.5
|
|
48
|
+
-ReadPulse (ns): 2
|
|
49
|
+
# -ReadCurrent (uA): 40 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
50
|
+
# -ReadEnergy (pJ): 0.008 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
51
|
+
# -ReadPower (uW): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
52
|
+
|
|
53
|
+
# Access transistor parameters
|
|
54
|
+
-AccessType: CMOS # CMOS or None
|
|
55
|
+
-AccessTransistorResistance (ohm): 1.95e5
|
|
56
|
+
-AccessVoltage (V): 1.1 # Access transistor voltage
|
|
57
|
+
|
|
58
|
+
# -----------------------------------------------------------------------------
|
|
59
|
+
# Other parameters that can be set via cell component attributes:
|
|
60
|
+
|
|
61
|
+
# "voltage" is the global supply voltage
|
|
62
|
+
# "threshold_voltage" is the global threshold voltage
|
|
63
|
+
# "read_pulse_width" is the read pulse width
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Device type and top-level parameters
|
|
3
|
+
|
|
4
|
+
# Device type
|
|
5
|
+
-MemCellType: RRAM # SRAM or RRAM
|
|
6
|
+
# -ReadMode: current # Comment this line for voltage
|
|
7
|
+
-DeviceRoadmap -1LP 1HP 2LSTP: 2
|
|
8
|
+
|
|
9
|
+
# Device size
|
|
10
|
+
-CellArea (F^2): 16 # We used 5.5 in the paper, but NeuroSim gets mad if it's too small
|
|
11
|
+
# 5.5 = 1.5 (from ISAAC) + 4F^2 access transistor. Doesn't matter too
|
|
12
|
+
# much because this is pretty small in the overall accelerator.
|
|
13
|
+
-CellAspectRatio: 1 # Width/Height
|
|
14
|
+
|
|
15
|
+
# Calibration parameters
|
|
16
|
+
-CellReadLeakEnergyMultiplier: 1
|
|
17
|
+
-CellWriteEnergyMultiplier: 1
|
|
18
|
+
-CellCapacitanceMultiplier: 0.3 # Correct for cell area scaling
|
|
19
|
+
-CellCapacitanceAdjust (F): 0.0e-15 # Capacitance = (Nominal Capacitance) * Multiplier + Adjust
|
|
20
|
+
|
|
21
|
+
# Used for RRAM with access transistors or SRAM
|
|
22
|
+
-AccessCMOSWidth (F): 4
|
|
23
|
+
|
|
24
|
+
# Affects NeuroSim-realized ADCs. NOTE: Most models use ADC plug-in ADCs and
|
|
25
|
+
# this has little to no effect.
|
|
26
|
+
-ReadMode: voltage # voltage or current
|
|
27
|
+
|
|
28
|
+
# -----------------------------------------------------------------------------
|
|
29
|
+
# SRAM-only parameters
|
|
30
|
+
# SRAM configuration. Only used if MemCellType is SRAM
|
|
31
|
+
-SRAMCellNMOSWidth (F): 2
|
|
32
|
+
-SRAMCellPMOSWidth (F): 2
|
|
33
|
+
-MinSenseVoltage (mV): 20
|
|
34
|
+
|
|
35
|
+
# -----------------------------------------------------------------------------
|
|
36
|
+
# RRAM-only parameters
|
|
37
|
+
# RRAM configuration. Only used if MemCellType is RRAM
|
|
38
|
+
-ResistanceOn (ohm): 1333
|
|
39
|
+
-ResistanceOff (ohm): 20000
|
|
40
|
+
# WARNING: ON resistance is set lower than it actually is in-array.
|
|
41
|
+
# This is because NeuroSim adds ~640 ohms of wire resistance on average,
|
|
42
|
+
# but RAELLA's 2T2R add/subtract is very local and doesn't have this wire
|
|
43
|
+
# resistance. So we pre-subtract the wire resistance here to get our 1333-ohm
|
|
44
|
+
# resistance.
|
|
45
|
+
|
|
46
|
+
# Set parameters
|
|
47
|
+
-SetVoltage (V): 2 # From PRIME
|
|
48
|
+
-SetPulse (ns): 40
|
|
49
|
+
# -SetCurrent (uA): 400 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
50
|
+
# -SetEnergy (pJ): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
51
|
+
# -SetPower (uW): 800 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
52
|
+
|
|
53
|
+
# Read parameters
|
|
54
|
+
-ReadVoltage (V): 0.2 # From PRIME
|
|
55
|
+
-ReadPulse (ns): 1
|
|
56
|
+
# -ReadCurrent (uA): 40 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
57
|
+
# -ReadEnergy (pJ): 0.008 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
58
|
+
# -ReadPower (uW): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
59
|
+
|
|
60
|
+
# Access transistor parameters
|
|
61
|
+
-AccessType: CMOS # Comment this line for no access transistor
|
|
62
|
+
-AccessTransistorResistance (ohm): 1000
|
|
63
|
+
-AccessVoltage (V): 0.1 # Access transistor voltage
|
|
64
|
+
|
|
65
|
+
# -----------------------------------------------------------------------------
|
|
66
|
+
# Other parameters that can be set via cell component attributes:
|
|
67
|
+
|
|
68
|
+
# "voltage" is the global supply voltage
|
|
69
|
+
# "threshold_voltage" is the global threshold voltage
|
|
70
|
+
# "read_pulse_width" is the read pulse width
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Device type and top-level parameters
|
|
3
|
+
|
|
4
|
+
# Device type
|
|
5
|
+
-MemCellType: RRAM # SRAM or RRAM
|
|
6
|
+
# -ReadMode: current # Comment this line for voltage
|
|
7
|
+
-DeviceRoadmap -1LP 1HP 2LSTP: 2
|
|
8
|
+
|
|
9
|
+
# Device size
|
|
10
|
+
-CellArea (F^2): 125.73964497
|
|
11
|
+
-CellAspectRatio: 1 # Width/Height
|
|
12
|
+
|
|
13
|
+
# Calibration parameters
|
|
14
|
+
-CellReadLeakEnergyMultiplier: 1
|
|
15
|
+
-CellWriteEnergyMultiplier: 1
|
|
16
|
+
-CellCapacitanceMultiplier: 1
|
|
17
|
+
-CellCapacitanceAdjust (F): -0.1e-15 # Capacitance = (Nominal Capacitance) * Multiplier + Adjust
|
|
18
|
+
|
|
19
|
+
# Used for RRAM with access transistors or SRAM
|
|
20
|
+
-AccessCMOSWidth (F): 4
|
|
21
|
+
|
|
22
|
+
# Affects NeuroSim-realized ADCs. NOTE: Most models use ADC plug-in ADCs and
|
|
23
|
+
# this has little to no effect.
|
|
24
|
+
-ReadMode: voltage # voltage or current
|
|
25
|
+
|
|
26
|
+
# -----------------------------------------------------------------------------
|
|
27
|
+
# SRAM-only parameters
|
|
28
|
+
# SRAM configuration. Only used if MemCellType is SRAM
|
|
29
|
+
-SRAMCellNMOSWidth (F): 2
|
|
30
|
+
-SRAMCellPMOSWidth (F): 2
|
|
31
|
+
-MinSenseVoltage (mV): 20
|
|
32
|
+
|
|
33
|
+
# -----------------------------------------------------------------------------
|
|
34
|
+
# RRAM-only parameters
|
|
35
|
+
# RRAM configuration. Only used if MemCellType is RRAM
|
|
36
|
+
-ResistanceOn (ohm): 25e4
|
|
37
|
+
-ResistanceOff (ohm): 1e6
|
|
38
|
+
|
|
39
|
+
# Set parameters
|
|
40
|
+
-SetVoltage (V): 1.75
|
|
41
|
+
-SetPulse (ns): 8520
|
|
42
|
+
# -SetCurrent (uA): 400 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
43
|
+
# -SetEnergy (pJ): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
44
|
+
# -SetPower (uW): 800 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
45
|
+
|
|
46
|
+
# Read parameters
|
|
47
|
+
-ReadVoltage (V): 0.5
|
|
48
|
+
-ReadPulse (ns): 2
|
|
49
|
+
# -ReadCurrent (uA): 40 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
50
|
+
# -ReadEnergy (pJ): 0.008 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
51
|
+
# -ReadPower (uW): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
52
|
+
|
|
53
|
+
# Access transistor parameters
|
|
54
|
+
-AccessType: None # CMOS or None
|
|
55
|
+
-AccessTransistorResistance (ohm): 1000
|
|
56
|
+
-AccessVoltage (V): 0.1 # Access transistor voltage
|
|
57
|
+
|
|
58
|
+
# -----------------------------------------------------------------------------
|
|
59
|
+
# Other parameters that can be set via cell component attributes:
|
|
60
|
+
|
|
61
|
+
# "voltage" is the global supply voltage
|
|
62
|
+
# "threshold_voltage" is the global threshold voltage
|
|
63
|
+
# "read_pulse_width" is the read pulse width
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Device type and top-level parameters
|
|
3
|
+
|
|
4
|
+
# Device type
|
|
5
|
+
-MemCellType: SRAM # SRAM or RRAM
|
|
6
|
+
# -ReadMode: current # Comment this line for voltage
|
|
7
|
+
-DeviceRoadmap -1LP 1HP 2LSTP: 1
|
|
8
|
+
|
|
9
|
+
# Device size
|
|
10
|
+
-CellArea (F^2): 130
|
|
11
|
+
-CellAspectRatio: 1 # Width/Height
|
|
12
|
+
|
|
13
|
+
# Calibration parameters
|
|
14
|
+
-CellReadLeakEnergyMultiplier: 4.5
|
|
15
|
+
-CellWriteEnergyMultiplier: 1
|
|
16
|
+
-CellCapacitanceMultiplier: 1
|
|
17
|
+
-CellCapacitanceAdjust (F): 0 # Capacitance = (Nominal Capacitance) * Multiplier + Adjust
|
|
18
|
+
|
|
19
|
+
# Used for RRAM with access transistors or SRAM
|
|
20
|
+
-AccessCMOSWidth (F): 7
|
|
21
|
+
|
|
22
|
+
# -----------------------------------------------------------------------------
|
|
23
|
+
# SRAM-only parameters
|
|
24
|
+
# SRAM configuration. Only used if MemCellType is SRAM
|
|
25
|
+
-SRAMCellNMOSWidth (F): 5
|
|
26
|
+
-SRAMCellPMOSWidth (F): 5
|
|
27
|
+
-MinSenseVoltage (mV): 20
|
|
28
|
+
|
|
29
|
+
# Affects NeuroSim-realized ADCs. NOTE: Most models use ADC plug-in ADCs and
|
|
30
|
+
# this has little to no effect.
|
|
31
|
+
-ReadMode: voltage # voltage or current
|
|
32
|
+
|
|
33
|
+
# -----------------------------------------------------------------------------
|
|
34
|
+
# RRAM-only parameters
|
|
35
|
+
# RRAM configuration. Only used if MemCellType is RRAM
|
|
36
|
+
-ResistanceOn (ohm): 1000
|
|
37
|
+
-ResistanceOff (ohm): 100000
|
|
38
|
+
|
|
39
|
+
# Set parameters
|
|
40
|
+
-SetVoltage (V): 2
|
|
41
|
+
-SetPulse (ns): 10
|
|
42
|
+
# -SetCurrent (uA): 400 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
43
|
+
# -SetEnergy (pJ): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
44
|
+
# -SetPower (uW): 800 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
45
|
+
|
|
46
|
+
# Read parameters
|
|
47
|
+
-ReadVoltage (V): 0.2
|
|
48
|
+
-ReadPulse (ns): 2
|
|
49
|
+
# -ReadCurrent (uA): 40 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
50
|
+
# -ReadEnergy (pJ): 0.008 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
51
|
+
# -ReadPower (uW): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
52
|
+
|
|
53
|
+
# Access transistor parameters
|
|
54
|
+
-AccessType: None # CMOS or None
|
|
55
|
+
-AccessTransistorResistance (ohm): 1000
|
|
56
|
+
-AccessVoltage (V): 0.2 # Access transistor voltage
|
|
57
|
+
|
|
58
|
+
# -----------------------------------------------------------------------------
|
|
59
|
+
# Other parameters that can be set via cell component attributes:
|
|
60
|
+
|
|
61
|
+
# "voltage" is the global supply voltage
|
|
62
|
+
# "threshold_voltage" is the global threshold voltage
|
|
63
|
+
# "read_pulse_width" is the read pulse width
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Device type and top-level parameters
|
|
3
|
+
|
|
4
|
+
# Device type
|
|
5
|
+
-MemCellType: SRAM # SRAM or RRAM
|
|
6
|
+
# -ReadMode: current # Comment this line for voltage
|
|
7
|
+
-DeviceRoadmap -1LP 1HP 2LSTP: 2
|
|
8
|
+
|
|
9
|
+
# Device size
|
|
10
|
+
-CellArea (F^2): 80
|
|
11
|
+
-CellAspectRatio: 1 # Width/Height
|
|
12
|
+
|
|
13
|
+
# Calibration parameters
|
|
14
|
+
-CellReadLeakEnergyMultiplier: 1
|
|
15
|
+
-CellWriteEnergyMultiplier: 1
|
|
16
|
+
-CellCapacitanceMultiplier: 0.1
|
|
17
|
+
-CellCapacitanceAdjust (F): 0 # Capacitance = (Nominal Capacitance) * Multiplier + Adjust
|
|
18
|
+
|
|
19
|
+
# Used for RRAM with access transistors or SRAM
|
|
20
|
+
-AccessCMOSWidth (F): 1
|
|
21
|
+
|
|
22
|
+
# Affects NeuroSim-realized ADCs. NOTE: Most models use ADC plug-in ADCs and
|
|
23
|
+
# this has little to no effect.
|
|
24
|
+
-ReadMode: voltage # voltage or current
|
|
25
|
+
|
|
26
|
+
# -----------------------------------------------------------------------------
|
|
27
|
+
# SRAM-only parameters
|
|
28
|
+
# SRAM configuration. Only used if MemCellType is SRAM
|
|
29
|
+
-SRAMCellNMOSWidth (F): 10
|
|
30
|
+
-SRAMCellPMOSWidth (F): 10
|
|
31
|
+
-MinSenseVoltage (mV): 20
|
|
32
|
+
|
|
33
|
+
# -----------------------------------------------------------------------------
|
|
34
|
+
# RRAM-only parameters
|
|
35
|
+
# RRAM configuration. Only used if MemCellType is RRAM
|
|
36
|
+
-ResistanceOn (ohm): 1000
|
|
37
|
+
-ResistanceOff (ohm): 100000
|
|
38
|
+
|
|
39
|
+
# Set parameters
|
|
40
|
+
-SetVoltage (V): 2
|
|
41
|
+
-SetPulse (ns): 10
|
|
42
|
+
# -SetCurrent (uA): 400 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
43
|
+
# -SetEnergy (pJ): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
44
|
+
# -SetPower (uW): 800 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
45
|
+
|
|
46
|
+
# Read parameters
|
|
47
|
+
-ReadVoltage (V): 0.1
|
|
48
|
+
-ReadPulse (ns): 2
|
|
49
|
+
# -ReadCurrent (uA): 40 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
50
|
+
# -ReadEnergy (pJ): 0.008 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
51
|
+
# -ReadPower (uW): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
52
|
+
|
|
53
|
+
# Access transistor parameters
|
|
54
|
+
-AccessType: None # CMOS or None
|
|
55
|
+
-AccessTransistorResistance (ohm): 1000
|
|
56
|
+
-AccessVoltage (V): 0.1 # Access transistor voltage
|
|
57
|
+
|
|
58
|
+
# -----------------------------------------------------------------------------
|
|
59
|
+
# Other parameters that can be set via cell component attributes:
|
|
60
|
+
|
|
61
|
+
# "voltage" is the global supply voltage
|
|
62
|
+
# "threshold_voltage" is the global threshold voltage
|
|
63
|
+
# "read_pulse_width" is the read pulse width
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Device type and top-level parameters
|
|
3
|
+
|
|
4
|
+
# Device type
|
|
5
|
+
-MemCellType: SRAM # SRAM or RRAM
|
|
6
|
+
# -ReadMode: current # Comment this line for voltage
|
|
7
|
+
-DeviceRoadmap -1LP 1HP 2LSTP: 2
|
|
8
|
+
|
|
9
|
+
# Device size
|
|
10
|
+
-CellArea (F^2): 426
|
|
11
|
+
-CellAspectRatio: 1 # Width/Height
|
|
12
|
+
|
|
13
|
+
# Calibration parameters
|
|
14
|
+
-CellReadLeakEnergyMultiplier: 1
|
|
15
|
+
-CellWriteEnergyMultiplier: 1
|
|
16
|
+
-CellCapacitanceMultiplier: 6.5
|
|
17
|
+
-CellCapacitanceAdjust (F): 0 # Capacitance = (Nominal Capacitance) * Multiplier + Adjust
|
|
18
|
+
|
|
19
|
+
# Used for RRAM with access transistors or SRAM
|
|
20
|
+
-AccessCMOSWidth (F): 4
|
|
21
|
+
|
|
22
|
+
# Affects NeuroSim-realized ADCs. NOTE: Most models use ADC plug-in ADCs and
|
|
23
|
+
# this has little to no effect.
|
|
24
|
+
-ReadMode: voltage # voltage or current
|
|
25
|
+
|
|
26
|
+
# -----------------------------------------------------------------------------
|
|
27
|
+
# SRAM-only parameters
|
|
28
|
+
# SRAM configuration. Only used if MemCellType is SRAM
|
|
29
|
+
-SRAMCellNMOSWidth (F): 10
|
|
30
|
+
-SRAMCellPMOSWidth (F): 10
|
|
31
|
+
-MinSenseVoltage (mV): 20
|
|
32
|
+
|
|
33
|
+
# -----------------------------------------------------------------------------
|
|
34
|
+
# RRAM-only parameters
|
|
35
|
+
# RRAM configuration. Only used if MemCellType is RRAM
|
|
36
|
+
-ResistanceOn (ohm): 1000
|
|
37
|
+
-ResistanceOff (ohm): 100000
|
|
38
|
+
|
|
39
|
+
# Set parameters
|
|
40
|
+
-SetVoltage (V): 2
|
|
41
|
+
-SetPulse (ns): 10
|
|
42
|
+
# -SetCurrent (uA): 400 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
43
|
+
# -SetEnergy (pJ): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
44
|
+
# -SetPower (uW): 800 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
45
|
+
|
|
46
|
+
# Read parameters
|
|
47
|
+
-ReadVoltage (V): 0.1
|
|
48
|
+
-ReadPulse (ns): 2
|
|
49
|
+
# -ReadCurrent (uA): 40 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
50
|
+
# -ReadEnergy (pJ): 0.008 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
51
|
+
# -ReadPower (uW): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
52
|
+
|
|
53
|
+
# Access transistor parameters
|
|
54
|
+
-AccessType: None # CMOS or None
|
|
55
|
+
-AccessTransistorResistance (ohm): 1000
|
|
56
|
+
-AccessVoltage (V): 0.1 # Access transistor voltage
|
|
57
|
+
|
|
58
|
+
# -----------------------------------------------------------------------------
|
|
59
|
+
# Other parameters that can be set via cell component attributes:
|
|
60
|
+
|
|
61
|
+
# "voltage" is the global supply voltage
|
|
62
|
+
# "threshold_voltage" is the global threshold voltage
|
|
63
|
+
# "read_pulse_width" is the read pulse width
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Device type and top-level parameters
|
|
3
|
+
|
|
4
|
+
# Device type
|
|
5
|
+
-MemCellType: SRAM # SRAM or RRAM
|
|
6
|
+
# -ReadMode: current # Comment this line for voltage
|
|
7
|
+
-DeviceRoadmap -1LP 1HP 2LSTP: 2
|
|
8
|
+
|
|
9
|
+
# Device size
|
|
10
|
+
-CellArea (F^2): 1080
|
|
11
|
+
-CellAspectRatio: 1 # Width/Height
|
|
12
|
+
|
|
13
|
+
# Calibration parameters
|
|
14
|
+
-CellReadLeakEnergyMultiplier: 1
|
|
15
|
+
-CellWriteEnergyMultiplier: 1
|
|
16
|
+
-CellCapacitanceMultiplier: 0.1
|
|
17
|
+
-CellCapacitanceAdjust (F): 0e-15 # Capacitance = (Nominal Capacitance) * Multiplier + Adjust
|
|
18
|
+
|
|
19
|
+
# Used for RRAM with access transistors or SRAM
|
|
20
|
+
-AccessCMOSWidth (F): 1
|
|
21
|
+
|
|
22
|
+
# Affects NeuroSim-realized ADCs. NOTE: Most models use ADC plug-in ADCs and
|
|
23
|
+
# this has little to no effect.
|
|
24
|
+
-ReadMode: voltage # voltage or current
|
|
25
|
+
|
|
26
|
+
# -----------------------------------------------------------------------------
|
|
27
|
+
# SRAM-only parameters
|
|
28
|
+
# SRAM configuration. Only used if MemCellType is SRAM
|
|
29
|
+
-SRAMCellNMOSWidth (F): 10
|
|
30
|
+
-SRAMCellPMOSWidth (F): 10
|
|
31
|
+
-MinSenseVoltage (mV): 20
|
|
32
|
+
|
|
33
|
+
# -----------------------------------------------------------------------------
|
|
34
|
+
# RRAM-only parameters
|
|
35
|
+
# RRAM configuration. Only used if MemCellType is RRAM
|
|
36
|
+
-ResistanceOn (ohm): 1000
|
|
37
|
+
-ResistanceOff (ohm): 100000
|
|
38
|
+
|
|
39
|
+
# Set parameters
|
|
40
|
+
-SetVoltage (V): 2
|
|
41
|
+
-SetPulse (ns): 10
|
|
42
|
+
# -SetCurrent (uA): 400 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
43
|
+
# -SetEnergy (pJ): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
44
|
+
# -SetPower (uW): 800 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
45
|
+
|
|
46
|
+
# Read parameters
|
|
47
|
+
-ReadVoltage (V): 0.1
|
|
48
|
+
-ReadPulse (ns): 2
|
|
49
|
+
# -ReadCurrent (uA): 40 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
50
|
+
# -ReadEnergy (pJ): 0.008 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
51
|
+
# -ReadPower (uW): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
52
|
+
|
|
53
|
+
# Access transistor parameters
|
|
54
|
+
-AccessType: None # CMOS or None
|
|
55
|
+
-AccessTransistorResistance (ohm): 1000
|
|
56
|
+
-AccessVoltage (V): 0.1 # Access transistor voltage
|
|
57
|
+
|
|
58
|
+
# -----------------------------------------------------------------------------
|
|
59
|
+
# Other parameters that can be set via cell component attributes:
|
|
60
|
+
|
|
61
|
+
# "voltage" is the global supply voltage
|
|
62
|
+
# "threshold_voltage" is the global threshold voltage
|
|
63
|
+
# "read_pulse_width" is the read pulse width
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Device type and top-level parameters
|
|
3
|
+
|
|
4
|
+
# Device type
|
|
5
|
+
-MemCellType: SRAM # SRAM or RRAM
|
|
6
|
+
# -ReadMode: current # Comment this line for voltage
|
|
7
|
+
-DeviceRoadmap -1LP 1HP 2LSTP: -1
|
|
8
|
+
|
|
9
|
+
# Device size
|
|
10
|
+
-CellArea (F^2): 400
|
|
11
|
+
-CellAspectRatio: 1 # Width/Height
|
|
12
|
+
|
|
13
|
+
# Calibration parameters
|
|
14
|
+
-CellReadLeakEnergyMultiplier: 1
|
|
15
|
+
-CellWriteEnergyMultiplier: 1
|
|
16
|
+
-CellCapacitanceMultiplier: 1
|
|
17
|
+
-CellCapacitanceAdjust (F): 3e-15 # Capacitance = (Nominal Capacitance) * Multiplier + Adjust
|
|
18
|
+
|
|
19
|
+
# Used for RRAM with access transistors or SRAM
|
|
20
|
+
-AccessCMOSWidth (F): 1
|
|
21
|
+
|
|
22
|
+
# Affects NeuroSim-realized ADCs. NOTE: Most models use ADC plug-in ADCs and
|
|
23
|
+
# this has little to no effect.
|
|
24
|
+
-ReadMode: voltage # voltage or current
|
|
25
|
+
|
|
26
|
+
# -----------------------------------------------------------------------------
|
|
27
|
+
# SRAM-only parameters
|
|
28
|
+
# SRAM configuration. Only used if MemCellType is SRAM
|
|
29
|
+
-SRAMCellNMOSWidth (F): 10
|
|
30
|
+
-SRAMCellPMOSWidth (F): 10
|
|
31
|
+
-MinSenseVoltage (mV): 20
|
|
32
|
+
|
|
33
|
+
# -----------------------------------------------------------------------------
|
|
34
|
+
# RRAM-only parameters
|
|
35
|
+
# RRAM configuration. Only used if MemCellType is RRAM
|
|
36
|
+
-ResistanceOn (ohm): 1000
|
|
37
|
+
-ResistanceOff (ohm): 100000
|
|
38
|
+
|
|
39
|
+
# Set parameters
|
|
40
|
+
-SetVoltage (V): 2
|
|
41
|
+
-SetPulse (ns): 10
|
|
42
|
+
# -SetCurrent (uA): 400 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
43
|
+
# -SetEnergy (pJ): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
44
|
+
# -SetPower (uW): 800 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
45
|
+
|
|
46
|
+
# Read parameters
|
|
47
|
+
-ReadVoltage (V): 0.1
|
|
48
|
+
-ReadPulse (ns): 2
|
|
49
|
+
# -ReadCurrent (uA): 40 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
50
|
+
# -ReadEnergy (pJ): 0.008 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
51
|
+
# -ReadPower (uW): 8 # OVERWRITES PREVIOUS LINES IF UNCOMMENTED
|
|
52
|
+
|
|
53
|
+
# Access transistor parameters
|
|
54
|
+
-AccessType: None # CMOS or None
|
|
55
|
+
-AccessTransistorResistance (ohm): 1000
|
|
56
|
+
-AccessVoltage (V): 0.1 # Access transistor voltage
|
|
57
|
+
|
|
58
|
+
# -----------------------------------------------------------------------------
|
|
59
|
+
# Other parameters that can be set via cell component attributes:
|
|
60
|
+
|
|
61
|
+
# "voltage" is the global supply voltage
|
|
62
|
+
# "threshold_voltage" is the global threshold voltage
|
|
63
|
+
# "read_pulse_width" is the read pulse width
|