O que significa | variable no verilog?

Eu estou querendo saber o queassign hd_trs_detected = |hd_trs_match; significa em verilog. Estou principalmente interessado no|hd_trs_match parte. Eu sei disso | significa pouco sábio OU, mas não sabe como interpretá-lo sem um valor antes do|. É um '1' ou '0' entendido? Se for um '0', qual seria a vantagem de usar|hd_trs_match vs. apenashd_trs_match Comohd_trs_detected sempre seria o que fossehd_trs_match is? Ou poderia ser uma operação um pouco sábia por si só.

questionAnswers(2)

yourAnswerToTheQuestion