Cấu trúc tổng quan của Spartan-3 gồm có năm thành phần có chức năng khả
44
• CLBs bao gồm các LUTs rất linh động có chức năng thực thi các logic và các phần tử nhớ dùng như là các Flip-Flop hoặc các chốt. CLB thực hiện phần lớn các chức năng logic như là lưu dữ liệu, …
• IOBs điều khiển dòng dữ liệu dữa các chân vào ra I/O và các logic bên trong của FPGA. IOBs hỗ trợ luồng dữ liệu hai chiều và hoạt động logic ba trạng thái. Hỗ trợ phần lớn các chuẩn tín hiệu, bao gồm một vài chuẩn tốc độ cao như DDR.
• Block RAM cho phép lưu trữ dữ liệu dưới dạng các khối dual-port 18-Kbit.
• Multiplier Blocks cho phép hai số nhị phân 18 bits làm đầu vào và dễ dàng tính toán tích của chúng.
• Khối DCM cung cấp khả năng tự xác định xung clock, là giải pháp số hoàn chỉnh cho các tín hiệu clock phân phối, trễ, nhân, chia và dịch bit.
Các phần tử này được tổ chức như trong hình sau:
45
Từ hình vẽ thấy rằng, các IOBs bao quanh các mảng CLBs, riêng Spartan-3E chỉ có một vòng các IOBs. Mỗi cột block RAM bao gồm một vài block RAM 18- Kbit, mỗi block RAM lại gắn liền với một bộ Multiplier dành riêng. Các DCM được
đặt ở các vị trí: hai DCM phía trên và hai cái phía dưới của thiết bị, và đối với các thiết bị lớn hơn thì có thêm các DCM ở phía bên cạnh [7]
Đặc điểm chung mạng Spartan-3 là kết nối liên thông giữa năm phần tử cơ bản này và truyền tín hiệu giữa chúng. Mỗi thành phần chức năng này có một ma trận chuyển mạch dành riêng để cho phép chọn lựa kết nối cho phép chọn lựa kết nối cho việc đi dây trong FPGA.