mình mới học verilog, nên có nhiều chỗ còn chưa hiểu rõ mong mọi người chỉ giáo cho mình về kiểu dữ liệu net. Theo nhiều tài liệu mình đọc cả tiếng việt lẫn tiếng anh thì Wand và Wor sẽ synthesize ra cổng AND/OR nhưng mình vẫn thấy nó mâu thuẫn với những gì mình biết về Wand/Wor. Cho một ví dụ như thế này:
Wand z;
buff(pull1,pull0)(z,a);
buff(pull1,pull0)(z,b);
khi a=1,b=0 thì kết quả =0 như kết quả thu được từ cổng AND nhưng
buff(pull1,weak0)(z,a);
buff(pull1,weak0)(z,b);
khi a=1,b=0 thì kết quả bằng 1
Rõ ràng khi 2 driver cùng độ mạnh thì kết quả sẽ giống cổng logic AND nhưng khi 2 driver có độ mạnh khác nhau thì kết quả là độ mạnh và giá trị của driver có độ mạnh lớn hơn. Nhưng vấn đề là các tài liệu mà mình đọc đều nói mạch sẽ synthesize ra cổng AND như vậy trường hợp thứ 2 sẽ xử lý như thế nào. Mong mọi người cho ý kiến và giúp đỡ nhé!
Wand z;
buff(pull1,pull0)(z,a);
buff(pull1,pull0)(z,b);
khi a=1,b=0 thì kết quả =0 như kết quả thu được từ cổng AND nhưng
buff(pull1,weak0)(z,a);
buff(pull1,weak0)(z,b);
khi a=1,b=0 thì kết quả bằng 1
Rõ ràng khi 2 driver cùng độ mạnh thì kết quả sẽ giống cổng logic AND nhưng khi 2 driver có độ mạnh khác nhau thì kết quả là độ mạnh và giá trị của driver có độ mạnh lớn hơn. Nhưng vấn đề là các tài liệu mà mình đọc đều nói mạch sẽ synthesize ra cổng AND như vậy trường hợp thứ 2 sẽ xử lý như thế nào. Mong mọi người cho ý kiến và giúp đỡ nhé!
Comment