10 votos

Cuál es el significado del símbolo pipe "|" frente a una variable

Que estoy analizando algunos código de verilog y encontré algo así como

wire z = |a & b;

mientras que el código de simulación se comporta como

wire z = a & b;

así que me preguntaba ¿cuál es el significado de la | símbolo (pipa)? ¿Tiene algún efecto sobre la síntesis de simulación?

18voto

Mark0978 Puntos 495

Este es un bit a bit de la reducción del operador. |a & b significa aplicar una lógica O a todos los bits de a (la producción de un solo bit) y, a continuación, hacer un lógico Y de la que poco y b. |a no tiene ningún efecto cuando a es de un solo bit.

Sin embargo, es muy común ver a bit a bit de reducción aplicados a solo los valores de los bits. Un caso típico es el código generado automáticamente, donde el ancho real de a puede depender de la configuración. Otra posibilidad es que este ser de código de la herencia donde a una vez había varios bits. Cuando a se convirtió en un único bit de valor, esta línea fue técnicamente correctos de forma innecesaria reducción de operador fue de izquierda.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X