Coverage for qpdk / cells / bump.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-14 10:27 +0000

1"""Indium bump components for 3D integration.""" 

2 

3from __future__ import annotations 

4 

5import gdsfactory as gf 

6from gdsfactory.component import Component 

7 

8from qpdk.tech import LAYER 

9 

10 

11@gf.cell 

12def indium_bump(diameter: float = 15.0) -> Component: 

13 """Creates an indium bump component for 3D integration. 

14 

15 See :cite:`rosenberg3DIntegratedSuperconducting2017` for details. 

16 

17 Args: 

18 diameter: Diameter of the indium bump in µm. 

19 

20 Returns: 

21 A gdsfactory Component representing the indium bump. 

22 """ 

23 c = Component() 

24 circle = gf.components.circle(radius=diameter / 2, layer=LAYER.IND) 

25 ref = c.add_ref(circle) 

26 ref.move((0, 0)) 

27 c.add_port( 

28 name="center", 

29 center=( 

30 0, 

31 0, 

32 ), 

33 orientation=0, 

34 layer=LAYER.IND, 

35 width=diameter, 

36 port_type="placement", 

37 ) 

38 return c 

39 

40 

41if __name__ == "__main__": 

42 bump = indium_bump() 

43 bump.show()