diff --git a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc1_validation_subfunc.py b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc1_validation_subfunc.py index 3ba6245d..84acc9bc 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc1_validation_subfunc.py +++ b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc1_validation_subfunc.py @@ -1,6 +1,5 @@ -import pdb -from aimc_cost_model import * -from dimc_cost_model import * +from aimc_cost_model import ADC, DAC +from dimc_cost_model import UnitDff, MultiplierArray, MemoryInstance def aimc1_cost_estimation(aimc, cacti_value): unit_reg = UnitDff(aimc['unit_area'], aimc['unit_delay'], aimc['unit_cap']) @@ -136,4 +135,3 @@ def aimc1_cost_estimation(aimc, cacti_value): #return area_mismatch, delay_mismatch, energy_mismatch #print(area_mults, area_adder_tree, area_accumulator, area_banks, area_regs_accumulator, area_regs_pipeline) #print(energy_mults_mac, energy_adder_tree_mac, energy_accumulator_mac, energy_banks_mac, energy_regs_accumulator_mac, energy_regs_pipeline_mac) - pdb.set_trace() diff --git a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc2_validation_subfunc.py b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc2_validation_subfunc.py index 0d9900d4..5e56ef4c 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc2_validation_subfunc.py +++ b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc2_validation_subfunc.py @@ -1,6 +1,5 @@ -import pdb -from aimc_cost_model import * -from dimc_cost_model import * +from aimc_cost_model import ADC, DAC +from dimc_cost_model import UnitNand2, UnitDff, MultiplierArray, Adder, AdderTree, MemoryInstance def aimc2_cost_estimation(aimc, cacti_value): unit_reg = UnitDff(aimc['unit_area'], aimc['unit_delay'], aimc['unit_cap']) @@ -141,4 +140,3 @@ def aimc2_cost_estimation(aimc, cacti_value): #return area_mismatch, delay_mismatch, energy_mismatch #print(area_mults, area_adder_tree, area_accumulator, area_banks, area_regs_accumulator, area_regs_pipeline) #print(energy_mults_mac, energy_adder_tree_mac, energy_accumulator_mac, energy_banks_mac, energy_regs_accumulator_mac, energy_regs_pipeline_mac) - pdb.set_trace() diff --git a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc3_validation_subfunc.py b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc3_validation_subfunc.py index d2201c12..e0e94e5f 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc3_validation_subfunc.py +++ b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc3_validation_subfunc.py @@ -1,6 +1,5 @@ -import pdb -from aimc_cost_model import * -from dimc_cost_model import * +from aimc_cost_model import ADC, DAC +from dimc_cost_model import UnitDff, MultiplierArray, Adder, MemoryInstance def aimc3_cost_estimation(aimc, cacti_value): unit_reg = UnitDff(aimc['unit_area'], aimc['unit_delay'], aimc['unit_cap']) @@ -143,5 +142,4 @@ def aimc3_cost_estimation(aimc, cacti_value): #return predicted_area, predicted_delay, energy_estimation_per_mac #return area_mismatch, delay_mismatch, energy_mismatch #print(area_mults, area_adder_tree, area_accumulator, area_banks, area_regs_accumulator, area_regs_pipeline) - #print(energy_mults_mac, energy_adder_tree_mac, energy_accumulator_mac, energy_banks_mac, energy_regs_accumulator_mac, energy_regs_pipeline_mac) - pdb.set_trace() + #print(energy_mults_mac, energy_adder_tree_mac, energy_accumulator_mac, energy_banks_mac, energy_regs_accumulator_mac, energy_regs_pipeline_mac) \ No newline at end of file diff --git a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc_cost_model.py b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc_cost_model.py index 5eef4938..bd13c741 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc_cost_model.py +++ b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc_cost_model.py @@ -1,4 +1,3 @@ -import pdb import math class ADC: diff --git a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc_validation.py b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc_validation.py index 77f9ea08..e58e2b5c 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc_validation.py +++ b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/aimc_validation.py @@ -1,7 +1,6 @@ -import pdb -from aimc1_validation_subfunc import * -from aimc2_validation_subfunc import * -from aimc3_validation_subfunc import * +from aimc1_validation_subfunc import aimc1_cost_estimation +from aimc2_validation_subfunc import aimc2_cost_estimation +from aimc3_validation_subfunc import aimc3_cost_estimation """ CICC2021 (Assume 100% input toggle rate, 0% weight sparsity) diff --git a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/dimc_cost_model.py b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/dimc_cost_model.py index b5a85aa4..0801ffb4 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/dimc_cost_model.py +++ b/zigzag/inputs/validation/hardware/sram_imc/aimc_validation/22-28nm/dimc_cost_model.py @@ -1,4 +1,3 @@ -import pdb import math class UnitNor2: diff --git a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_cost_model.py b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_cost_model.py index b5a85aa4..0801ffb4 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_cost_model.py +++ b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_cost_model.py @@ -1,4 +1,3 @@ -import pdb import math class UnitNor2: diff --git a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation.py b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation.py index 01e5938c..8ace92be 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation.py +++ b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation.py @@ -1,5 +1,4 @@ -import pdb -from dimc_validation_subfunc import * +from dimc_validation_subfunc import dimc_cost_estimation """ ISSCC2022, 15.5 (50% input toggle rate, 50% weight sparsity) diff --git a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation4.py b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation4.py index f15fbaf0..fcfc77cf 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation4.py +++ b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation4.py @@ -1,4 +1,4 @@ -import pdb +from dimc_validation_subfunc4 import dimc_cost_estimation4 """ ISSCC2023, 16.3 (50% input sparsity, 50% weight sparsity) @@ -43,5 +43,4 @@ if __name__ == '__main__': - from dimc_validation_subfunc4 import * print(dimc_cost_estimation4(dimc_ISSCC2023_16_3, cacti_value_ISSCC2023_16_3)) diff --git a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation_subfunc.py b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation_subfunc.py index ca3e13f5..5ce77eab 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation_subfunc.py +++ b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation_subfunc.py @@ -1,5 +1,4 @@ -import pdb -from dimc_cost_model import * +from dimc_cost_model import UnitNand2, UnitDff, MultiplierArray, Adder, AdderTree, MemoryInstance def dimc_cost_estimation(dimc, cacti_value): unit_reg = UnitDff(dimc['unit_area'], dimc['unit_delay'], dimc['unit_cap']) @@ -174,5 +173,4 @@ def dimc_cost_estimation(dimc, cacti_value): return area_mismatch, delay_mismatch, energy_mismatch #print(area_mults, area_adder_tree, area_accumulator+area_regs_accumulator, area_banks, area_regs_pipeline) #print(energy_mults_mac, energy_adder_tree_mac, energy_accumulator_mac+energy_regs_accumulator_mac, energy_banks_mac, energy_regs_pipeline_mac) - pdb.set_trace() # return predicted_area, predicted_delay, predicted_energy/number_of_operations \ No newline at end of file diff --git a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation_subfunc4.py b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation_subfunc4.py index ea294146..7053ffa5 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation_subfunc4.py +++ b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/dimc_validation_subfunc4.py @@ -1,5 +1,4 @@ -import pdb -from dimc_cost_model import * +from dimc_cost_model import UnitNand2, UnitDff, MultiplierArray, Adder, AdderTree, MemoryInstance def dimc_cost_estimation4(dimc, cacti_value): unit_reg = UnitDff(dimc['unit_area'], dimc['unit_delay'], dimc['unit_cap']) @@ -96,5 +95,4 @@ def dimc_cost_estimation4(dimc, cacti_value): return area_mismatch, delay_mismatch, energy_mismatch print(area_mults, area_adder_tree, area_accumulator+area_regs_accumulator, area_banks, area_regs_pipeline) print(energy_mults_mac, energy_adder_tree_mac, energy_accumulator_mac+energy_regs_accumulator_mac, energy_banks_mac, energy_regs_pipeline_mac) - pdb.set_trace() # return predicted_area, predicted_delay, predicted_energy/number_of_operations \ No newline at end of file diff --git a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/model_extration_28nm.py b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/model_extration_28nm.py index bbab1d6c..bfea8c43 100755 --- a/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/model_extration_28nm.py +++ b/zigzag/inputs/validation/hardware/sram_imc/dimc_validation/28nm/model_extration_28nm.py @@ -1,7 +1,7 @@ -import pdb -from dimc_validation import * -from dimc_validation4 import * -from dimc_validation_subfunc4 import * +from dimc_validation import dimc_ISSCC2022_15_5, cacti_ISSCC2022_15_5, dimc_ISSCC2022_11_7, cacti_ISSCC2022_11_7, dimc_ISSCC2023_7_2, cacti_value_ISSCC2023_7_2 +from dimc_validation4 import dimc_ISSCC2023_16_3, cacti_value_ISSCC2023_16_3 +from dimc_validation_subfunc4 import dimc_cost_estimation4 +from dimc_validation_subfunc import dimc_cost_estimation def area_fitting(): mismatch = 1