@@ -39,9 +39,6 @@ class AladdinAdder(LibraryEstimatorClassBase):
3939 The width of the adder in bits. This is the number of bits of the input values.
4040 """
4141
42- component_name = ["adder" , "intadder" , "aladdin_adder" ]
43- priority = 0.9
44-
4542 def __init__ (self , tech_node : float , width : int = 32 ):
4643 super ().__init__ (leak_power = 2.40e-6 , area = 278.0e-12 )
4744 self .tech_node : float = self .scale (
@@ -79,6 +76,14 @@ def read(self) -> float:
7976 return 0.21e-12
8077
8178
79+ class Adder (AladdinAdder ):
80+ pass
81+
82+
83+ class IntAdder (AladdinAdder ):
84+ pass
85+
86+
8287# Original CSV contents:
8388# tech_node,global_cycle_period,width|datawidth,dynamic energy(pJ),area(um^2),action
8489# 40nm,1e-9,1,0.009,5.98E+00,read
@@ -95,8 +100,6 @@ class AladdinRegister(LibraryEstimatorClassBase):
95100 width : int, optional
96101 The width of the register in bits.
97102 """
98- component_name = ["register" , "aladdin_register" ]
99- priority = 0.9
100103
101104 def __init__ (
102105 self ,
@@ -154,6 +157,10 @@ def write(self) -> float:
154157 return 0.009e-12
155158
156159
160+ class Register (AladdinRegister ):
161+ pass
162+
163+
157164# Original CSV contents:
158165# tech_node,global_cycle_period,width|datawidth,energy(pJ),area(um^2),action
159166# 40nm,1e-9,32,0.02947,71,compare|read
@@ -171,8 +178,6 @@ class AladdinComparator(LibraryEstimatorClassBase):
171178 width : int, optional
172179 The width of the comparator in bits.
173180 """
174- component_name = ["comparator" , "aladdin_comparator" ]
175- priority = 0.9
176181
177182 def __init__ (self , tech_node : float , width : int = 32 ):
178183 super ().__init__ (leak_power = 2.51e-8 , area = 71.0e-12 )
@@ -211,6 +216,10 @@ def read(self) -> float:
211216 return 0.02947e-12
212217
213218
219+ class Comparator (AladdinComparator ):
220+ pass
221+
222+
214223# Original CSV contents:
215224# tech_node,global_cycle_period,width|datawidth,width_a|datawidth_a,width_b|datawidth_b,energy(pJ),area(um^2),action
216225# 40nm,1e-9,32,32,32,12.68,6350,multiply|read
@@ -232,8 +241,6 @@ class AladdinMultiplier(LibraryEstimatorClassBase):
232241 width_b : int, optional
233242 The width of the second input value in bits.
234243 """
235- component_name = ["intmultiplier" , "multiplier" , "aladdin_multiplier" ]
236- priority = 0.9
237244
238245 def __init__ (
239246 self ,
@@ -263,7 +270,9 @@ def __init__(
263270 "width and width_b cannot both be set. Either set width of both inputs "
264271 "or width_a and width_b separately."
265272 )
266- self .width : int = self .scale ("width" , width , 32 , quadratic , quadratic , quadratic )
273+ self .width : int = self .scale (
274+ "width" , width , 32 , quadratic , quadratic , quadratic
275+ )
267276 self .width_a : int = self .scale ("width_a" , width_a , 32 , linear , linear , linear )
268277 self .width_b : int = self .scale ("width_b" , width_b , 32 , linear , linear , linear )
269278
@@ -292,6 +301,14 @@ def read(self) -> float:
292301 return 12.68e-12
293302
294303
304+ class IntMultiplier (AladdinMultiplier ):
305+ pass
306+
307+
308+ class Multiplier (AladdinMultiplier ):
309+ pass
310+
311+
295312# Original CSV contents:
296313# tech_node,global_cycle_period,width|datawidth,energy(pJ),area(um^2),action
297314# 40nm,1e-9,32,0.25074,495.5,count|read
@@ -308,8 +325,6 @@ class AladdinCounter(LibraryEstimatorClassBase):
308325 width : int, optional
309326 The width of the counter in bits.
310327 """
311- component_name = ["counter" , "aladdin_counter" ]
312- priority = 0.9
313328
314329 def __init__ (self , tech_node : float , width : int = 32 ):
315330 super ().__init__ (leak_power = 3.21e-7 , area = 495.5e-12 )
@@ -347,6 +362,11 @@ def read(self) -> float:
347362 """
348363 return 0.25074e-12
349364
365+
366+ class Counter (AladdinCounter ):
367+ pass
368+
369+
350370class AladdinIntMAC (LibraryEstimatorClassBase ):
351371 """
352372 A integer multiply-accumulate unit from the Aladdin paper. Multiplies two values
@@ -361,10 +381,12 @@ class AladdinIntMAC(LibraryEstimatorClassBase):
361381 multiplier_width : int, optional
362382 The width of the multiplier in bits.
363383 """
384+
364385 component_name = ["intmac" , "aladdin_intmac" ]
365- priority = 0.9
366386
367- def __init__ (self , tech_node : float , adder_width : int = 16 , multiplier_width : int = 8 ):
387+ def __init__ (
388+ self , tech_node : float , adder_width : int = 16 , multiplier_width : int = 8
389+ ):
368390 self .adder = AladdinAdder (tech_node , adder_width )
369391 self .multiplier = AladdinMultiplier (tech_node , multiplier_width )
370392 super ().__init__ (
0 commit comments