@@ -41,19 +41,23 @@ private[chisel3] object BindingDirection {
41
41
}
42
42
43
43
// Location refers to 'where' in the Module hierarchy this lives
44
+ @ deprecated(deprecatedPublicAPIMsg, " Chisel 6.0" )
44
45
sealed trait Binding {
45
46
def location : Option [BaseModule ]
46
47
}
47
48
// Top-level binding representing hardware, not a pointer to another binding (like ChildBinding)
49
+ @ deprecated(deprecatedPublicAPIMsg, " Chisel 6.0" )
48
50
sealed trait TopBinding extends Binding
49
51
50
52
// Constrained-ness refers to whether 'bound by Module boundaries'
51
53
// An unconstrained binding, like a literal, can be read by everyone
54
+ @ deprecated(deprecatedPublicAPIMsg, " Chisel 6.0" )
52
55
sealed trait UnconstrainedBinding extends TopBinding {
53
56
def location : Option [BaseModule ] = None
54
57
}
55
58
// A constrained binding can only be read/written by specific modules
56
59
// Location will track where this Module is, and the bound object can be referenced in FIRRTL
60
+ @ deprecated(deprecatedPublicAPIMsg, " Chisel 6.0" )
57
61
sealed trait ConstrainedBinding extends TopBinding {
58
62
def enclosure : BaseModule
59
63
def location : Option [BaseModule ] = {
@@ -68,63 +72,56 @@ sealed trait ConstrainedBinding extends TopBinding {
68
72
}
69
73
70
74
// A binding representing a data that cannot be (re)assigned to.
75
+ @ deprecated(deprecatedPublicAPIMsg, " Chisel 6.0" )
71
76
sealed trait ReadOnlyBinding extends TopBinding
72
77
73
78
// A component that can potentially be declared inside a 'when'
79
+ @ deprecated(deprecatedPublicAPIMsg, " Chisel 6.0" )
74
80
sealed trait ConditionalDeclarable extends TopBinding {
75
81
def visibility : Option [WhenContext ]
76
82
}
77
83
78
84
// TODO(twigg): Ops between unenclosed nodes can also be unenclosed
79
85
// However, Chisel currently binds all op results to a module
80
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
81
- case class PortBinding (enclosure : BaseModule ) extends ConstrainedBinding
86
+ private [chisel3] case class PortBinding (enclosure : BaseModule ) extends ConstrainedBinding
82
87
83
88
// Added to handle BoringUtils in Chisel
84
89
private [chisel3] case class SecretPortBinding (enclosure : BaseModule ) extends ConstrainedBinding
85
90
86
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
87
- case class OpBinding (enclosure : RawModule , visibility : Option [WhenContext ])
91
+ private [chisel3] case class OpBinding (enclosure : RawModule , visibility : Option [WhenContext ])
88
92
extends ConstrainedBinding
89
93
with ReadOnlyBinding
90
94
with ConditionalDeclarable
91
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
92
- case class MemoryPortBinding (enclosure : RawModule , visibility : Option [WhenContext ])
95
+ private [chisel3] case class MemoryPortBinding (enclosure : RawModule , visibility : Option [WhenContext ])
93
96
extends ConstrainedBinding
94
97
with ConditionalDeclarable
95
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
96
- case class RegBinding (enclosure : RawModule , visibility : Option [WhenContext ])
98
+ private [chisel3] case class RegBinding (enclosure : RawModule , visibility : Option [WhenContext ])
97
99
extends ConstrainedBinding
98
100
with ConditionalDeclarable
99
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
100
- case class WireBinding (enclosure : RawModule , visibility : Option [WhenContext ])
101
+ private [chisel3] case class WireBinding (enclosure : RawModule , visibility : Option [WhenContext ])
101
102
extends ConstrainedBinding
102
103
with ConditionalDeclarable
103
104
104
105
private [chisel3] case class ClassBinding (enclosure : Class ) extends ConstrainedBinding with ReadOnlyBinding
105
106
106
107
private [chisel3] case class ObjectFieldBinding (enclosure : BaseModule ) extends ConstrainedBinding
107
108
108
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
109
- case class ChildBinding (parent : Data ) extends Binding {
109
+ private [chisel3] case class ChildBinding (parent : Data ) extends Binding {
110
110
def location : Option [BaseModule ] = parent.topBinding.location
111
111
}
112
112
113
113
/** Special binding for Vec.sample_element */
114
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
115
- case class SampleElementBinding [T <: Data ](parent : Vec [T ]) extends Binding {
114
+ private [chisel3] case class SampleElementBinding [T <: Data ](parent : Vec [T ]) extends Binding {
116
115
def location = parent.topBinding.location
117
116
}
118
117
119
118
/** Special binding for Mem types */
120
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
121
- case class MemTypeBinding [T <: Data ](parent : MemBase [T ]) extends Binding {
119
+ private [chisel3] case class MemTypeBinding [T <: Data ](parent : MemBase [T ]) extends Binding {
122
120
def location : Option [BaseModule ] = parent._parent
123
121
}
124
122
// A DontCare element has a specific Binding, somewhat like a literal.
125
123
// It is a source (RHS). It may only be connected/applied to sinks.
126
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
127
- case class DontCareBinding () extends UnconstrainedBinding
124
+ private [chisel3] case class DontCareBinding () extends UnconstrainedBinding
128
125
129
126
// Views currently only support 1:1 Element-level mappings
130
127
private [chisel3] case class ViewBinding (target : Element ) extends UnconstrainedBinding
@@ -142,20 +139,17 @@ private[chisel3] case class AggregateViewBinding(childMap: Map[Data, Data]) exte
142
139
}
143
140
144
141
/** Binding for Data's returned from accessing an Instance/Definition members, if not readable/writable port */
145
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
146
142
private [chisel3] case object CrossModuleBinding extends TopBinding {
147
143
def location = None
148
144
}
149
145
146
+ @ deprecated(deprecatedPublicAPIMsg, " Chisel 6.0" )
150
147
sealed trait LitBinding extends UnconstrainedBinding with ReadOnlyBinding
151
148
// Literal binding attached to a element that is not part of a Bundle.
152
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
153
- case class ElementLitBinding (litArg : LitArg ) extends LitBinding
149
+ private [chisel3] case class ElementLitBinding (litArg : LitArg ) extends LitBinding
154
150
// Literal binding attached to the root of a Bundle, containing literal values of its children.
155
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
156
- case class BundleLitBinding (litMap : Map [Data , LitArg ]) extends LitBinding
151
+ private [chisel3] case class BundleLitBinding (litMap : Map [Data , LitArg ]) extends LitBinding
157
152
// Literal binding attached to the root of a Vec, containing literal values of its children.
158
- @ deprecated(deprecatedPublicAPIMsg, " Chisel 3.6" )
159
- case class VecLitBinding (litMap : VectorMap [Data , LitArg ]) extends LitBinding
153
+ private [chisel3] case class VecLitBinding (litMap : VectorMap [Data , LitArg ]) extends LitBinding
160
154
// Literal binding attached to a Property.
161
155
private [chisel3] case object PropertyValueBinding extends UnconstrainedBinding with ReadOnlyBinding
0 commit comments