Cấu trúc FPGA của hãng Xilin

Một phần của tài liệu Thiết kế bộ vi xử lý 8 bit sử dụng công nghệ FPGA (Trang 33 - 41)

16 Nguyễn Chí Kiên

2.2.3.3.2.3. Cấu trúc FPGA của hãng Xilin

Cấu trúc của Spartan-IIE ( 1.8V) FPGA: Họ Spartan-IIE (Lõi 1.8V) của FPGA đ−a ra các kỹ thuật FPGA phát triển nhất ngày nay, bao gồm cho phép lập trình với nhiều chuẩn vào ra nh− LVDS, LVPECL, HSTL, các khối RAM on-chip, các vòng khoá độ giữ chậm cho phép quản lý clock ở mức board và mức chip. Hơn nữa họ Spartan-IIE có một ý nghĩa giá trị khác đó là nó loại bỏ sự cần thiết các sản phẩm tiêu chuẩn chuyên dụng ( ASSP ) với các ứng dụng đơn giản, chẳng hạn nh−

vòng khoá pha, FIFO, các bộ chuyển đổi vào ra, điều khiển Bus hệ thống, các thành phần này đã không thể thiếu để hoàn thiện một thiết kế mà nó đã đ−ợc dùng tr−ớc đây.

- Họ Spartan-IIE là đòn bẩy cơ bản cho các tính năng về cấu trúc của Virtex-E để đ−a ra những tính năng nổi trội hơn. Cấu trúc CLB (Configurable Logic Block -

29 Nguyễn Chí Kiên Chí Kiên

Khối logic cho phép định cấu hình) có chứa RAM đ−ợc phân phối để thực hiện các chức năng logic cơ bản.

- Bốn DLL ( Delay Locked Loop ) vòng khoá độ giữ chậm đ−ợc sử dụng cho bộ quản lý đồng hồ và có thể thực hiện clock đối xứng lệch và các phép nhân clock, chia clock. Clock đối xứng lệch có thể đ−ợc thực hiện bên ngoài (Mức board) hoặc ở bên trong (Mức cơ bản ) chip.

- Các khối Block RAM gồm 4Kb cho mỗi khối có thể đ−ợc xắp xếp độ rộng từ1 đến 16 bit.

- Đặc tính Select I/O cho phép giao tiếp với nhiều chuẩn khác nhau để thực thi trong các vùng kết nối với các chip có chuẩn IO khác nhau, kết nối chip với bộ nhớ, kết nối chip với các giao tiếp ẩn.

Hỡnh 2.2.3.3.2.3. (a) Cấu trỳc của Spartan - IIE

- Họ Spartan-IIE FPGA đ−ợc thực thi với cấu trúc CLB cho phép lập trình linh hoạt, thông dụng, mà các CLB này đ−ợc bao bởi một vòng các khối I/O lập trình đ−ợc, các đ−ờng nối đ−ợc kết nối bởi các nguồn tài nguyên định tuyến đa năng. Cấu trúc này cũng đ−a ra các chức năng đ−ợc nâng cao chẳng hạn nh− khối RAM và các khối điều khiển clock.

30 Nguyễn Chí Kiên Chí Kiên

Hình 2.2.3.3.2.3. (b) Sơ đồ khối của Spartan -IIE

Hình 2.2.3.3.2.3. (c) Khối Input/Output Spartan -IIE (I/OB)

I/O Block

- Các đặc tính I/OB của các đầu vào và đầu ra đ−ợc hỗ trợ tới 19 các chuẩn tín hiệu khác nhau, bao gồm LVDS, BLVDS, LVPECL, LVCMOS, HSTL, SSTL và GTL .

31 Nguyễn Chí Kiên Chí Kiên

- Các đầu vào ra tốc độ cao này có khả năng hỗ trợ với tất cả các bộ nhớ hiện đại và giao tiếp bus khác. Chúng gồm ba thanh ghi chức năng hoặc là các flip - flop loại D đ−ợc kích hoạt bằng s−ờn hoặc là các bộ chốt nhạy mức (Hình 2.10).

- Mỗi một IOB có một đ−ờng CLK đ−ợc đ−a tới ba thanh ghi theo một đ−ờngdùng chung và các đ−ờng CE cho mỗi thanh ghi hoàn toàn độc lập xem Hình 2.10. Ngoài các đ−ờng CLK, CE, mỗi thanh ghi đều có chung một đ−ờng SET/RESET. Với mỗi thanh ghi bạn có thể đặt tín hiệu Set/Reset này nh− tín hiệu Set đồng bộ, Reset đồng bộ, Preset không đồng bộ hoặc một tín hiệu xoá (Clear) không đồng bộ.

- Trong một số các chuẩn I/O yêu cầu điện áp Vcco hoặc Vref, các điện áp này chúng đ−ợc nối tới các chân của thiết bị khi thiết kế, các chân này chúng tạo thành từng nhóm của các khối vào ra và chúng đ−ợc gọi là Bank.

