ý nghĩa của biểu tượng đường ống là gì | trước một biến


10

Tôi đang phân tích một số mã Verilog và tìm thấy một cái gì đó như

wire z = |a & b;

trong khi mô phỏng mã hoạt động giống như

wire z = a & b;

vì vậy tôi đã tự hỏi ý nghĩa của |biểu tượng (ống) là gì? Nó có bất kỳ tác động đến mô phỏng / tổng hợp?

Câu trả lời:


17

Đây là một toán tử giảm bit khôn ngoan . |a & bcó nghĩa là bạn áp dụng logic HOẶC cho tất cả các bit của a(tạo ra một bit) và sau đó thực hiện AND logic của bit đó và b. |akhông có hiệu lực khi alà một bit đơn.

Tuy nhiên, khá phổ biến khi thấy giảm bit khôn ngoan được áp dụng cho các giá trị bit đơn. Một trường hợp điển hình là mã được tạo tự động trong đó độ rộng thực tế acó thể phụ thuộc vào cấu hình. Một khả năng khác là đây là mã kế thừa, nơi ađã từng có một vài bit. Khi atrở thành một giá trị bit đơn, dòng này vẫn đúng về mặt kỹ thuật nên toán tử giảm không cần thiết bây giờ được để lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.