@@ -360,6 +360,42 @@ class PropertySpec extends AnyFlatSpec with Matchers with FileCheck {
360
360
)
361
361
}
362
362
363
+ it should " support concatenation of Property[Seq[Int]]" in {
364
+ ChiselStage .emitCHIRRTL {
365
+ new RawModule {
366
+ val seqProp1 = IO (Input (Property [Seq [Int ]]()))
367
+ val seqProp2 = IO (Input (Property [Seq [Int ]]()))
368
+ val seqProp3 = IO (Output (Property [Seq [Int ]]()))
369
+ seqProp3 := seqProp1 ++ seqProp2
370
+ }
371
+ }.fileCheck()(
372
+ """ |CHECK: input seqProp1 : List<Integer>
373
+ |CHECK: input seqProp2 : List<Integer>
374
+ |CHECK: output seqProp3 : List<Integer>
375
+ |CHECK: wire _seqProp3_propExpr : List<Integer>
376
+ |CHECK: propassign _seqProp3_propExpr, list_concat(seqProp1, seqProp2)
377
+ |""" .stripMargin
378
+ )
379
+ }
380
+
381
+ it should " support concatenation of Property[List[Int]]" in {
382
+ ChiselStage .emitCHIRRTL {
383
+ new RawModule {
384
+ val listProp1 = IO (Input (Property [List [Int ]]()))
385
+ val listProp2 = IO (Input (Property [List [Int ]]()))
386
+ val listProp3 = IO (Output (Property [List [Int ]]()))
387
+ listProp3 := listProp1 ++ listProp2
388
+ }
389
+ }.fileCheck()(
390
+ """ |CHECK: input listProp1 : List<Integer>
391
+ |CHECK: input listProp2 : List<Integer>
392
+ |CHECK: output listProp3 : List<Integer>
393
+ |CHECK: wire _listProp3_propExpr : List<Integer>
394
+ |CHECK: propassign _listProp3_propExpr, list_concat(listProp1, listProp2)
395
+ |""" .stripMargin
396
+ )
397
+ }
398
+
363
399
it should " not support types with nested Property[_]" in {
364
400
assertTypeError(" Property[Property[Property[Int]]]()" )
365
401
assertTypeError(" Property[Property[Seq[Property[Int]]]]()" )
0 commit comments