MỤC LỤC
LỜI NÓI ĐẦU.1
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ FPGA.4
1.1. Giới thiệu chung về FPGA 4
1.1.1. Sự phát triển của các thiết bị khả trình . 4
1.1.2. Field Programmable Gate Array (FPGA) . 6
1.1.3. Các công nghệ lập trình FPGA . 8
1.2. Các ứng dụng của FPGA .14
1.3. Giới thiệu các loại thiết bị FPGA của Xilinx .15
1.3.1. Các loại FPGA trên thị trường . .15
1.3.2. Kiến trúc tổng quát FPGA của Xilinx . .16
1.3.3. FPGA Virtex-II Xilinx . .17
1.3.3.1 Khối vào/ra (IOBs) . 19
1.3.3.2 Cấu hình khối logic (CLB) . 21
1.3.3.3 Tài nguyên kết nối . .28
1.4. Bo mạch phát triển XtremeDSP Development Kit II .28
1.4.1 Kênh ADC . 31
1.4.2 Kênh DAC . .32
1.4.3 Bộ nhớ ZBT SRAM . .34
1.4.4 Reset .34
1.4.5 Cấu trúc BUS .35
1.4.6 LEDs . .36
1.4.7 Đồng bộ toàn hệ thống . .36
KẾT LUẬN CHƯƠNG 1 .38
CHƯƠNG 2: XỬ LÝ TÍN HIỆU SỐ (DSP) VÀ ỨNG DỤNG CỦA DSP TRÊN CÔNG NGHỆ FPGA .39
2.1. Khái quát chung về xử lý tín hiệu số .39
2.1.1. Hệ thống xử lý tín hiệu số . .39
2.1.2. Mô hình hệ thống DSP . .43
2.2. Vai trò của FPGA trong các hệ xử lý tín hiệu số (DSP) .44
2.3. Một số trường hợp ứng dụng .51
2.3.1. Bộ giải mã Viterbi . .51
2.3.2. Bộ lọc số . 54
2.3.3. Số học phân bố nối tiếp . .56
2.3.4. Số học phân bố song song . .64
KẾT LUẬN CHƯƠNG 2. .65
CHƯƠNG 3: NGHIÊN CỨU CÁC PHƯƠNG PHÁP SỐ LỌC MỤC TIÊU DI ĐỘNG CHO CÁC ĐÀI RAĐA .67
Đặt vấn đề .67
3.1. Cấu trúc chùm tín hiệu phản xạ về từ mục tiêu . .68
3.1.1. Cấu trúc của tín hiệu phản xạ . 68
3.1.2. Cấu trúc chùm tín hiệu rađa phản xạ từ mục tiêu . .69
3.2. Phương án lọc mục tiêu di động .71
3.2.1. Cơ sở chung . .71
3.2.2. Bộ tách sóng pha . .74
3.3. Đặc điểm xây dựng các hệ thống số tách mục tiêu di động 77
3.3.1. Các bộ lọc dùng tách mục tiêu di động . . 77
3.3.2. Hệ thống TMD dựa trên bộ bù khử số qua chu kỳ .82
3.3.3. Tách mục tiêu di động bằng phương pháp MTD dựa trên phép biến đổi Fourier nhanh .83
3.3.3.1. Các phương án tổ chức dữ liệu . . . 85
3.3.3.2. Hệ thống TMT dựa trên phép biến đổi Fourier nhanh . .88
3.3.3.3. MTD dùng bộ lọc số dựa trên phép biến đổi Fourier nhanh.89
3.3.3.4. Các phương pháp thực hiện thuật toán FFT . .90
KẾT LUẬN CHƯƠNG 3 92
CHƯƠNG 4: ỨNG DỤNG SYSTEM GENERATOR ĐỂ TẠO CẤU HÌNH CÁC BỘ DSP PHỤC VỤ XỬ LÝ TÍN HIỆU RAĐA . .93
4.1. System Generator . .93
3.4.1. Một vài đặc điểm khi xây dựng mô hình System Generator . .95
3.4.2. Đồng mô phỏng và nạp cấu hình cho FPGA . 98
4.2. Tạo cấu hình các bộ DSP phục vụ xử lý tín hiệu rađa . .100
4.2.1. Bộ lọc không đệ quy (FIR) . . .100
4.2.2. Bộ biến đổi FFT/IFFT . .105
KẾT LUẬN CHƯƠNG 4 . .110
KẾT LUẬN CHUNG . .111
TÀI LIỆU THAM KHẢO.113
PHỤ LỤC .
35 trang |
Chia sẻ: maiphuongdc | Lượt xem: 3637 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu phát triển các hệ FPGA với ứng dụng trong thiết kế các hệ DSP chuyên dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ố lượng phần tử lập trình có thể có các đặc tính khác. Về mặt chế tạo, các phần tử lập trình nếu có thể chế tạo theo công nghệ CMOS chuẩn là tốt nhất. Dưới đây sẽ trình bày chi tiết các công nghệ lập trình FPGA.
a. Công nghệ lập trình dùng RAM tĩnh
Hỡnh 1.3 Cụng nghệ lập trỡnh RAM tĩnh .
Cổng transitor
Bộ dồn kênh
Transistor truyền
RAM
Cell
Dây nối
Dây nối
Đường gọi ra
Dây nối
MUX
RAM
Cell 2
RAM
Cell 1
Dây nối
Dây nối
RAM
Cell
Công nghệ lập trình dùng RAM tĩnh (SRAM) sử dụng công nghệ CMOS tiêu chuẩn. Các kết nối lập trình được điều khiển bằng các transistor khác trên chíp hoặc bật (On) các transistor truyền dẫn cũng như các cổng transistor để tạo một kết nối hay tắt (Off) để ngắt kết nối.
Trong trường hợp transistor truyền dẫn và cổng transistor như hình trên, phần tử RAM Cell điều khiển cổng truyền bật hoặc tắt. Khi tắt giữa hai dây nối với cổng truyền dẫn sẽ có một trở kháng rất cao. Khi bật nó sẽ tạo một trở kháng thấp kết nối giữa hai dây nối. Đối với bộ dồn kênh, SRAM Cell điều khiển ngõ nhập nào của bộ dồn kênh sẽ được nối với ngõ ra của nó. Cách này thường dùng để kết nối tuỳ chọn từ một hay nhiều ngõ nhập của một khối
logic.
Trong các FPGA sử dụng công nghệ lập trình SRAM, các khối logic có thể được kết hợp với nhau qua cách kết hợp cả bộ dồn kênh (Multiplexer) và cổng truyền dẫn (pass-gate). Vì SRAM là bộ nhớ bay hơi, các FPGA này phải được tái cấu hình mỗi khi cấp nguồn cho chíp. Điều này có nghĩa là hệ thống sử dụng các chíp này phải có một số cơ chế lưu trữ thường trực cho các bit của RAM Cell, chẳng hạn ROM hay đĩa từ. Các bit của RAM Cell có thể được nạp vào FPGA một cách tuần tự hay định địa chỉ như một phần tử của mảng (theo cách thông thường của một RAM).
Các chíp được thực hiện theo công nghệ SRAM có diện tích khá lớn, bởi vì cần ít nhất 5 transistor cho mỗi RAM Cell cũng như các transistor cần thêm cho cổng truyền dẫn hay bộ dồn kênh. Ưu điểm của kỹ thuật này là cho phép FPGA có thể được tái cấu hình ngay trên mạch rất nhanh và nó có thể được chế tạo bằng công nghệ CMOS chuẩn.
b. Các thiết bị lập trình cầu chì nghịch (Anti-fuse)
Công nghệ lập trình anti-fuse được sử dụng trong các FPGA của Actel-Corp, Quick Logic và Cross Point Solution. Tuy anti-fuse được sử dụng trong các loại FPGA này có cấu tạo khác nhau, nhưng chức năng của chúng là như nhau. Một anti-fuse bình thường sẽ ở trạng thái cao, nhưng có thể bị “nóng chảy” thành trạng thái điện trở thấp khi được lập trình ở điện thế cao. Dưới đây sẽ giới thiệu cấu tạo của các anti-fuse của Actell và Quick Logic.
Anti-fuse của Actell được gọi là PLICE. Nó cấu trúc hình chữ nhật gồm 3 lớp: Lớp dưới cùng chứa các silic mang nhiều điện tích dương (n+diffusion), lớp giữa là một lớp điện môi (Oxy-Nitơ-Oxy cách điện), và lớp trên cùng là Poly-Silic.
n+diffusion
Poly-Si
metal 1 wire
anti-fuse
metal 2 wire
b) Cấu trúc
n+diffusion
silicon substrate
dielectric
Oxide
Poly_si
a) Mặt cắt ngang
Hình 1.4 Công nghệ lập trình cầu chì nghịch PLICE
Anti-fuse PLICE được lập trình bằng cách đặt một điện thế cao thích hợp (18V) giữa hai đầu của anti-fuse và dòng điều khiển khoảng 5mA qua thiết bị. Dòng và áp này tạo ra một nhiệt lượng đủ nóng bên trong lớp điện môi làm nó nóng chảy và tạo ra một liên kết dẫn điện giữa các điện cực. Các transistor chịu được các điện thế cao được chế tạo bên trong FPGA để đáp ứng cho dòng và điện áp đủ lớn. Cả hai lớp dưới cùng và trên cùng của cầu chì nghịch được nối với các dây kim loại để khi được lập trình cầu chì nghịch sẽ tạo ra một kết nối có trở kháng thấp (300W đến 500W) giữa hai dây kim loại.
Anti-fuse của Quick-Logic được gọi là ViaLink. Nó tương tự như PLICE cũng có ba lớp kim loại. Tuy nhiên, ViaLink sử dụng kim loại mức 1 cho lớp dưới cùng, một hợp chất vô dịnh hình cho lớp giữa và kim loại mức 2 cho lớp trên cùng. Khi ở trạng thái không được lập trình, anti-fuse có trở kháng hàng gigaôm, nhưng khi được lập trình nó sẽ tạo ra một kết nối giữa hai lớp kim loại trở kháng khoảng 80W. Anti-fuse được chế tạo bằng cách thêm 3 mặt nạ đặc biệt trong quy trình chế tạo CMOS thông thường.
ViaLink anti-fuse được lập trình bằng cách đặt một điện thế 10V giữa các đầu của nó, dòng được cấp đủ, trạng thái của Silic vô định hình sẽ thay đổi và tạo ra một liên kết điện giữa hai lớp kim loại. Diện tích các chíp sử dụng kỹ thuật anti-fuse rất nhỏ so với công nghệ khác. Tuy nhiên, bù lại cần phải có không gian lớn cho các transistor điện thế cao cần để giữ cho dòng và áp cao lúc lập trình. Nhược điểm của anti-fuse là quy trình chế tạo chúng phải thay đổi so với quy trình chế tạo SMOS.
oxide
Silic vụ định hỡnh
metal 2
metal 1
Hình 1.5 Công nghệ lập trình cầu chì nghịch ViaLink
c. Công nghệ lập trình dùng EPROM và EEROM
điện trở nguồn
+5v
EPROM transistor
Bit line
gnd
Word line
Floating Gate
Select Gate
Hình 1.6 Công nghệ lập trình EPROM transistor
Công nghệ được dùng trong các FPGA của Altera Corp, và Plus Logic. Công nghệ này giống như sử dụng trong bộ nhớ EPROM. Không giống CMOS transistor đơn giản, một EPROM transistor gồm hai cổng, một cổng treo (floating-gate) và một cổng chọn (select-gate). Cổng treo được đặt giữa cổng chọn và kênh dẫn của transitor, cổng này được gọi như thế vì nó không có kết nối điện đến bất kỳ mạch nào.
ở trạng thái bình thường không được lập trình, không có điện tích giữa cổng treo (floating-gate) và transitor có thể chuyển sang trạng thái ON một cách bình thường bằng cổng chọn (select-gate). Khi transistor được lập trình bằng một dòng điện lớn chạy giữa nguồn và kênh, một điện tích được giữ lại ở cổng treo. Điện tích này làm transistor chuyển sang trạng thái OFF. Bằng cách này, EPROM transistor có thể có chức năng của một phần tử lập trình được. Một EPROM transistor có thể được tái lập trình bằng cách huỷ bỏ lớp điện tích được giữ lại ở cổng treo (phơi dưới ánh sáng cực tím sẽ kích hoạt các electron chuyển từ cổng vào chất nền của transistor).
EPROM transistor được sử dụng trong FPGA theo cách khác với SRAM và anti-fuse thay vì dùng cho lập trình kết nối hai dây, EPROM transistor được sử dụng để “kéo xuống” các ngõ nhập của logic-block.
Như hình vẽ (1.6), một đường dây gọi là “word line” (theo thuật ngữ bộ nhớ) được nối với cổng chọn của EPROM transistor, khi transistor chưa được lập trình ở trạng thái ON. “Word line” có thể làm cho “bit line” không được nối với ngõ nhập của logic-block vì bị kéo về mức logic không. Nhiều EPROM transistor ứng với nhiều “word line” được nối với cùng một “bit line”, khi một điện kéo lên nguồn nối với “bit line”, mô hình không những cho EPROM transistor thực hiện các kết nối mà còn thực hiện các chức năng logic AND nối dây (wired-AND). Nhược điểm của phương pháp này là các điện trở tiêu tốn năng lượng cố định.
Một ưu điểm của EPROM transistor là chúng có thể tái lập trình mà không cần bộ nhớ bên ngoài. Tuy nhiên, không giống SRAM, EPROM transistor không thể được tái lập trình ngay trên bo mạch.
Phương pháp dùng EEPROM (được sử dụng trong các FPGA của Advanced Micro Device-AMD) tương tự như công nghệ EPROM, ngoại trừ EEPROM transistor tốn gấp đôi diện tích chíp so với EPROM transistor và cần nhiều nguồn điện thế (để tái lập trình) mà các loại khác không cần.
Các công nghệ lập trình FPGA được tóm tắt trong bảng dưới đây:
Bảng 1.1 Các đặc tính của công nghệ lập trình
Công nghệ lập trình
Tính bay hơi
Có thể lập
trình
Diện tích chíp
R(Kohm)
C(pf)
Static RAM Cell
Có
Trong mạch
Lớn
1-2
10-20
PLICE
Anti-fuse
Không
Không
Anti-fuse nhỏ
Số transistor lớn
300-500
3-5
ViaLink
Anti-fuse
Không
Không
Anti-fuse nhỏ
Số transistor lớn
50-80
1-3
EPROM
Không
Ngoài mạch
Nhỏ
2-4
10-20
EEPROM
Không
Trong mạch
2xEPROM
2-4
10-20
1.2 Các ứng dụng của FPGA
FPGA là thế hệ sau của IC khả trình nên chúng có thể ứng dụng trong hầu hét các ứng dụng của hiện đang dùng MPGA, PLD và các mạch tích hợp loại nhỏ (SSI).
Các mạch tích hợp là ứng dụng đặc biệt
FPGA là thiết bị tổng quát nhất để thực hiện các mạch lôgic số. Chúng đặc biệt thích hợp cho các mạch tích hợp chuyên dụng đặc biệt (ASIC) như bộ cộng, bộ điều khiển lôgic Flip-Flop...
b. Thiết kế mạch ngẫu nhiên
Mạch lôgic ngẫu nhiên thường được thực hiện bằng PAL. Nếu tốc độ của mạch không đòi hỏi khắt khe (các PAL nhanh hơn hầu hết các FPGA) thì mạch có thể thực hiện bằng FPGA. Hiện nay một FPGA cần từ 10 đến 20 PAL.
c. Thay thế các chíp SSI cho mạch ngẫu nhiên
Các mạch hiện tại trong các sản phẩm thương mại thường chứa nhiều chíp SSI. Trong nhiều trường hợp có thể thay thế bằng FPGA để giảm diện tích bo mạch.
d. Chế tạo mẫu
FPGA rất lý tưởng cho việc tạo mẫu các sản phẩm. Giá thành thực hiện thấp và thời gian thực hiện thiết kế vật lý ngắn, cung cấp các ưu điểm hơn nhiều so với các phương tiện truyền thống khác để chế tạo mẫu phần cứng. Các mẫu ban đầu có thể thực hiện rất nhanh và những thay đổi sau đó được thực hiện rất nhanh và ít tốn kém.
e. Máy tính dựa trên FPGA
Một loại máy tính dựa trên FPGA có thể tái lập trình ngay trên FPGA. Các máy này có một bo mạch chứa các FPGA với các chân nối với các chíp lân cận giống như thông thường. ý tưởng là là một chương trình phần mềm có thể được “biên dịch” (sử dụng kỹ thuật tổng hợp mức cao, mức lôgic và mức sơ đồ bằng tay) vào ngay phần cứng. Phần cứng này sẽ được thực hiện bằng cách lập trình bo mạch FPGA. Phương pháp này có hai ưu điểm chính: một là không cần quá trình lấy lệnh như các bộ xử lý truyền thống vì phần cứng đã gộp cả lệnh. Kết quả là tốc độ có thể tăng lên hàng trăm lần. Hai là, môi trường tính toán có thể thực hiện song song mức cao, làm tăng tốc thêm nữa.
f. Tái cấu hình thành phần trực tiếp
FPGA cho phép có thể thay đổi theo mong muốn cấu trúc của một máy đang hoạt động. Một ví dụ là các thiết bị máy tính từ xa có thể thay đổi trực tiếp để khắc phục sự cố hay có lỗi thiết kế. Kiểu FPGA thích hợp nhất cho ứng dụng này là những FPGA có các chuyển mạch lập trình được.
1.3 Giới thiệu các loại thiết bị FPGA của hãng XILINX
1.3.1 Các loại thiết bị FPGA trên thị trường
Trong nghành công nghiệp chế tạo IC đang phát triển và phạm vi ngày càng mở rộng, chỉ có một số hãng đi đầu và chiếm được thị trường trong việc cung cấp các sản phẩm FPGA. Trong đó phải kể đến ba hãng lớn là: Xilinx, Actel và Altera.
Bảng 1.2. Tóm tắt kiến trúc một số loại FPGA trên thị trường
Công ty
Kiến trúc tổng quát
Kiểu khối logic
CN lập trình
Xilinx
Symmetrical Array
Look-up Table
Static RAM
Actel
Hierachical-PLD
PLD Block
EPROM
Altera
Row-based
Multiplexers-Based
Anti-fuse
Plessey
Sea-of-gates
NAND-gate
Static RAM
Plus
Hierachical-PLD
PLD Block
EPROM
AMD
Hierachical-PLD
PLD Block
EPROM
QuyckLogic
Symmetrical Array
Multiplexers-Based
Anti-fuse
Algotronix
Sea-of-gates
Multiplexers-Based Gate
Static RAM
1.3.2 Kiến trúc tổng quát FPGA của Xilinx
Kiến trúc tổng quát của Xilinx được mô tả như hình vẽ. FPGA gồm một mảng hai chiều các khối lập trình được gọi là các khối logic CLBs (configurable Logic Block) với các kênh Routing (Routing chanel) ngang giữa các hàng Block và các kênh dọc giữa các cột Block. Các nguồn tài nguyên có thể lập trình được điều khiển bởi các SRAM cell. Xilinx gồm có các họ cơ bản là: XC2000, XC3000, XC4000,...Virtex-II, Spartan, Virtex II Pro, theo thứ tự tăng dần về công nghệ và linh hoạt lớn hơn.
Hỡnh 1.7 Cấu trỳc tổng quỏt FPGA của Xilinx
Logic Block
Lập trình được
Kênh routing dọc
Kênh routimg ngang
I/O Block
Sau đây sẽ trình bày các thành phần cơ bản FPGA họ Virtex-II của Xilinx.
1.3.3 FPGA Virtex-II của Xilinx
Kiến trúc Virtex-II được tối ưu hoá cho các thiết kế mật độ và tốc độ cao. Như biểu diễn trên hình vẽ, Virtex-II gồm các khối vào/ra (IOBs) và các khối logic cấu hình (CLBs).
Các khối vào/ra khả trình cung cấp giao diện giữa các chân của vi mạch với các khối logic bên trong.
Virtex-II sử dụng công nghệ hiện đại nhất FPGA. Mật độ tích hợp từ 40k8M cổng hệ thống, tần số xung nhịp bên trong lên đến 420 MHz trong truyền dữ liệu đạt 840Mb/s. Phân cấp bộ nhớ RAM lựa chọn (Select RAM). Chức năng số học gồm khối nhân 18 bit 18 bit chuyên dụng. Tài nguyên logic mềm dẻo gồm hơn 93 thanh ghi nội bộ, 184 bộ chốt, 93184 bảng tìm kiếm (LUT) hay dãy thanh ghi dịch 16 bit và bus nội bộ 3 trạng thái. Mạch điều khiển đồng bộ xụng nhịp lên đến 12 Module điều khiển đồng bộ xung nhịp số (DCM), bộ đệm phân bố xung nhịp toàn bộ thiết bị. Công nghệ kết nối linh hoạt được tích hợp VHDL và Verilog, có thể tạo lại cấu hình từng phần.
Hình1.8: Kiến trúc chung của Virtex-II
Đặc trưng cấu tạo các thành phần trong họ Virtex-II FPGA được tóm tắt trong bảng sau:
Bảng 1.3 Tóm tắt về thiết bị Virtex-II.
Thiết bị
Cổng hệ thống
CLB
(1CLB=4slices=max128bit)
Số bộ nhân
Khối SelectRAM
DCM
Chân vào ra lớn nhất
Ma trận hàng cột
Slices
Max của RAM phân bố
Khối
18Kbit
Max RAM (Kbit)
XC2V40
40K
88
256
8
4
4
72
4
88
XC2V80
80K
168
512
16
8
8
144
4
120
XC2V250
250K
2416
1.526
48
24
24
132
8
200
XC2V500
500K
3224
3.072
96
32
32
576
8
264
XC2V1000
1M
4032
5.120
160
40
40
720
8
432
XC2V1500
1.5M
4840
7.680
240
48
48
864
8
528
XC2V2000
2M
5648
10.572
336
56
56
1.008
8
624
XC2V3000
3M
6458
14.336
448
96
96
1.728
12
720
XC2V4000
4M
8072
23.040
720
120
120
2.160
12
912
XC2V6000
6M
9688
33.792
1.056
144
144
2.592
12
1.104
XC2V8000
8M
112104
46.592
1.456
168
168
3.024
12
1.108
1.3.3.1 Khối vào/ra (IOBs)
Switch
Matrix
IOB
PAD4
IOB
PAD3
IOB
PAD2
IOB
PAD1
Dilferential Pair
Dilferential Pair
Hỡnh 1.9 Khối vào/ra (IOB) của Virtex-II
Các khối vào/ra của Virtex-II được thực hiện trong những nhóm hai hay bốn trên chu vi bao quanh thiết bị. Mỗi khối vào/ra có thể được sử dụng như là đầu vào hoặc/và đầu ra. Hai khối có thể được sử dụng như một cặp vi sai. Mỗi cặp luôn được kết nối tới ma trận chuyển mạch như được thể hiện trên hình 1.9.
Mỗi khối IOB gồm sáu phần tử nhớ được mô tả trong hình 1.10:
Hình 1.10 Khối IOB của Virtex-II
Mỗi phần tử nhớ được cấu tạo từ Flip-flop DSP lật theo sườn dương hay theo mức. ở đầu vào, đầu ra và đường 3 trạng thái có sử dụng một hay hai thanh ghi DDR.
CLOCK
D11
O1
CLkK1
D2
O2
CLkK1
DDR MUX
FDDR
D111
O1
CLkK1
D2
O2
CLkK1
DDR MUX
FDDR
DCM
Hỡnh 1.11 Thanh ghi DDR
Tốc độ dữ liệu kép (DDR) đạt được do hai thanh ghi trên mỗi nhánh được
CLOCK
D11
O1
CLkK1
D2
O2
CLkK1
DDR MUX
FDDR
D111
O1
CLkK1
D2
O2
CLkK1
DDR MUX
FDDR
DCM
Hỡnh 1.11 Thanh ghi DDR
điểm nhịp bởi sườn lên (hay sườn xuống) của các đồng hồ khác nhau. Hai tín hiệu đồng hồ được phát ra bởi DCM và phải được đảo pha như thể hiện trong hình 1.10. Có hai đầu vào, đầu ra và các tín hiệu 3 trạng thái, mỗi tín hiệu được luân phiên điểm nhịp. Trong một đường truyền xung nhịp thì có độ giữ chậm đồng nhất.
Mỗi nhóm thanh ghi có tín hiệu cho phép xung nhịp (ICE cho thanh ghi đầu vào, OCE cho thanh ghi đầu ra và TCE cho thanh ghi ba trạng thái). Tín hiệu cho phép xung nhịp mặc định có mức tích cực cao. Nếu bên trái không được kết nối, cho phép xung nhịp cho phần tử nhớ mặc định ở mức tích cực. Mỗi khối vào/ra IOB có thể thiết lập hay reset đồng bộ hay không đồng bộ (tín hiệu SR và REV). Tín hiệu SR đưa phần tử nhớ vào trạng thái quy định bởi SRHIGHT hay SRLOW. SRHIGHT đưa phần tử vào logic “1”, SRLOW đưa vào trạng thái “0”. Khi SR được sử dụng, tín hiệu vào thứ hai (REV) đưa phần tử nhớ vào trạng thái ngược lại. Điều kiện RESET ưu tiên hơn điều kiện thiết lập. Trạng thái ban đầu được xác định bởi các thuộc tính riêng INIT0, INIT1.
Mặc định, SRLOW bắt buộc thuộc tính INIT0 và SRHIGHT bắt buộc thuộc tính INIT1. Đối với mỗi phần tử nhớ, các thuộc tính SRHIGHT, SRLOW, INIT0, INIT1 độc lập.
FF
LATCH
D1 Q1
CE
CLK1
SR REW
FF
LATCH
D2 Q2
CE
CLK2
SR REW
FF1
DDR MUX
FF2
INT1
INT0
SRHIGHT
SRLOW
1
CLK2
1
REV
SR
CLK1
CE
OQ or TQ
Hình 1.12 Cấu hình của thanh ghi/chốt trong khối (IOB)
Các tuỳ chọn vào/ra.
Đầu vào:
Đầu vào của khối IOB của Virtex-II là đường truyền tín hiệu vào trực tiếp hoặc thông qua lựa chọn đầu vào Flip-Flop hay chốt, hay thông qua thanh ghi đầu vào DDR. Lựa chọn phần tử giữ chậm trên đầu vào D của phần tử cất giữ để loại bỏ thời gian giữ chậm từ đệm đến đệm (pad-to-pad). Giữ chậm đối xứng bên trong phân bố xung nhịp của thiết bị Virtex-II, và khi được sử dụng thời gian giữ chậm từ đệm tới đệm bằng không.
Đầu ra:
Đường đầu ra gồm bộ đệm ba trạng thái điều khiển đường đưa vào đệm. Đầu ra và/hoặc tín hiệu ba trạng thái có thể được truyền dẫn trực tiếp từ khối logic bên trong hoặc từ Flip-Flop (chốt) đầu ra (hay Flip-Flop (chốt) đệm ba trạng thái) thông qua thanh ghi đầu ra DDR hay thanh ghi ba trạng thái. Mỗi đầu ra được điều khiển bằng chương trình lập trình riêng một phạm vi độ rộng của chuẩn điện áp tín hiệu thấp.
1.3.3.2 Cấu hình khối logic (CLB)
Cấu hình khối logic của Virtex-II được sắp xếp thành một mảng và được
Hỡnh 1.13 Phần tử CLB của Virtex II
TBUF X0Y1
SHIFT
COUT
COUT
CIN
CIN
Switch
Matrix
Slice
X1Y1
Slice
X1Y0
Slice
X0Y1
Slice
X0Y0
TBUF X0Y1
Fast
Connects
To neighbors
sử dụng để xây dựng nên tổ hợp và thiết kế logic đồng bộ. Mỗi phần tử CLB được nối tới các ma trận chuyển mạch để truy cập tới ma trận đường dẫn chung. Một phần tử CLB gồm 4 mảnh (Slices) giống nhau với vị trí phản hồi nhanh trong CLB. Bốn mảnh phân thành hai cột (mỗi cột hai mảnh) với hai dãy cờ logic độc lập.
a. Cấu trúc của Slice
ORCY
MUX Fx
LUT G
SRL 16
RAM 16
LUT F
SRL 16
RAM 16
Register
Register
CY
CY
MUX F5
Arithmetic Logic
Hỡnh 1.14 Cấu trỳc Slice của Virtex II
Mỗi slice gồm hai hàm thực hiện (Function generator) 4 đầu vào, cờ logic, các cổng logic số học, bộ dồn kênh rộng và hai phần tử cất giữ, được mô tả trên hình vẽ:
Mỗi hàm tạo 4 đầu vào là khả trình như là LUT-4 đầu vào, 16 bit bộ nhớ lựa chọn RAM phân bố, thanh ghi dịch 16 bit.
Đầu ra từ hàm thực hiện trong mỗi slice điều khiển cả hai đầu ra và đầu vào D của phần tử nhớ thể hiện trên hình sau.
Hình 1.15 Chi tiết một Slice của Virtex-II
b. Cấu hình Slice
- Bảng dò tìm LUT (Lookup table)
Hàm tạo thực hiện như bảng tìm kiếm (LUT) 4 đầu vào. 4 đầu vào độc lập cung cấp cho một trong hai hàm tạo năng trong một Slice (F và G). Hàm tạo có khả năng thực hiện được bất kỳ một hàm Boolean nào của bốn đầu vào. Tín hiệu từ hàm tạo có thể thoát ra khỏi Slice (đầu ra X hoặc Y), đưa tới đầu vào XOR hoặc đầu vào bộ dồn kênh, đầu vào D của phần tử nhớ hay đưa tới MUX 5, đầu vào cờ logic.
Ngoài khối LUT cơ bản slice có thể kết hợp với các hàm tạo khác để tạo ra một hàm có 5, 6, 7, 8 hay 9 đầu vào, tuỳ theo cách kết hợp với các bộ dồn kênh.
Thanh ghi chốt
Phần tử cất nhớ trong slice của Virtex-II được cấu tạo từ Flip-Flop dạng DSP sườn dương hay chốt mức thay đổi. Đầu vào DSP có thể điều khiển trực tiếp bằng đầu ra X, Y thông qua đầu vào DX hay DY hoặc thông qua các đầu vào phụ của hàm tạo thông qua đầu vào BX, BY. Tín hiệu cho phép đồng bộ hoạt động ở trạng thái cao.
Tài nguyên SelectRAM phân bố
Mỗi hàm tạo có thể thực hiện như là một bộ tài nguyên RAM đồng bộ được gọi là phần tử SelectRAM phân bố. SelectRAM phân bố cấu trúc trong một CLB có dạng như sau.
. Single-port 16 8 bit RAM
. Single-port 32 4 bit RAM
. Single-port 64 2 bit RAM
. Single-port 128 1 bit RAM
. Dual-port 16 4 bit RAM
. Dual-port 32 2 bit RAM
. Dual-port 64 1 bit RAM
Với cấu trúc cổng đơn, bộ nhớ SelectRAM phân bố có một cổng địa chỉ đồng bộ đọc và một cổng địa chỉ đồng bộ ghi. Với cấu trúc cổng đôi, bộ nhớ SelectRAM phân bố có cổng đồng bộ ghi và các cổng đồng bộ đọc. Hàm tạo có các địa chỉ tách biệt A1, A2, A3, A4 và địa chỉ đầu vào ghi (WG1/WF1, WG2/WF2, WG3/WF3, WG4/WF4).
Trong kiểu cổng đơn địa chỉ đọc ghi có bus địa chỉ giống nhau. Trong kiểu cổng đôi, một hàm tạo (cổng R/W) được kết nối với các địa chỉ đọc, ghi riêng biệt. Hàm tạo thứ hai có đầu vào A (đọc) được kết nối tới địa chỉ cổng chỉ đọc thứ hai và đầu vào W (ghi) tách biệt với địa chỉ cổng đọc/ghi.
Thanh ghi dịch
Mỗi hàm tạo có thể được cấu tạo như là thanh ghi dịch 16 bit. Thao tác ghi đồng bộ với CLK và tín hiệu lựa chọn CE, thông qua 4 bit địa chỉ, A(30). Ngoài ra có thể kết hợp với các bộ dồn kênh tạo ra các thanh ghi dịch nhiều bit hơn.
Hình 1.16 Cấu trúc của thanh ghi dịch
( Optional )
SHIFT OUT
Registered
Output
Output
CLK
CE (SR)
D(BY)
A[3:0]
SHIFT IN
SRLC 16
SHIFT - REG
A[4:1] D
MC 15
WS DI
WSG
WE
CK
D O
- Các bộ dồn kênh
Trong Virtex-II, hàm tạo kết hợp với bộ dồn kênh có thể thực hiện được:
. 4:1 multiplexer trên một slice
. 8:1 multiplexer trên hai slice
. 16:1 multiplexer trên một CLB element (4 slices)
. 32:1 multiplexer trên hai CLB elements (8 slices)
Mỗi slice có một bộ dồn kênh MUXF5 và một MUXFX có thể là MUXF6, MUXF7, MUXF8. Mỗi CLB có 2 MUXF6, một MUXF7 và một MUXF8. Cách thực hiện nó thể hiện như hình vẽ.
Slice S0
Slice S1
F5
F8
F
G
F5
F6
F
G
F5
F7
F
G
F5
F6
F
G
Slice S3
Slice S2
CLB
Hỡnh 1.17 Cấu trỳc phõn kờnh
- Tài nguyên khối SelectRAM 18 bit
Thiết bị Virtex-II kết hợp một số lượng lớn khối SelectRAM 18 bit. Nó khác hẳn với cấu trúc RAM phân bố cung cấp số lượng phần tử nhớ lớn và nằm độc lập với khối CLB. Mỗi khối SelectRAM của Virtex-II là dạng cổng đôi 18 Kbit với hai hệ thống xung nhịp độc lập, các cổng điều khiển đồng bộ độc lập. Cấu trúc của SelectRAM có các giá trị thay đổi có thể là dạng cổng đơn hay cổng kép.
. Cấu trúc kiểu cổng đơn: RAM cổng đơn, khối SelectRAM có thể truy cập tới 18 Kb vị trí bộ nhớ hay 2Kb 9 bit hoặc 512 36 bit và có thể là 16K 1 bit, 8K 2 bit hoặc 4K 4 bit. Thuận lợi của các độ rộng 9 bit, 18 bit, 36 bit là khả năng cất giữ các bit chẵn lẻ cho mỗi khối 8 bit. Bit chẵn lẻ có thể
được tạo ra hoặc kiểm tra bên ngoài khi sử dụng khối logic.
Mỗi khối ô SelectRAM là bộ nhớ đồng bộ đầy đủ mô tả trên hình. Độ rộng bus dữ liệuđầu vào và bus dữ liệu đầu ra được xác định.
18 Kbit Block Selec RAM
DI
DIP
ADDR
WI
IN
SSR DO
CIK DOP
Hình 1.18 khối SelectRAM kiểu cổng đơn
. Cấu trúc kiểu cổng đôi: RAM cổng đôi, mỗi cổng của khối SelectRAM có thể truy cập tới 18 Kb bộ nhớ. Các cổng này đồng bộ đầy đủ có tín hiệu điều khiển độc lập cho mỗi cổng. Độ rộng bus dữ liệu của hai cổng này có cấu trúc độc lập.
Khối Selec RAM 18Kbit
DIA
DIPA
ADDRA
WEA
ENA DOA
SSRA DOPA
KLKA
DIB
DIPB
ADDRB
WEB
ENA DOB
SSRB DOPA
KLKB
Khối
SelecRAM
18Kbit
Bộ nhõn 18´ 18
Ma trận chuyển mạch
Ma trận chuyển mạch
Ma trận chuyển mạch
Ma trận chuyển mạch
Hình 1.19 Khối SelecRAM trong kiểu cổng đôi và kết hợp với khối nhân
- Khối nhân 1818 bit
Khối nhân của Virtex-II là khối nhân dấu mã bù hai 18 bit. Trong thiết bị Virtex-II có nhiều khối nhân độc lập hoặc kết hợp với SelectRAM khối 18 Kb.
Mỗi bộ nhớ SelectRAM và khối nhân đưa trực tiếp tới ma trận chuyển mạch.
Cấu trúc khối nhân 1818 bit là khối nhân dấu bù hai. Cả đầu vào A, B đều có độ rộng 18 bit và đầu ra là 36 bit.
1.3.3.3 Tài nguyên kết nối
Tài nguyên kết nối tổng thể và địa phương của Virtex-II để tối ưu về tốc độ và có thể dự đoán được thời gian truyền và sẽ làm cho lõi IP dễ dàng thực hiện. Công nghệ kết nối kinh hoạt của Virtex-II có đầy đủ bộ đệm ma trận đường kết nối khả trình. Tất cả nguồn tài nguyên rất thuận lợi cho xử lý phân cấp. Đặc trưng logic liên kết CLBs, IOBs, RAM khối, bộ nhân, và DCMs, tất cả được kết nối tới ma trận chuyển mạch để truy cập tới tài nguyên kết nối toàn bộ.
Switch
Matrix
CLB
Switch
Matrix
IOB
Switch
Matrix
DCM
Switch
Matrix
Switch
Matrix
Switch
Matrix
Switch
Matrix
18Kb
BRAM
MULT
18´18
Hình 1.20 Tài nguyên kết nối
1.4 Bo mạch phát triển XtremeDSP Development Kit II
XtremeDSP Development Kit II là bo mạch phát triển của Virtex-II và cung cấp một hệ thống thực để phát triển các ứng dụng cụ thể.
XtremeDSP Development Kit II chứa 2 board mạch BenONE và BenADDA bao gồm 3 FPGA Xilinx- Hai FPGA người dùng Virtex-II (User FPGA) và 1 FPGA Spartan-II . Hai kênh chấp hành cao ADCs và DACs cũng là lý tưởng cho các ứng dụng xử lý tín hiệu số hiệu năng cao như xử lý tín hiệu vô tuyến, mạng không dây 3G, truyền hình số mặt đất, xử lý hình ảnh, và cũng nhờ có kênh ADC và DAC mà có thể xây dựng các hệ xử lý tín hiệu số một cách hoàn chỉnh với các dữ liệu vào/ra từ máy tính.
Hình 1.22 Bo mạch XtremeDSP Development Kit II
Bo mạch XtremeDSP Development Kit II gồm có một bo mạch mẹ (motherboard) và một bo mạch con (module) nằm trong một hộp độc lập. Bo mạch mẹ lý hiệu là “BenONE-Kit Motherboard” và module con ký hiệu là “BenADDA DIME-II Module”.
BenONE-Kit Motherboad:
- Chỉ hỗ trợ cho module BenADDA DIME-II
- Giao tiếp PCI hay USB 3.3V/5V
- Các đèn LEDs trạng thái
- Các đầu cắm cấu hình JTAG
- Sử dụng các đầu cắm kết nối trực tiếp để lập trình vào/ra cho FPGA.
BenADDA DIME-II Module:
- Dùng cho Virtex-II FPGA: XC2V3000-4FG676
- 2 kênh ADC độc lập: AD6644 ADC (14-bit với tần số 65 MSPS)
- 2 kênh DAC độc lập: AD9772 DAC (14-bit với tần số trên 1