Có sự khác biệt giữa
(x downto y) and (y to x)?
Chúng ta nên sử dụng ở đâu (x dowo y)? Câu hỏi tương tự dành cho (y đến x).
Ký hiệu: x và y là số nguyên
Có sự khác biệt giữa
(x downto y) and (y to x)?
Chúng ta nên sử dụng ở đâu (x dowo y)? Câu hỏi tương tự dành cho (y đến x).
Ký hiệu: x và y là số nguyên
Câu trả lời:
Đây là nơi bạn có thể nói rằng VHDL được phát minh bởi một ủy ban chính phủ. Nếu VHDL được thiết kế để nhất quán thì những gì bạn gọi là "đến" sẽ được gọi là "tối đa" - như ngược lại với "dowo". Trong câu trả lời này tôi sẽ đề cập đến "tối đa". Chỉ cần hiểu rằng tôi đang sử dụng thuật ngữ này cho rõ ràng-- nó vẫn không phải là một từ khóa VHDL chính thức.
Các vectơ hoặc mảng, có thể có một phạm vi đang giảm dần hoặc tăng dần. Ví dụ:
signal foo :std_logic_vector (7 downto 0);
signal bar :std_logic_vector (0 to 7);
Đây hoàn toàn là một quy ước đánh số và ít liên quan đến hiệu quả logic kết quả. Hầu hết, một chính xác để sử dụng phụ thuộc vào những gì có ý nghĩa nhất đối với người viết mã.
Điều đó đang được nói, không bao giờ sử dụng "tối đa" trừ khi bạn phải. Ý kiến cá nhân của tôi là gì, nhưng nó dựa trên 20 năm viết VHDL chuyên nghiệp và 30 năm viết phần mềm:
Trộn dowo và tối đa trong cùng một mã luôn có vấn đề. Nó có thể được thực hiện, nhưng nó đòi hỏi lập kế hoạch và ký hiệu cẩn thận để có được quyền. Ngay cả sau đó, mã kết thúc là khó đọc và sửa đổi sau này. Rất dễ nhầm lẫn giữa tín hiệu nào là dowo và tín hiệu nào là tối đa.
Hầu hết các bus được đánh số bằng cách sử dụng "N dowo 0", trong đó bit 0 là ít quan trọng nhất và N là đáng kể nhất. Bởi vì điều này, dowo là quan trọng nhất trong hai. Và vì chúng tôi không muốn trộn lẫn dowo và tối đa, nên tối đa được đưa ra khởi động. Trong mọi trường hợp tôi đã sử dụng tối đa, tôi đã rất hối hận và cuối cùng thường viết lại mã.
Hiểu rằng việc sử dụng / lạm dụng tối đa chủ yếu trở thành một vấn đề trong các "chương trình" lớn. Nó làm cho việc chia sẻ các mô-đun (còn gọi là tái sử dụng mã) trở nên khó khăn và khó duy trì và gỡ lỗi mã. Nếu bạn chỉ viết một hoặc hai trang VHDL thì có thể không vấn đề gì. Nhưng nếu bạn đang viết các bản đồ họa với hơn 30.000 dòng VHDL thì đây sẽ là một vấn đề lớn.
Chỉ có một vài nhược điểm khi chỉ sử dụng dowo. Nhưng nhược điểm là rất nhỏ so với các vấn đề tôi gặp phải khi trộn lẫn dowo và tối đa.
Như một lưu ý phụ: Người quyết định làm cho các thanh PowerPC bị đảo ngược (với bit 0 là bit có ý nghĩa nhất) sẽ bị hắc và bị biến đổi. Hoặc ít nhất bị buộc phải xem Richard Simmons 24x7 trong khi bị biệt giam. Chỉ cần nói.
Chúng tương đương nhau, và đó chỉ là sở thích cá nhân mà bạn sử dụng. downto
thường được sử dụng cho các bus địa chỉ hoặc dữ liệu, trong đó việc đọc từ trái sang phải bạn bắt đầu với bit thứ tự cao nhất.