- Chính vì vậy, sự hạn chế về các chuẩn vào của một thiết bị sẽ do các Bank quyết định. Tám Bank vào ra đ−ợc tách theo mỗi cạnh của FPGA và đ−ợc chia thành hai Bank chính (Xem hình 3.3.2.3. (d)). Mỗi Bank có nhiều chân điên áp Vcco và tất cả chúng đều đ−ợc nối tới cùng một đ−ờng điện áp. Điện áp này đ−ợc xác định bởi các chuẩn đầu ra ng−ời dùng.

Hình 2.2.3.3.2.3. (d) Các Bank chuẩn vào ra I/O của Spartan -IIE

- Một số chuẩn đầu vào mong muốn một điện áp ng−ỡng nào đó mà nó đ−ợc cung cấp bởi ng−ời dùng chẳng hạn nh− Vref. Tr−ờng hợp này, các chân I/O ng−ời dùng đ−ợc xắp đặt tự động nh− các đầu vào cho điện áp lấy mẫu Vref. Khoảng một trong 6 các chân vào ra của các Bank đóng vai trò này. Các chân Vref trong một bank

32 Nguyễn Chí Kiên Chí Kiên

đ−ợc nối bên trong và vì vậy chỉ một điện áp Vref có thể đ−ợc sử dụng trong mỗi bank .Tất cả các chân Vref trong các bank cần phải đ−ợc nối với nguồn điện áp bên ngoài để chúng hoạt động đúng. Để có sự trao đổi nhanh giữa các tín hiệu, các chân tín hiệu đầu vào cần phải đ−ợc cung cấp tr−ớc khi nguồn cấp vào chân Vccint và chân Vcco và phải đảm bảo không có đ−ờng dẫn dòng ng−ợc từ các chân I/O quay về điện áp nguồn cung cấp Vccint và Vcco (Có nghĩa là đảm bảo cho thiết bị có thể hoạt động ở một điện áp và giao tiếp ở một điện áp, hai điện áp này có thể khác nhau ).

Configurable Logic Blok và Logic Cell

- Các đơn vị cơ bản của CLB (Khối logíc cho phép định cấu hình) thuộc họ thiết bị Spartan-IIE chính là các Logic Cell mà ta đã biết. Mỗi một Logic Cell bao gồm một bộ tạo chức năng (Hay bộ tạo hàm) gồm 4 đầu vào, phần tử logic nhớ và phần tử l−u trữ (Flip-Flop loại D).

- Đầu ra của bộ tạo chức năng của mỗi Logic Cell điều khiển cả đầu ra CLB hoặc đầu vào D của Flip-Flop. Mỗi một CLB có chứa bốn Logic Cell và đ−ợc tổ chức thành hai Slice t−ơng tự nhau, một slice đơn có dạng nh− (Hình 2.12). Thêm vào bốn bộ LC cơ bản, các CLB của Spartan-IIE có chứa phần tử logic mà nó kết hợp với các bộ tạo chức năng để đ−a ra các chức năng 5 hoặc 6 đầu vào .

Look-Up tables ( LUT )

- Các bộ tạo chức năng của Spartan -IIE thực hiện nh− LUT có bốn đầu vào. Để hoạt động nh− một bộ tạo chức năng, mỗi một LUT có thể cung cấp một RAM 16x1bit đồng bộ. ơn nữa hai LUT trong một Slice có thể đ−ợc kết hợp để tạo một RAM 16x2 bit hoặc 32x1 bit đồng bộ .

33 Nguyễn Chí Kiên Chí Kiên

Hình 2.2.3.3.2.3. (e) Cấu trúc Logic Cell hay một Slice đơn trong Spartan -IIE - Các phần tử l−u trữ trong slice của Spartan-IIE có thể đ−ợc xem nh− một Flip-Flop loại D kích hoạt bằng s−ờn, hoặc nh− một bộ chốt nhạy mức. Các đầu vào D có thể đ−ợc điều khiển hoặc bởi bộ tạo chức năng trong slice hoặc trực tiếp từ đầu vào các slice (bỏ qua bộ tạo chức năng). Thêm vào các đ−ờng Clock (CLK) và Clock Enable (CE) (xem Hình 3.3.2.3. (e)), mỗi Slice có các tín hiệu set và reset đồng bộ (SR và BY). Đ−ờng SR ép các phần tử l−u trữ về trạng thái khởi tạo, đặc biệt trong tr−ờng hợp nhồi cấu hình. Đ−ờng BY ép phần tử l−u trữ về trạng thái ng−ợc lại. Có thể lựa chọn hai đ−ờng này để chúng hoạt động không đồng bộ. Tất cả các tín hiệu điều khiển có thể đảo ng−ợc một cách hoàn toàn độc lập và chúng đ−ợc chia sẻ bởi hai Flip-Flop trong một Slice.

