Ngày nay điện tử kỹ thuật số được sử dụng ngày càng rộng rãi so với các thiết bị điện tử tương tự. Nhiều ứng dụng trước đó được thực hiện mạch tương tự thì hiện nay phù hợp hơn đã được thay thế bằng công nghệ kỹ thuật số. Một lĩnh vực phát triển nhanh chóng là liên lạc vô tuyến, nơi mà thông tin được gửi như sóng radio.Điều này đòi hỏi một dạng sóng sin được tạo ra có thể mang thông tin. Sin này là tương đối đơn giản để tạo ra trong thiết bị điện tử tương tự và khá phức tạp để tính toán cho mạch kỹ thuật số. Các phương pháp tương tự có hai nhược điểm: đó là khó kiểm soát tần số chính xác và khó thao tác với tín hiệu tạo ra. Chúng ta có thể sử dụng một bộ vi xử lý để tính sin, nhưng trong luận văn này sẽ tập trung vào việc tìm hiểu và thực hiện trên ASIC (Application Specific Integrated Circuit, một phương pháp tùy biến phần cứng cho một nhu cầu cụ thể): đó là làm thế nào để tạo ra phần cứng tính sin. Công cụ chính của ASIC được sử dụng là FPGA Field Programmable Gate Array, cụ thể là trên kit DE2.
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
Trang 2
TP HỒ CHÍ MINH, THÁNG 1 NĂM 2011 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHŨ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập – Tự do – Hạnh phúc - - - -
Số: /BKĐT Khoa: Điện – Điện tử Bộ Môn: Điện tử NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP
HỌ VÀ TÊN: MSSV: 40602371 NGÀNH: ĐIỆN TỬ LỚP: DD06DV05 1 Đề tài: “TÌM HIỂU ỨNG DỤNG TỔNG HỢP TẦN SỐ TRONG FPGA" 2 Nhiệm vụ (Yêu cầu về nội dung và số liệu ban đầu):
3 Ngày giao nhiệm vụ luận văn:
Trang 35 Họ và tên người hướng dẫn: Phần hướng dẫn
1 2 Nội dung và yêu cầu LVTN đã được thông qua Bộ Môn
Tp HCM, ngày … tháng… năm 2011
CHỦ NHIỆM BỘ MÔN NGƯỜI HƯỚNG DẪN CHÍNH
PHẦN DÀNH CHO KHOA, BỘ MÔN:
Người duyệt (chấm sơ bộ):
Trang 4TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN – ĐIỆN TỬ Độc lập – Tự do – Hạnh phúc
- - - -
Ngày … tháng … năm 2011 PHIẾU CHẤM BẢO VỆ LUẬN VĂN (Dành cho người hướng dẫn) 1. HỌ VÀ TÊN: -MSSV: 40602371 NGÀNH: ĐIỆN TỬ 2. Đề tài: “TÌM HIỂU ỨNG DỤNG TỔNG HỢP TẦN SỐ TRONG FPGA" 3. Họ tên người hướng dẫn: ThS VÕ KỲ CHÂU 4. Tổng quát về bản thuyết minh: Số trang ……… Số chương ………
Bảng số liệu ……… Số hình vẽ ………
Số tài liệu tham khảo ……… Phần mềm tính toán ………
5. Những ưu điểm chính của LVTN ………
………
6. Những thiếu sót của LVTN ………
………
Đề nghị: Được bảo vệ Bổ sung thêm để bảo vệ Không được bảo vệ 7. Câu hỏi sinh viên trả lời trước Hội Đồng a. ………
b. ………
c. ………
d. ………
e. ………
8. ĐÁNH GIÁ CHUNG (bằng chữ: GIỎI, KHÁ, TB)…………Điểm: … ………
Trang 6TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN – ĐIỆN TỬ Độc lập – Tự do – Hạnh phúc
- - - -
Ngày … tháng … năm 2011 PHIẾU CHẤM BẢO VỆ LUẬN VĂN (Dành cho người phản biện) 1. HỌ VÀ TÊN: MSSV: 40602371 NGÀNH: ĐIỆN TỬ 2. Đề tài: “TÌM HIỂU ỨNG DỤNG TỔNG HỢP TẦN SỐ TRONG FPGA" 3. Họ tên người hướng dẫn: ThS VÕ KỲ CHÂU 4. Tổng quát về bản thuyết minh: Số trang ……… Số chương ………
Bảng số liệu ……… Số hình vẽ ………
Số tài liệu tham khảo ……… Phần mềm tính toán ………
5. Những ưu điểm chính của LVTN ………
………
6. Những thiếu sót của LVTN ………
………
Đề nghị: Được bảo vệ Bổ sung thêm để bảo vệ Không được bảo vệ 7. Câu hỏi sinh viên trả lời trước Hội Đồng a. ………
b. ………
c. ………
d. ………
e. ………
8. ĐÁNH GIÁ CHUNG (bằng chữ: GIỎI, KHÁ, TB)…………Điểm: ………
Trang 8Luận văn tốt nghiệp hoàn thành là thành quả của gần 5 năm học tập rèn luyện
và hơn 3 tháng miệt mài nghiên cứu Trong suốt thời gian làm luận văn em đã học tậprất nhiều kiến thức cũng như bổ trợ thêm những gì đã học ở giảng đường
Em xin gửi lời cảm ơn sâu sắc đến thầy VÕ KỲ CHÂU, người đã tận tìnhhướng dẫn và giúp đỡ em trong suốt thời gian hoàn thành luận văn này
Em xin gửi lời cảm ơn quý thầy cô khoa Điện – Điện Tử trường Đại Học BáchKhoa Tp Hồ Chí Minh, những người đã tận tình giảng dạy em trong suốt khóa học,giúp em có được những kiến thức bổ ích để phục vụ trong công tác và cuộc sống
Xin cảm ơn các bạn đã chia sẽ cùng em những kiến thức để em có điều kiệnhoàn thành luận văn này
Vốn kiến thức còn hạn chế, thời gian làm luận văn không nhiều nên còn nhiềuthiếu sót và hạn chế Em rất mong nhận được nhiều sự chỉ bảo và hướng dẫn của thầy
cô để luận văn của em được hoàn thiện
Trang 9TÓM TẮT
Ngày nay điện tử kỹ thuật số được sử dụng ngày càng rộng rãi so với các thiết bị điện tử tương tự Nhiều ứng dụng trước đó được thực hiện mạch tương tự thì hiện nay phù hợp hơn đã được thay thế bằng công nghệ kỹ thuật số
Một lĩnh vực phát triển nhanh chóng là liên lạc vô tuyến, nơi mà thông tin được gửi như sóng radio.Điều này đòi hỏi một dạng sóng sin được tạo ra có thể mang thông tin Sin này là tương đối đơn giản để tạo ra trong thiết bị điện tử tương tự và khá phức tạp để tính toán cho mạch kỹ thuật số Các phương pháp tương tự có hai nhược điểm: đó là khó kiểm soát tần số chính xác và khó thao tác với tín hiệu tạo ra Chúng ta có thể sử dụng một bộ vi xử lý để tính sin, nhưng trong luận văn này sẽ tập trung vào việc tìm hiểu và thực hiện trên ASIC (Application Specific
Integrated Circuit, một phương pháp tùy biến phần cứng cho một nhu cầu cụ thể): đó
là làm thế nào để tạo ra phần cứng tính sin
Công cụ chính của ASIC được sử dụng là FPGA - Field Programmable Gate Array, cụ thể là trên kit DE2
Trang 10MỤC LỤC NỘI DUNG:
DANH SÁCH CÁC BẢNG
Chương 2:
Trang 11Bảng 2 1.Tóm tắt các ASIC.
Bảng 2.2.Các loại bộ nhớ cho FPGA của altera
Bảng 2.3.Tóm tắt FPGA Altera và các tài nguyên liên quan
Bảng 2.4 Các loại bộ nhớ cho FPGA của xilinx
Bảng 2.5 Tóm tắt FPGA xilinx và các tài nguyên liên quan
Chương 3:
Bảng 3.1.Đặc tính pp SURD
Bảng 3.2.Đặc tính pp ROM/LUT
Bảng 3.3.Một số đặc điểm của pp xấp xỉ Hutchinsons
Bảng 3.4 Một số đặc điểm của pp Sunderland
Bảng 3.5.Đặc tính của pp Curticapean
Bảng 3.6 Một số đặc tính của pp nội suy đa thức
Bảng 3.7.Một vài phương pháp tìm hệ số đa thức
Trang 12DANH SÁCH CÁC HÌNH
Chương 1:
Hình 1.1 Sơ đồ bộ tổng hợp tần số đơn giản.
Hình 1.2 Minh họa về cấu trúc tổng hợp tần số cơ bản
Hình 1.3.Sơ đồ khối bộ DDFS đơn giản
Hình 1.4 Minh họa bước nhảy bộ tích lũy pha
Chương 2:
Hình 2.1.Kiến trúc tổng quan FPGA
Hình 2.2.Cấu trúc một khối logic của FPGA
Hình 3.5.Đánh giá sai số phương pháp Hutchinsons
Hình 3.6 Đánh giá sai số phương pháp Sunderland
Hình 3.7 Đánh giá sai số phương pháp Curticapean
Chương 4:
Hình 4.1.Minh họa phép quay cordic
Hình 4.2.Sơ đồ khối KIT DE2
Trang 13Hình 4.3.Cấu trúc bộ DDFS đơn giản.
Hình 4.4.Sơ đồ khối giải thuật CORDIC
Hình 4.5.Mô phỏng giải thuật CORDIC bằng Matlab
Trang 14DANH SÁCH CÁC TỪ VIẾT TẮT
DDFS Direct Digital Frequency Synthesis ROM Read Only MemoryRAM Random Access MemoryPSAC Phase to Sine Amplitude ConverterDSP Digital Signal ProcessingASIC Application-Specific Integrated CircuitIC Integrated CircuitFPGA Field-programmable gate arrayPLD Programmable Logic DeviceCMOS Complementary Metal-Oxide-SemiconductorCPLD Complex Programmable Logic DeviceLAB Logic Array BlockALM Adaptive Logic ModuleLE Logic ElementCLB Configurable Logic BlockLUT Look Up TableFA Full Adder
Trang 15SURD Symmetry Using Range Divider.MSB Most Significant BitLSB Least Significant BitCORDIC
Trang 16PHẦN 1
LÝ THUYẾT
Trang 17Chương 1
TỔNG QUAN
Thuật ngữ viết tắt DDFS đại diện cho kỹ thuật tổng hợp tần số số trực tiếp, có nghĩa
là một cách để tạo ra một làn sóng sine với một tần số nhất định Phương pháp nàycũng sử dụng một tín hiệu clock để xác định thời gian giữa một phép tính và phép tính
kế tiếp DDFS thường chứa một bộ đếm phase đếm từ 0 đến một giá trị nào đấy, và sau
đó khởi động lại, và lại tiếp tục đếm lên một số cho Giá trị đếm này được xử lý như 1phase (góc, ở đây gọi là xN) và sau đó được gửi đến một khối PSAC để tính toán mộtgiá trị sin Giá trị sin này sau đó theo thời gian có hình dạng của một làn sóng sin vớitần số chính xác mà đã được đưa đến DDFS
Tổng hợp tần số là một kỹ thuật sử dụng các khối xử lý tín hiệu số để tạo ra một tínhiệu đầu ra có thể điều chỉnh được về tần số và pha tham chiếu từ một nguồn xung cốđịnh, có độ chính xác cao Về bản chất, tần số tham chiếu được chia xuống trong khốiDDFS bằng hệ số tỷ lệ đặt trước trong một từ nhị phân lập trình được.Từ nhớ này cóchiều dài từ 16 đến 32 bits, cho phép khối DDFS triển khai có khả năng cung cấp độphân giải tần số khá cao
Trang 18Hình 1.1.Sơ đồ bộ tổng hợp tần số đơn giản
Trong trường hợp này, thông tin biên độ số cái tương đương với một chu
kỳ đầy đủ của sóng sin được lưu trong ROM ROM do đó có chức năng giống như mộtbảng tra cứu hàm sin Bộ đếm địa chỉ nhảy tới từng vị trí nhớ, và nội dung về biên độsóng sin được đưa tới bộ chuyển đổi D/A tốc độ cao Khối này tạo ra tín hiệu hình sintương tự, tương ứng với từ lối vào số từ PROM Tần số đầu ra của DDS triển khai theo
mô hình này phụ thuộc vào:
- Tần số của xung clock hệ thống
- Kích cỡ bước nhảy sóng sin, cái được lập trình vào trong PROM
Độ chính xác, độ mịn và công suất AC của đầu ra của kiến trúc đơn giản này làkhá tốt, song nó thiếu sự điều chỉnh linh hoạt Tần số đầu ra chỉ có thể thay đổi nếuthay đổi tần số xung tham chiếu hoặc lập trình lại PROM
Nếu ta đưa vào bộ tích lũy pha, kiến trúc này trở thành một máy phát dao dộng điều khiển số và có thể điều chỉnh tần số
Trang 19
Hình 1.2 Minh họa về cấu trúc tộng hợp tần số cơ bản
Ở đây một bộ đếm biến N bít (phase accumulator) và thanh ghi pha đã thay thế bộ
đếm địa chỉ, chức năng nhớ làm cho khối này giống như một vòng pha trong kiến trúc DDFS Để hiểu chức năng cơ bản này, ta xem dao động sóng sin giống như một véc-
Trang 20tơ quay quanh một vòng pha Mỗi điểm trên vòng pha tương ứng với những điểm trên dạng sóng sin Khi véc-tơ quay, dạng sóng sin được tạo ra Một vòng quay của véc-tơ dẫn tới một chu kỳ của sóng sin tại đầu ra Bộ tích lũy pha được dùng để cung cấp mộtgiá trị đầu vào cho bộ PSAC Giá trị trong bộ tích lũy pha tương ứng với các điểm trênmột chu kỳ đầu ra của sóng sin Số điểm pha rời rạc chứa trong một vòng pha được quyết định bởi độ phân giải của bộ tích lũy pha Đầu ra của bộ tích lũy pha là tuyến tính và không thể được sử dụng trực tiếp để tạo ra sóng sin hoặc bất kì một dạng sóng nào khác.
Hình 1.3.Sơ đồ khối bộ DDFS đơn giản
Bộ tích lũy pha thực sự là một mô-đun đếm N bít, nó tăng giá trị được lưu trong nó mỗi khi nhận một xung clock Giá trị được cộng vào được xác định bởi một từ số ở đầu vào Giá trị đầu vào này tạo nên kích thước bước pha, nó tác động tới số điểm trên một chu kì sóng tạo ra Kích thước bước nhảy càng lớn bộ tích lũy pha càng nhanh
tràn và sóng sin tạo ra càng nhanh hơn, tần số tạo được càng cao, tuy nhiên độ phân giải tần số sẽ giảm xuống
Trang 21
Hình 1.4.Minh họa bước nhảy bộ tích lũy pha
1.3 Mục đích
Mục đích đề tài này là trình bày các phương pháp có thể dùng để tạo sóng sine
và cách tạo một bộ PSAC đơn giản dùng FPGA
Trang 22Chương 2: Giới thiệu EMD GVHD:
Và để tìm hiểu về ứng dụng tổng hợp tần số thì trước tiên ta phải hiểu rõ về công
cụ thực hiện – đó là FPGA
2.2 Tìm hiểu về FPGA:
2.2.1 Công nghệ ASIC:
Thuật ngữ ASIC (được phát âm là “A-sic”) là từ cấu tạo bằng (chữ viết tắt của) những
từ đầu của nhóm từ “Application –Specific Integrated Circuit”, tạm dịch là mạch tích
hợp ứng dụng cụ thể Trước khi tìm hiểu xem ASIC có nghĩa là gì, ta hãy xem xét sự
phát triển của chip silic (silicon chip) hoặc vi mạch IC (Integrated Circuit)
Các IC được chế tạo trên một miếng silic (silicon wafer) dạng tròn, mỏng (dày khoảng
vài trăm micron), với mỗi một miếng silic chứa vài trăm khuôn (die, đôi khi người ta
sử dụng thuật ngữ dies hoặc dice để chỉ số nhiều của die) Các transistor và việc nối
dây được chế tạo từ nhiều lớp (layer) (thông thường từ 10 đến 15 lớp phân biệt), các lớp được thành lập bên trên một lớp khác Mỗi một lớp mặt nạ (mask layer) kế tiếp có một kiểu mẫu (pattern) được xác định bằng cách sử dụng một mặt nạ, tương tự như bản kính dương chụp ảnh (glass photographic slide) Khoảng sáu lớp đầu tiên xác định
các transistor Khoảng sáu lớp sau cùng xác định các dây kim loại giữa các transistor,
ta gọi là liên kết nối (interconnect).
Trang 23Chương 2: Giới thiệu EMD GVHD:
Một IC hoàn toàn tùy vào khách hàng, full-custom IC, bao gồm nhiều ( có thể tất cả)
cell logic theo yêu cầu của khách hàng và tất cả các lớp mặt nạ cũng theo yêu cầu của
khách hàng Một bộ vi xử lý là một ví dụ cho full-custom IC những người thiết kế mất vài giờ cho việc nhét phần lớn trong số mỗi một micron vuông sau cùng của không gian chip vi xử lý theo cách thủ công Việc làm theo yêu cầu của khách hàng mọi tính chất của IC theo cách này cho phép những người thiết kế bao gồm, ví dụ như, các
mạch tương tự (analog circuit), các cell nhớ được tối ưu hóa, hoặc các cấu trúc cơ khí
trên một IC Việc sản xuất và thiết kế các full-custom IC là đắt tiền nhất Thời gian sảnxuất (thời gian chỉ dùng để làm ra một IC không bao gồm thời gian thiết kế) (thời gian giữa lúc bắt đầu và lúc hoàn thành một quá trình sản xuất mới) điển hình là tám tuần lễcho một full-custom IC Các full-custom IC chuyên dụng này thông thường được dự định dành cho một ứng dụng cụ thể, do vậy ta có thể gọi một số trong chúng là các
full-custom ASIC
Tiếp theo ta sẽ đề cập tóm tắt các full-custom ASIC, còn các thành viên của họ ASIC
mà ta quan tâm nhiều hơn là các ASIC tùy thuộc một phần vào khách hàng,
semicustom ASIC Các semicustom ASIC đều có các cell logic được thiết kế trước và một số (có lẽ tất cả) lớp mặt nạ tùy thuộc vào khách hàng Việc sử dụng các cell được thiết kế trước từ một thư viện cell ( cell library ) làm cho chúng ta với tư cách là
những người thiết kế ngày càng dễ dàng hơn Có hai loại semicustom ASIC mà ta sẽ
khảo sát: các ASIC dựa trên cell chuẩn (standard cell-based ASIC) và các ASIC dựa trên dải cổng (gate array-based ASIC) Tiếp theo loại ASIC ta sẽ mô tả các ASIC lập trình được ( programmable ASIC ) Các ASIC lập trình được đều có các cell logic
được thiết kế trước và không có lớp mặt nạ nào tùy thuộc vào khách hàng Có hai loại ASIC lập trình được: các linh kiện (hay ta sẽ gọi là chip) logic lập trình được PLD (
Programmable Logic Device ) và thành viên mới nhất của họ ASIC ( thời điểm năm
1997), dải cổng hiệu ứng trường lập trình được hay dải cổng lập trình được dạng
trường FPGA ( Field-Programmable Gate Array).
Trang 24
Chương 2: Giới thiệu EMD GVHD:
logic cells được thiết kế sẵn cell library
một vài hoặc tất cả mask layers được thiết kế theo yêu cầu user
• Các khối logic cơ bản lập trình được (logic block)
• Hệ thống mạch liên kết lập trình được
• Khối vào/ra (IO Pads)
• Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý
FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dụng ASIC, nhưng nếu
so sánh FPGA với những ASIC đặc chế hoàn toàn (full -custom ASIC) hay ASIC thiết
Trang 25Chương 2: Giới thiệu EMD GVHD:
kế trên thư viện logic ( Semi-custom ASIC) thì FPGA không đạt đựợc mức độ tối ưu như những loại này, và hạn chế trong khả năng thực hiện những tác vụ đặc biệt phức tạp, tuy vậy FPGA ưu việt hơn ở chỗ có thể tái cấu trúc lại khi đang sử dụng, công
đoạn thiết kế đơn giản do vậy chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng
Còn nếu so sánh với các dạng vi mạch bán dẫn lập trình được dùng cấu trúc mảng
phần tử logic như PLA, PAL, CPLD thì FPGA ưu việt hơn các điểm: tác vụ tái lập
trình của FPGA thực hiện đơn giản hơn; khả năng lập trình linh động hơn; và khác biệtquan trọng nhất là kiến trúc của FPGA cho phép nó có khả năng chứa khối lượng lớn
cổng logic (logic gate), so với các vi mạch bán dẫn lập trình được có trước nó.
Thiết kế hay lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn ngữ mô tả
phần cứng HDL như VHDL, Verilog, AHDL, các hãng sản xuất FPGA lớn như Xilinx,Altera thường cung cấp các gói phần mềm và thiết bị phụ trợ cho quá trình thiết kế, cũng có một số các hãng thứ ba cung cấp các gói phần mềm kiểu này như Synopsys, Synplify Các gói phần mềm này có khả năng thực hiện tất cả các bước của toàn bộ quy trình thiết kế IC chuẩn với đầu vào là mã thiết kế trên HDL (còn gọi là mã RTL).FPGA được thiết kế đầu tiên bởi Ross Freeman, người sáng lập công ty Xilinx vào
năm 1984, kiến trúc mới của FPGA cho phép tích hợp số lượng tương đối lớn các phần
tử bán dẫn vào 1 vi mạch so với kiến trúc trước đó là CPLD FPGA có khả năng chứa tới từ 100.000 đến hàng vài tỷ cổng logic, trong khi CPLD chỉ chứa từ 10.000 đến
100.000 cổng logic; con số này đối với PAL, PLA còn thấp hơn nữa chỉ đạt vài nghìn đến 10.000
CPLD được cấu trúc từ số lượng nhất định các khối SPLD (Simple programable
devices, thuật ngữ chung chỉ PAL, PLA) SPLD thường là một mảng logic AND/OR
lập trình được có kích thước xác định và chứa một số lượng hạn chế các phần tử nhớ
đồng bộ (clocked register) Cấu trúc này hạn chế khả năng thực hiện những hàm phức
Trang 26Chương 2: Giới thiệu EMD GVHD:
tạp và thông thường hiệu suất làm việc của vi mạch phụ thuộc vào cấu trúc cụ thể của
vi mạch hơn là vào yêu cầu bài toán
Kiến trúc của FPGA là kiến trúc mảng các khối logic, khối logic, nhỏ hơn nhiều nếu đem so sánh với một khối SPLD, ưu điểm này giúp FPGA có thể chứa nhiều hơn các phần tử logic và phát huy tối đa khả năng lập trình của các phần tử logic và hệ thống mạch kết nối, để đạt được mục đích này thì kiến trúc của FPGA phức tạp hơn nhiều so với CPLD
Một điểm khác biệt với CPLD là trong những FPGA hiện đại được tích hợp nhiều
những bộ logic số học đã sơ bộ tối ưu hóa, hỗ trợ RAM, ROM, tốc độ cao, hay các bộ
nhân cộng (multication and accumulation, MAC), thuật ngữ tiếng Anh là DSP slice
dùng cho những ứng dụng xử lý tín hiệu số DSP
Ngoài khả năng tái cấu trúc vi mạch toàn cục, một số FPGA hiện đại còn hỗ trợ tái cấutrúc cục bộ, tức là khả năng tái cấu trúc một bộ phận riêng lẻ trong khi vẫn đảm bảo hoạt động bình thường cho các bộ phận khác
Ứng dụng
Ứng dụng của FPGA bao gồm: xử lý tín hiệu số DSP, các hệ thống hàng không, vũ trụ,
quốc phòng, tiền thiết kế mẫu ASIC (ASIC prototyping), các hệ thống điều khiển trực
quan, phân tích nhận dạng ảnh, nhận dạng tiếng nói, mật mã học, mô hình phần cứng máy tính
Do tính linh động cao trong quá trình thiết kế cho phép FPGA giải quyết lớp những bàitoán phức tạp mà trước kia chỉ thực hiện nhờ phần mềm máy tính, ngoài ra nhờ mật độcổng logic lớn FPGA được ứng dụng cho những bài toán đòi hỏi khối lượng tính toán lớn và dùng trong các hệ thống làm việc theo thời gian thực
2.2.3 Cấu trúc cơ bản của FPGA :
Cấu trúc tổng thể của một FPGA được minh họa ở hình sau :
Trang 27Chương 2: Giới thiệu EMD GVHD:
Hình 2.1.Kiến trúc tổng quan FPGA
Trong tài liệu hướng dẫn của các dòng FPGA của Xilinx còn sử dụng khái niệm
SLICE, 1 Slice tạo thành từ gồm 4 khối logic, số lượng các Slices thay đổi từ vài nghìnđến vài chục nghìn tùy theo loại FPGA
Trang 28Chương 2: Giới thiệu EMD GVHD:
Nếu nhìn cấu trúc tổng thể của mảng LUT thì ngoài 4 đầu vào kể trên còn hỗ trợ thêm
2 đầu vào bổ sung từ các khối logic phân bố trước và sau nó nâng tổng số đầu vào của LUT lên 6 chân Cấu trúc này là nhằm tăng tốc các bộ số học logic
Hình 2.2.Cấu trúc khối logic 1 FPGA
H
ệ th ố ng m ạ ch liên k ế t
nhỏ|200px|Khối chuyển mạch của FPGA Mạng liên kết trong FPGA được cấu thành từcác đường kết nối theo hai phương ngang và đứng, tùy theo từng loại FPGA mà các đường kết nối được chia thành các nhóm khác nhau, ví dụ trong XC4000 của Xilinx có
3 loại kết nối: ngắn, dài và rất dài Các đường kết nối được nối với nhau thông qua các
khối chuyển mạch lập trình được (programable switch), trong một khối chuyển mạch
chứa một số lượng nút chuyển lập trình được đảm bảo cho các dạng liên kết phức tạp khác nhau
Trang 29Chương 2: Giới thiệu EMD GVHD:
Bộ nhớ (memories):
sử dụng các khối bộ nhớ đồng bộ, thường cấu hình như ROM, RAM, thanh ghi dịch hoặc bộ đệm FIFO, và sử dụng với nhiều kích thước khác nhau Ví dụ như kích thước
4 kbits = 212 bit có thể được cấu hình như là 8 bit × 512, hoặc 32 bit × 128 Bộ nhớ có
thể có cổng duy nhất (single port - SP) hoặc cổng đôi (dual port - DP), nghĩa là có thể truy cập vào nội dung bộ nhớ từ một hoặc hai phía
Trang 30Chương 2: Giới thiệu EMD GVHD:
Hình 2.3.DP RAM
2.2.4 Các họ FPGA thường gặp:
Altera:
Altera có một số họ FPGA phổ biến với 1 vài điểm khác nhau thường là :
Khối logic : khối logic dựa trên các thành phần cơ bản là LABs ( logic Array Blocks), gồm có 8-10 ALMs ( Adaptive Logic Module) hoặc10-16 LE ( Logical Element)
• LE tiêu biểu thường gồm một LUT 4 ngõ vào(4-LUTs), 1 bộ FA and 1 D-FF một vài chip còn bổ sung bộ FA vào LUT
• ALM tiêu biểu thường gồm bốn 4-LUTs , 2 bộ Fas và 2 D-FF, nhưng có thể được cấu hình như 2 5-LUTs với 2 D-FF , hoặc 1 6-LUTs với 1 D-FF
BỘ NHỚ : có nhiều loại khác nhau xem bảng dưới
Trang 31Chương 2: Giới thiệu EMD GVHD:
Bộ nhân : được tích hợp bộ nhân 18 × 18 và hầu hết có thể cấu hình thành 2 bộ (9 × 9 ) hoặc 1 bộ (18 × 18)
Bảng 2.2.Các loại bộ nhớ cho FPGA của altera
Bảng 2.3.Tóm tắt FPGA Atera và các tài nguyên liên quan
Xilinx :
Có 2 họ với một vài điểm khác nhau như :
Khối logic : khối logic dựa trên các thành phần cơ bản là CLBs ( configurable Logic Blocks), gồm có 2 hoặc 4 Slices Các slices của CLB chứa 2 bảng LUT 4 ngõ vào , mạch logic nhớ và điều khiển ( carry & control logic ) và 2 thanh ghi (D-FF) ngoài ra còn có 2 mạch đệm ba trạng thái kết hợp với mỗi CLB, có thể được truy cập bởi mọi ngõ ra của CLB.(BI GIANG NGUE LI)
Trang 32Chương 2: Giới thiệu EMD GVHD:
BỘ NHỚ : có 2 loại khác nhau xem bảng dưới
Bộ nhân : bộ nhân điển hình là bộ nhân có dấu 18 × 18 và không giống như FPGA của
Altera ta không thể cấu hình chúng trở thành không dấu Để làm một phép nhân khôngdấu, phải hy sinh bit dấu, do đó thường 17x17 bit được sử dụng
Bảng 2.4.Các loại bộ nhớ cho FPGA của Xilinx
Bảng 2.5.Tóm tắt FPGA Xilinx và các tài nguyên liên quan
Trang 33
Chương 2: Giới thiệu EMD GVHD:
Phương pháp này sẽ giảm pha đầu vào từ 0-360o còn 0-90o nhờ vào tính đối xứng củasóng sin Phương pháp này có thể được ứng dụng trong các thuật toán khác nhau, giúpgiảm thiểu phạm vi đầu vào cho các chức năng và cân bằng các kết quả đầu ra
nhờ đó mà tài nguyên sử dụng chỉ còn 25% so với ban đầu Phương pháp SURD được
chia thành hai phần PreSURD và PostSURD, PreSURD xử lí pha đầu vào (1 - x), và
PostSURD xử lí kết quả đầu ra ( −sin(90◦ x) , −sin(90◦ (1 – x))
Lưu ý rằng các giá trị xN trong phương trình trên có nghĩa là một số 0 đến 4(0 ≤ xN <4), trong đó xQ là 2 MSBs của xN với xQ có giá trị 0, 1, 2 hoặc 3 và 0 ≤ x <1.
Trang 34Chương 2: Giới thiệu EMD GVHD:
Lưu ý rằng xN chỉ là một số nhị phân, và sử dụng một dấu chấm thập phân giữa
Trang 35Chương 2: Giới thiệu EMD GVHD:
Lợi ích Các thuật toán có thể được thiết kế với
lượng tài nguyên ít hơn rất nhiều Hạn chế Chậm hơn dùng 1 ROM đủ lớn để chứa
toàn bộ 0-360o
Các đặc tính khác Phương pháp này không ảnh hưởng đến
độ chính xác của kết quả, nhưng sẽtăng TCO và TSU Tùy vào thuật toán khác được sử dụng, tuy nhiên nó sẽ tiết kiệm tải (loads) của ROMS và FAs
Trang 36Chương 2: Giới thiệu EMD GVHD:
Lợi ích Dễ thực hiện, độ trễ thấp
Hạn chế Tài nguyên tăng theo cấp số nhân với đầu
vào rộngCác đặc tính khác Kết quả chính xác ,thích hợp cho mô
phỏng và FPGAs với ROMs lớn và hiệu suất cao
Bảng 3.2.Đặc tính pp rom/lut
3.4 Phương pháp phân tích ( decomposition):
Đây cũng có thể xem là 1 phương pháp ROM/LUT nhưng có nhiều cải tiến với cáccách tính xấp xỉ khác nhau giúp cho việc tính toán chính xác và chất lượng ngõ ra tốthơn
Chia N- 2 bit đầu vào thành C (Coarse) MSB và F (Fine) LSB, trong đó N = 2 +C+F
(trong đó 2 MSBs dành riêng cho SURD) Đặt x = xC + xF là giá trị biểu diễn bởi cácbit C và F, được minh họa trong hình 2.3 Hoặc trong trường hợp phép xấp xỉ
Sunderland : cho N = 2+C+D+F và x = xC + xD +xF theo cách tương tư như trên
Hình 3.3.Phân tích x thành 2 thành phần