Gowin Vol.3 第2部第3章 リスト4

val serviceMux = Module(new UdpServiceMux(1, Seq(
(context => context.destinationPort === 10000.U), // 0番目のサービス: 宛先ポートが10000
(context => context.destinationPort === 10001.U), // 1番目のサービス: 宛先ポートが10001
)))
service.io.port <> serviceMux.io.in

val udpLoopback = Module(new UdpLoopback)
serviceMux.io.servicePorts(0) <> udpLoopback.io.port // 0番目のサービスにループバック処理を接続

val udpGpio = Module(new UdpGpio(numOutputBits = 72)) // 1番目のサービスにGPIO処理を接続
serviceMux.io.servicePorts(1) <> udpGpio.io.port
// ...