@@ -63,8 +63,8 @@ def test_request_basic(self):
63
63
self .assertEqual (user_led .width , 1 )
64
64
self .assertEqual (user_led .dir , "o" )
65
65
66
- pins = list ( self .cm .iter_pins () )
67
- ( pin , port , buffer ), = pins
66
+ ( pin , port , buffer ), = self .cm .iter_pins ()
67
+ buffer . _MustUse__silence = True
68
68
69
69
self .assertIs (pin , user_led )
70
70
self .assertEqual (port .io .name , "user_led_0__io" )
@@ -77,12 +77,18 @@ def test_request_with_dir(self):
77
77
i2c = self .cm .request ("i2c" , 0 , dir = {"sda" : "o" })
78
78
self .assertIsInstance (flipped (i2c .sda ), Pin )
79
79
self .assertEqual (i2c .sda .dir , "o" )
80
+ ((_ , _ , scl_buffer ), (_ , _ , sda_buffer )) = self .cm .iter_pins ()
81
+ scl_buffer ._MustUse__silence = True
82
+ sda_buffer ._MustUse__silence = True
80
83
81
84
def test_request_tristate (self ):
82
85
i2c = self .cm .request ("i2c" , 0 )
83
86
self .assertEqual (i2c .sda .dir , "io" )
84
87
85
- ((scl_pin , scl_port , _ ), (sda_pin , sda_port , _ )) = self .cm .iter_pins ()
88
+ ((scl_pin , scl_port , scl_buffer ), (sda_pin , sda_port , sda_buffer )) = self .cm .iter_pins ()
89
+ scl_buffer ._MustUse__silence = True
90
+ sda_buffer ._MustUse__silence = True
91
+
86
92
self .assertIs (scl_pin , i2c .scl )
87
93
self .assertIs (sda_pin , i2c .sda )
88
94
self .assertEqual (scl_port .io .name , "i2c_0__scl__io" )
@@ -96,7 +102,9 @@ def test_request_diffpairs(self):
96
102
self .assertEqual (clk100 .dir , "i" )
97
103
self .assertEqual (clk100 .width , 1 )
98
104
99
- (clk100_pin , clk100_port , _ ), = self .cm .iter_pins ()
105
+ (clk100_pin , clk100_port , buffer ), = self .cm .iter_pins ()
106
+ buffer ._MustUse__silence = True
107
+
100
108
self .assertIs (clk100_pin , clk100 )
101
109
self .assertEqual (clk100_port .p .name , "clk100_0__p" )
102
110
self .assertEqual (clk100_port .p .width , clk100 .width )
@@ -115,9 +123,11 @@ def test_request_inverted(self):
115
123
cs = self .cm .request ("cs" )
116
124
clk = self .cm .request ("clk" )
117
125
(
118
- (cs_pin , cs_port , _ ),
119
- (clk_pin , clk_port , _ ),
126
+ (cs_pin , cs_port , cs_buffer ),
127
+ (clk_pin , clk_port , clk_buffer ),
120
128
) = self .cm .iter_pins ()
129
+ cs_buffer ._MustUse__silence = True
130
+ clk_buffer ._MustUse__silence = True
121
131
122
132
self .assertIs (cs_pin , cs )
123
133
self .assertEqual (cs_port .invert , (True ,))
@@ -138,27 +148,31 @@ def test_request_raw_diffpairs(self):
138
148
def test_request_via_connector (self ):
139
149
self .cm .add_resources ([
140
150
Resource ("spi" , 0 ,
141
- Subsignal ("ss " , Pins ("1" , conn = ("pmod" , 0 ))),
151
+ Subsignal ("cs " , Pins ("1" , conn = ("pmod" , 0 ))),
142
152
Subsignal ("clk" , Pins ("2" , conn = ("pmod" , 0 ))),
143
- Subsignal ("miso " , Pins ("3" , conn = ("pmod" , 0 ))),
144
- Subsignal ("mosi " , Pins ("4" , conn = ("pmod" , 0 ))),
153
+ Subsignal ("cipo " , Pins ("3" , conn = ("pmod" , 0 ))),
154
+ Subsignal ("copi " , Pins ("4" , conn = ("pmod" , 0 ))),
145
155
)
146
156
])
147
157
spi0 = self .cm .request ("spi" , 0 )
148
158
(
149
- (ss_pin , ss_port , _ ),
150
- (clk_pin , clk_port , _ ),
151
- (miso_pin , miso_port , _ ),
152
- (mosi_pin , mosi_port , _ ),
159
+ (cs_pin , cs_port , cs_buffer ),
160
+ (clk_pin , clk_port , clk_buffer ),
161
+ (cipo_pin , cipo_port , cipo_buffer ),
162
+ (copi_pin , copi_port , copi_buffer ),
153
163
) = self .cm .iter_pins ()
154
- self .assertIs (ss_pin , spi0 .ss )
164
+ cs_buffer ._MustUse__silence = True
165
+ clk_buffer ._MustUse__silence = True
166
+ cipo_buffer ._MustUse__silence = True
167
+ copi_buffer ._MustUse__silence = True
168
+ self .assertIs (cs_pin , spi0 .cs )
155
169
self .assertIs (clk_pin , spi0 .clk )
156
- self .assertIs (miso_pin , spi0 .miso )
157
- self .assertIs (mosi_pin , spi0 .mosi )
158
- self .assertEqual (ss_port .io .metadata [0 ].name , "B0" )
170
+ self .assertIs (cipo_pin , spi0 .cipo )
171
+ self .assertIs (copi_pin , spi0 .copi )
172
+ self .assertEqual (cs_port .io .metadata [0 ].name , "B0" )
159
173
self .assertEqual (clk_port .io .metadata [0 ].name , "B1" )
160
- self .assertEqual (miso_port .io .metadata [0 ].name , "B2" )
161
- self .assertEqual (mosi_port .io .metadata [0 ].name , "B3" )
174
+ self .assertEqual (cipo_port .io .metadata [0 ].name , "B2" )
175
+ self .assertEqual (copi_port .io .metadata [0 ].name , "B3" )
162
176
163
177
def test_request_via_nested_connector (self ):
164
178
new_connectors = [
@@ -167,35 +181,41 @@ def test_request_via_nested_connector(self):
167
181
self .cm .add_connectors (new_connectors )
168
182
self .cm .add_resources ([
169
183
Resource ("spi" , 0 ,
170
- Subsignal ("ss " , Pins ("1" , conn = ("pmod_extension" , 0 ))),
184
+ Subsignal ("cs " , Pins ("1" , conn = ("pmod_extension" , 0 ))),
171
185
Subsignal ("clk" , Pins ("2" , conn = ("pmod_extension" , 0 ))),
172
- Subsignal ("miso " , Pins ("3" , conn = ("pmod_extension" , 0 ))),
173
- Subsignal ("mosi " , Pins ("4" , conn = ("pmod_extension" , 0 ))),
186
+ Subsignal ("cipo " , Pins ("3" , conn = ("pmod_extension" , 0 ))),
187
+ Subsignal ("copi " , Pins ("4" , conn = ("pmod_extension" , 0 ))),
174
188
)
175
189
])
176
190
spi0 = self .cm .request ("spi" , 0 )
177
191
(
178
- (ss_pin , ss_port , _ ),
179
- (clk_pin , clk_port , _ ),
180
- (miso_pin , miso_port , _ ),
181
- (mosi_pin , mosi_port , _ ),
192
+ (cs_pin , cs_port , cs_buffer ),
193
+ (clk_pin , clk_port , clk_buffer ),
194
+ (cipo_pin , cipo_port , cipo_buffer ),
195
+ (copi_pin , copi_port , copi_buffer ),
182
196
) = self .cm .iter_pins ()
183
- self .assertIs (ss_pin , spi0 .ss )
197
+ cs_buffer ._MustUse__silence = True
198
+ clk_buffer ._MustUse__silence = True
199
+ cipo_buffer ._MustUse__silence = True
200
+ copi_buffer ._MustUse__silence = True
201
+ self .assertIs (cs_pin , spi0 .cs )
184
202
self .assertIs (clk_pin , spi0 .clk )
185
- self .assertIs (miso_pin , spi0 .miso )
186
- self .assertIs (mosi_pin , spi0 .mosi )
187
- self .assertEqual (ss_port .io .metadata [0 ].name , "B0" )
203
+ self .assertIs (cipo_pin , spi0 .cipo )
204
+ self .assertIs (copi_pin , spi0 .copi )
205
+ self .assertEqual (cs_port .io .metadata [0 ].name , "B0" )
188
206
self .assertEqual (clk_port .io .metadata [0 ].name , "B1" )
189
- self .assertEqual (miso_port .io .metadata [0 ].name , "B2" )
190
- self .assertEqual (mosi_port .io .metadata [0 ].name , "B3" )
207
+ self .assertEqual (cipo_port .io .metadata [0 ].name , "B2" )
208
+ self .assertEqual (copi_port .io .metadata [0 ].name , "B3" )
191
209
192
210
def test_request_clock (self ):
193
211
clk100 = self .cm .request ("clk100" , 0 )
194
212
clk50 = self .cm .request ("clk50" , 0 , dir = "i" )
195
213
(
196
- (clk100_pin , clk100_port , _ ),
197
- (clk50_pin , clk50_port , _ ),
214
+ (clk100_pin , clk100_port , clk100_buffer ),
215
+ (clk50_pin , clk50_port , clk50_buffer ),
198
216
) = self .cm .iter_pins ()
217
+ clk100_buffer ._MustUse__silence = True
218
+ clk50_buffer ._MustUse__silence = True
199
219
self .assertEqual (list (self .cm .iter_clock_constraints ()), [
200
220
(clk100 .i , clk100_port .p , 100e6 ),
201
221
(clk50 .i , clk50_port .io , 50e6 )
@@ -207,6 +227,9 @@ def test_add_clock(self):
207
227
self .assertEqual (list (self .cm .iter_clock_constraints ()), [
208
228
(i2c .scl .o , None , 100e3 )
209
229
])
230
+ ((_ , _ , scl_buffer ), (_ , _ , sda_buffer )) = self .cm .iter_pins ()
231
+ scl_buffer ._MustUse__silence = True
232
+ sda_buffer ._MustUse__silence = True
210
233
211
234
def test_wrong_resources (self ):
212
235
with self .assertRaisesRegex (TypeError , r"^Object 'wrong' is not a Resource$" ):
@@ -244,16 +267,20 @@ def test_wrong_clock_frequency(self):
244
267
self .cm .add_clock_constraint (Signal (), None )
245
268
246
269
def test_wrong_request_duplicate (self ):
270
+ self .cm .request ("user_led" , 0 )
271
+ (pin , port , buffer ), = self .cm .iter_pins ()
272
+ buffer ._MustUse__silence = True
247
273
with self .assertRaisesRegex (ResourceError ,
248
274
r"^Resource user_led#0 has already been requested$" ):
249
275
self .cm .request ("user_led" , 0 )
250
- self .cm .request ("user_led" , 0 )
251
276
252
277
def test_wrong_request_duplicate_physical (self ):
253
278
self .cm .add_resources ([
254
279
Resource ("clk20" , 0 , Pins ("H1" , dir = "i" )),
255
280
])
256
281
self .cm .request ("clk100" , 0 )
282
+ (pin , port , buffer ), = self .cm .iter_pins ()
283
+ buffer ._MustUse__silence = True
257
284
with self .assertRaisesRegex (ResourceError ,
258
285
(r"^Resource component clk20_0 uses physical pin H1, but it is already "
259
286
r"used by resource component clk100_0 that was requested earlier$" )):
@@ -293,6 +320,8 @@ def test_wrong_request_with_xdr_dict(self):
293
320
294
321
def test_wrong_clock_constraint_twice (self ):
295
322
clk100 = self .cm .request ("clk100" )
323
+ (pin , port , buffer ), = self .cm .iter_pins ()
324
+ buffer ._MustUse__silence = True
296
325
with self .assertRaisesRegex (ValueError ,
297
326
(r"^Cannot add clock constraint on \(sig clk100_0__i\), which is already "
298
327
r"constrained to 100000000\.0 Hz$" )):
0 commit comments