-
Notifications
You must be signed in to change notification settings - Fork 3
/
board.stanza
130 lines (114 loc) · 4.07 KB
/
board.stanza
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#use-added-syntax(jitx)
defpackage ambiq_demo/board :
import core
import collections
import jitx
import jitx/commands
pcb-material FR-4 :
type = Dielectric
dielectric-coefficient = 4.5
pcb-material SolderResist :
type = Dielectric
dielectric-coefficient = 3.5
pcb-material copper :
type = Conductor
pcb-stackup stackup :
stack(0.04750, SolderResist)
stack(0.01750, copper)
stack(0.10000, FR-4)
stack(0.03600, copper)
stack(1.20000, FR-4)
stack(0.03600, copper)
stack(0.10000, FR-4)
stack(0.01750, copper)
stack(0.04750, SolderResist)
public pcb-via via-0-1 :
name = "Top uVia" ;This name appears in the UI. If not provided, 'my-via' is used instead.
start = LayerIndex(0, Top)
stop = LayerIndex(1, Top)
diameter = 0.250
hole-diameter = 0.100
type = LaserDrill
filled = true
tented = false ;Top|Bottom|True|False with default false.
via-in-pad = true
public pcb-via via-2-3 :
name = "Bottom uVia"
start = LayerIndex(2, Top)
stop = LayerIndex(3, Top)
diameter = 0.150
hole-diameter = 0.100
type = LaserDrill
filled = true
tented = false ;Top|Bottom|True|False with default false.
via-in-pad = true
public pcb-via std-via :
name = "standard" ;This name appears in the UI. If not provided, 'my-via' is used instead.
start = LayerIndex(0, Top)
stop = LayerIndex(0, Bottom)
diameter = 0.350
hole-diameter = 0.150
type = MechanicalDrill
center = Point(0.0, 0.0)
filled = false
tented = true ;Top|Bottom|True|False with default false.
via-in-pad = false
public val signal-shape = PolygonWithArcs([Arc(Point(0.0, 0.0), 10.0, 0.0, 360.0)])
public pcb-board ambiq_demo_board :
stackup = stackup
boundary = PolygonWithArcs([Arc(Point(0.0, 0.0), 10.4, 0.0, 360.0)]) ; Circle(0.0, 0.0, 25.4)
signal-boundary = signal-shape; PolygonWithArcs([Arc(Point(0.0, 0.0), 14.4, 0.0, 360.0)]); Circle(0.0, 0.0, 25.4)
vias = [via-0-1 via-2-3 std-via]
public pcb-routing-structure single-ended-50 :
name = "50 Ohm single-ended"
layer-constraints(Top) :
trace-width = 0.114 ; mm
clearance = 0.12 ; mm
velocity = 0.19e12 ; mm/s
insertion-loss = 0.008 ; db/mm @ 1GHz
neck-down = NeckDown(0.114 0.12 false false)
layer-constraints(LayerIndex(1)) :
trace-width = 0.1 ; mm
clearance = 0.1 ; mm
velocity = 0.19e12 ; mm/s
insertion-loss = 0.008 ; db/mm @ 1GHz
neck-down = NeckDown(0.075 0.075 false false)
layer-constraints(LayerIndex(1, Bottom)) :
trace-width = 0.120 ; mm
clearance = 0.12 ; mm
velocity = 0.19e12 ; mm/s
insertion-loss = 0.008 ; db/mm @ 1GHz
neck-down = NeckDown(0.120 0.12 false false)
layer-constraints(Bottom) :
trace-width = 0.114 ; mm
clearance = 0.12 ; mm
velocity = 0.19e12 ; mm/s
insertion-loss = 0.008 ; db/mm @ 1GHz
neck-down = NeckDown(0.114 0.12 false false)
public pcb-differential-routing-structure differential-100 :
name = "100 Ohm common-mode impedance"
layer-constraints(Top) :
trace-width = 0.100 ; mm
pair-spacing = 0.120 ; mm
clearance = 0.18 ; mm
velocity = 0.19e12 ; mm/s
insertion-loss = 0.008 ; db/mm @ 1GHz
layer-constraints(LayerIndex(1)) :
trace-width = 0.110 ; mm
pair-spacing = 0.130 ; mm
clearance = 0.18 ; mm
velocity = 0.19e12 ; mm/s
insertion-loss = 0.008 ; db/mm @ 1GHz
layer-constraints(LayerIndex(1, Bottom)) :
trace-width = 0.110 ; mm
pair-spacing = 0.130 ; mm
clearance = 0.18 ; mm
velocity = 0.19e12 ; mm/s
insertion-loss = 0.008 ; db/mm @ 1GHz
layer-constraints(Bottom) :
trace-width = 0.100 ; mm
pair-spacing = 0.120 ; mm
clearance = 0.18 ; mm
velocity = 0.19e12 ; mm/s
insertion-loss = 0.008 ; db/mm @ 1GHz
uncoupled-region = single-ended-50