- Arithmetic Logic Bộ dồn kênh F5IN ở trong mỗi Slice đ−ợc kết hợp với các đầu ra bộ tạo chức năng đ−ợc chỉ ra ở hình d−ới đây.

34 Nguyễn Chí Kiên Chí Kiên

Hình 2.2.3.3.2.3. (f) Bộ dồn kênh F5 và F6

Sự kết hợp này sẽ đ−a ra hoặc một bộ tạo hàm mà nó có thể thực thi bất kỳ 5 đầu vào chức năng nào, hoặc một bộ dồn kênh 4:1 hoặc các chức năng đ−ợc chọn lựa của chín đầu vào. T−ơng tự, bộ dồn kênh F6 kết hợp các đầu ra của bốn bộ tạo chức năng trong CLB bằng việc chọn một trong hai đầu ra của bộ dồn kênh F5. Điều này cho phép thực thi bất kỳ một hàm 6 đầu vào nào, một bộ dồn kênh 8:1, hoặc chức năng đ−ợc chọn lựa lên đến 19 đầu vào.

Block RAM Họ Spartan-IIE FPGA hợp nhất một vài bộ nhớ RAM theo khối thành khối lớn hơn (gọi là SelectRAM +), có nghĩa là cần phải bổ xung thêm các LUT RAM đã đ−ợc dùng. Kiến trúc bộ nhớ không bền vững này đ−ợc thực hiện trong các CLB. Các khối bộ nhớ RAM Block chúng đ−ợc tổ chức theo các cột . Hầu hết họ Spartan -IIE có chứa hai cột nh− nhau, mỗi một cột đ−ợc bố trí dọc theo chiều đứng . Họ XC2S400E có bốn cột RAM khối, mỗi cột này đ−ợc kéo dài hết chiều cao của chip. Mỗi một khối nhớ chính gồm bốn CLB cao và vì vậy mỗi Spartan-IIE có 8 CLB cao sẽ chứa hai khối nhớ trên mỗi cột và tổng cộng có bốn khối .

Delay - locked loop (DLL) Đ−ợc kết hợp với mỗi bộ đệm đầu vào clock toàn cục và là một vòng khoá độ giữ chậm số DLL mà nó loại trừ đ−ợc sự lệch giữa bộ đệm đầu vào clock và các chân đầu vào clock bên trong thiết bị. Bộ DLL giám sát oàn bộ clock đầu vào và clock đ−ợc phân phối, tự động điều chỉnh phần tử giữ chậm clock. DLL cung cấp các pha vuông 900 của clock nguồn mà có thể nhân đôi, hoặc

35 Nguyễn Chí Kiên Chí Kiên

chia bởi các hệ số 1.5 , 2, 2.5 , 3, 4 , 5 , 8 hoặc 16 ( Xem hình d−ới đây ).

Hình 2.2.3.3.2.3. (g) Vòng giữ chậm DLL

36 Nguyễn Chí Kiên Chí Kiên

Chơng 3: Ngôn ngữ mô tả phần cứng HDL

(hardware description languages)

Hiện nay các mạch tích hợp ngày càng thực hiện đ−ợc nhiều chức năng hơn, do đó chúng ngày càng trở nên phức tạp hơn. Các ph−ơng pháp thiết kế mạch truyền thống nh− dùng tối thiểu hoá hàm Boolean hay dùng sơ đồ các phần tử không còn đáp ứng đ−ợc các yêu cầu đặt ra khi thiết kế. Hơn nữa các mạch thiết kế ra yêu cầu phải đ−ợc thử nghiệm kỹ l−ỡng tr−ớc khi đ−a vào chế tạo hàng loạt.

Cùng với sự phát triển nhanh chóng của các loại thiết bị logic lập trình đ−ợc, các ngôn ngữ lập trình cho các loại thiết bị đó đ−ợc gọi là ngôn ngữ mô phỏng phần cứng (HDL) làm ph−ơng tiện thiết kế, mô phỏng thử nghiệm các hệ thống số. Hiện nay có nhiều ngôn ngữ mô tả phần cứng nh−: VHDL, Verilog HDL, ABEL, HDL, State Machine Editor, Schematic Editor …

Trong khuôn khổ luận văn tốt nghiệp tôi sẽ giới thiệu về một ngôn ngữ mô phỏng phần cứng thông dụng hiện nay; Đó là ngôn ngữ mô phỏng phần cứng dùng cho mạch tích hợp tốc độ cao (Very high speed Intergrated Circuit Hardware

Description Language).

Một phần của tài liệu Thiết kế bộ vi xử lý 8 bit sử dụng công nghệ FPGA (Trang 33 - 41)

Tải bản đầy đủ (PDF)

(110 trang)