Mảng tổng hợp mảng tổng hợp không phải là một nhà điều hành. Nó là một cấu trúc ngôn ngữ VHDL
để gán giá trị cho một đối tượng của kiểu dữ liệu mảng. Đối với các kiểu dữ liệu std-logic-vector,
cách đơn giản nhất để bày tỏ một số tổng hợp là sử dụng một tập hợp các giá trị tiêu chuẩn logic bên trong
dấu ngoặc kép. Ví dụ, nếu chúng ta muốn gán giá trị là "10100000" cho
một tín hiệu, nó có thể được viết như
một <= lllOIOOOOO1l;
Một cách khác là để liệt kê mỗi giá trị của phần tử ở vị trí tương ứng, được
biết đến như là hiệp hội định vị . Việc chuyển nhượng trước đó trở thành
một <= ( 'I>,' OJ, 'l', 'OJ1' 0'1'0 '', O ',' O ');
Chúng tôi cũng có thể sử dụng hình thức chỉ số => giá trị cho xác định rõ ràng các giá trị cho mỗi chỉ số,
được gọi là hiệp hội đặt tên. Những tuyên bố có thể được viết như
một <= (7 => '1J, 6 =>' 0 ', O =>' O ', l =>' O ', 5 =>' 1 ',
4 =>' 0 ' , 3 => '0', 2 => '0');
60 cấu trúc ngôn ngữ CƠ BẢN cỦA VHDL
Nó có nghĩa là giá trị kết hợp với chỉ số 7 (tức là, một (7)) là l ', giá trị liên quan
với chỉ số 6 là "0", và như vậy. Lưu ý rằng thứ tự của các cặp chỉ số => giá trị không
thành vấn đề. Chúng tôi có thể kết hợp các chỉ số, như trong
một <= (7) 5 => 'IJ, 6) 4 ~ 3.121.110 =>' 0 ');
hoặc sử dụng một từ dành riêng, những người khác, bao gồm tất cả các chỉ số không sử dụng, như trong
một <= (715 => '1', những người khác => 'OJ);
một thường xuyên gặp phải mảng tổng hợp là tất cả O, mà được sử dụng trong việc khởi tạo
của một truy cập hoặc một phần bộ nhớ. Ví dụ, nếu chúng ta muốn gán "00000000" cho
một tín hiệu, chúng ta có thể viết
một <= (những người khác => 'O');
Nó là nhỏ gọn hơn
một <= "00000000" ~;
Mã này vẫn giữ nguyên thậm chí khi chiều rộng của một tín hiệu này sau đó được sửa đổi.
đang được dịch, vui lòng đợi..
