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

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 .

 

 

 

doc35 trang | Chia sẻ: maiphuongdc | Lượt xem: 3653 | Lượt tải: 1download
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

Các file đính kèm theo tài liệu này:

  • docChuong1 Tongquan ve FPGA.doc
  • docChuong2 DSP va ung dung cua DSP tren cong nghe FPGA.doc
  • docChuong3 Phuong phap so loc muc tieu di dongcho cac dai Radar.doc
  • docChuong4 Ung dung System Generator cho tao cac bo DSP xu li tin hieu Radar.doc
  • mdlDoanFFT.mdl
  • mdldoanfft_hwcosim_lib.mdl
  • mdlDoanFFTx.mdl
  • mdldoanfftxx.mdl
  • docHinh XtremeDSP.doc
  • docHinhDSP2.doc
  • docKet Luan.doc
  • docMUCLUC.doc
  • docNV_DATN.DOC
  • docPhuluc.doc
Tài liệu liên quan