ðại Học Quốc Gia Tp. Hồ Chí Minh
TRƯỜNG ðẠI HỌC BÁCH KHOA
-------------------------
NGUYỄN XUÂN NAM
THIẾT KẾ DSP PROCESSOR TMS320C25
TRÊN FPGA
Chuyên ngành: KỸ THUẬT ðIỆN TỬ
LUẬN VĂN THẠC SĨ
TP. HỒ CHÍ MINH, tháng 07 năm 2009
ðại Học Quốc Gia Tp. Hồ Chí Minh
TRƯỜNG ðẠI HỌC BÁCH KHOA
-------------------------
NGUYỄN XUÂN NAM
THIẾT KẾ DSP PROCESSOR TMS320C25
TRÊN FPGA
Chuyên ngành : KỸ THUẬT ðIỆN TỬ
LUẬN VĂN THẠC SĨ
TP. HỒ CHÍ MINH, tháng 07 năm 2009
CÔNG TRÌNH ðƯỢC HOÀN THÀNH TẠI
TRƯỜNG ðẠI HỌC BÁCH KHOA
ðẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Cán bộ hướng dẫn khoa học: ThS. HỒ TRUNG MỸ, TS. HÀ HOÀNG KHA
(Ghi rõ họ tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1:
(Ghi rõ họ tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2:
(Ghi rõ họ tên, học hàm, học vị và chữ ký)
Luận văn thạc sĩ ñược bảo vệ tại HỘI ðỒNG CHẤM BẢO VỆ LUẬN VĂN
THẠC SĨ
TRƯỜNG ðẠI HỌC BÁCH KHOA, NGÀY
THÁNG
NĂM
ðẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ðẠI HỌC BÁCH KHOA
----------------
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
ðộc Lập - Tự Do - Hạnh Phúc
---oOo---
Tp. HCM, ngày . . . . . tháng . . . . . năm 2009
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên : NGUYỄN XUÂN NAM
Ngày, tháng, năm sinh : 25/03/1980
Chuyên ngành : KỸ THUẬT ðIỆN TỬ
Mã số ngành : 605270
MSHV : 0140 7347
Khoá : 2007
Giới tính: Nam
Nơi sinh: Ninh Bình
1- TÊN ðỀ TÀI: Thiết kế DSP processor TMS320C25 trên FPGA.
2- NHIỆM VỤ LUẬN VĂN:
• Tìm hiểu cơ sở lý thuyết và phương pháp lập trình ngôn ngữ VHDL.
• Ứng dụng ngôn ngữ VHDL ñể thiết kế DSP processor.
• Mô phỏng ñánh giá việc thực thi của DSP processor trên phần mềm Quartus II
7.0 Wed Edition và sau ñó thực hiện trên kit DE2.
3- NGÀY GIAO NHIỆM VỤ :
4- NGÀY HOÀN THÀNH NHIỆM VỤ : 03.07.2009
5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN :
ThS. HỒ TRUNG MỸ, TS. HÀ HOÀNG KHA
Nội dung và ñề cương Luận văn thạc sĩ ñã ñược Hội ðồng Chuyên Ngành thông
qua.
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)
CHỦ NHIỆM BỘ MÔN
QUẢN LÝ CHUYÊN NGÀNH
(Họ tên và chữ ký)
LỜI CẢM ƠN
ðề tài luận văn ñược hoàn thành với sự hướng dẫn và giúp ñỡ rất tận tình của
thầy hướng dẫn trực tiếp Hồ Trung Mỹ, và thầy Hà Hoàng Kha. Xin gửi lời cảm
ơn chân thành ñến thầy.
Xin ñược gửi lời cảm ơn chân thành ñến các thầy cô giáo trường ðại Học
Bách Khoa Tp. Hồ Chí Minh và các thầy cô giáo thuộc lĩnh vực khác, ñã cung
cấp nhiều kiến thức và tạo mọi ñiều kiện thuận lợi cho em hoàn thành khóa học.
Xin chân thành cảm ơn các bạn học viên cao học khóa 2007 ngành Kỹ Thuật
ðiện Tử trường ðại Học Bách Khoa Tp.Hồ Chí Minh ñã nhiệt tình giúp ñỡ trao dồi
kiến thức trong quá trình học tập.
Cuối cùng xin ñược gửi lời cảm ơn ñến gia ñình, bạn bè ñã tạo ñiều kiện thuận
lợi cũng như sự giúp ñỡ về vật chất lẫn tinh thần trong quá trình học tập và thực
hiện luận văn.
Tp. Hồ Chí Minh, ngày 03 tháng 07 năm 2009
Nguyễn Xuân Nam
Tóm Tắt Luận Văn
TÓM TẮT LUẬN VĂN
1. Tìm hiểu về công nghệ FPGA.
2. Tìm hiểu cơ sở lý thuyết và phương pháp lập trình ngôn ngữ VHDL.
3. Sử dụng ngôn ngữ VHDL ñể thiết DSP processor dựa trên cấu trúc của DSP
TMS320C25 của hãng Texas Instruments :
Thiết kế hai khối chính : ñường dữ liệu (datapath), ñiều khiển (control).
Thiết kế khối bộ nhớ : RAM, ROM.
Thiết kế khối thanh ghi.
Thiết kế khối tạo ngắt trong và ngoài.
Thiết kế khối Timer.
4. Chức năng của DSP sau khi ñược thiết kế : ngắt ngoài (INT0,INT1), ngắt trong
(Timer, TRAP), thực hiện chương trình con, tập lệnh ñịnh hướng cho lĩnh vực xử lý số
tín hiệu.
5. Mô phỏng timing các khối thiết kế trên phần mềm Quartus II 7.0 wed Edition.
6. Thực hiện mô phỏng chương trình ví dụ, chương trình thực hiện bộ lọc FIR,
chương trình thực hiện bộ lọc IIR.
Mục Lục
MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU LUẬN VĂN ....................................................... 1
1.1 GIỚI THIỆU CÁC TÍNH CHẤT ðẶC BIỆT CỦA DSP .................................... 1
1.1.1 Các bộ nhân nhanh (Fast Multipliers).... ....................................................... 1
1.1.2 Nhiều ñơn vị thực thi (multiple execution units) ........................................... .1
1.1.3 Truy cập bộ nhớ hiệu quả (efficient memory access)..................................... 1
1.1.4 ðịnh dạng dữ liệu ( format data) ................................................................... 2
1.1.5 Tổ chức hợp lý I/O .......................................................................................... 3
1.1.6 Tập lệnh ñặc biệt ............................................................................................ 3
1.2 CÁC CẤU TRÚC CỦA DSP .............................................................................. 3
1.2.1 Cấu trúc của các bộ xử lý DSP truyền thống ................................................. 3
1.2.2 Các bộ xử lý DSP cải tiến ( xem hình 1.2) ..................................................... 4
1.2.3 Nhiều cấu trúc mới DSP ñược ra ñời ............................................................. 4
1.2.3.1 VLIW (hình 1.3) ...................................................................................... 4
1.2.3.2 SIMD (Single Instruction Multiple Data) ............................................... 5
1.2.3.3 MIMD (Mutiple Instruction Multiple Data)............................................ 6
1.2.4 Xu hướng tương lai......................................................................................... 7
1.3 ỨNG DỤNG CỦA DSP ....................................................................................... 7
1.4 CÔNG VIỆC LIÊN QUAN ðẾN LUẬN VĂN ................................................. 7
1.5 TỔ CHỨC LUẬN VĂN ...................................................................................... 8
CHƯƠNG 2
CÔNG NGHỆ FPGA ................................................ 9
2.1 GIỚI THIỆU FPGA ............................................................................................ 9
2.1.1 Sự phát triển của thiết bị lập trình ñược ........................................................ 9
2.1.2 FPGA là gì .................................................................................................... 11
Mục Lục
2.1.2.1 Các logic block ...................................................................................... 12
2.1.2.2 Các nguồn kết nối .................................................................................. 13
2.1.3 Ứng dụng của FPGA .................................................................................... 13
2.1.4 Quá trình cài ñặt .......................................................................................... 15
2.2 CÁC LOẠI FPGA ............................................................................................. 16
2.2.1 Các công nghệ lập trình chip ....................................................................... 16
2.2.1.1 Cộng nghệ lập trình dùng RAM tĩnh ..................................................... 17
2.2.1.2 Công nghệ lập trình dùng cầu chì nghịch (anti-fuse) ............................ 19
2.2.1.3 Công nghệ lập trình dùng EPROM và EEPROM ................................. 20
2.2.1.4 Tóm tắt các công nghệ lập trình chip .................................................... 22
2.2.2 Các loại FPGA trên thị trường .................................................................... 23
CHƯƠNG 3 NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL ......... 24
3.1 GIỚI THIỆU VHDL ......................................................................................... 24
3.2 THIẾT KẾ VHDL .............................................................................................. 26
3.3 THƯ VIỆN.......................................................................................................... 27
3.4 PACKAGE ........................................................................................................ 28
3.5 ENTITY ............................................................................................................. 29
3.6 ACHITECTURE ............................................................................................... 29
3.7 CONFIGURATION.......................................................................................... 31
3.8 CÁC ðẶC TÍNH CỦA VHDL......................................................................... 31
3.9 ðỐI TƯỢNG DỮ LIỆU VÀ QUÁ TRÌNH ..................................................... 33
3.9.1 Tín hiệu ......................................................................................................... 34
3.9.2 Biến ............................................................................................................... 34
3.9.3 Hằng số ......................................................................................................... 35
3.9.4 Quá trình và câu lệnh quá trình ................................................................... 35
Mục Lục
3.9.5 Câu lệnh tuần tự ........................................................................................... 36
3.9.5.1 Câu lệnh IF ............................................................................................ 36
3.9.5.2 Câu lệnh case ......................................................................................... 36
3.9.5.3 Câu lệnh lặp ........................................................................................... 36
3.9.5.4 Câu lệnh chờ .......................................................................................... 37
3.10 CHƯƠNG TRÌNH CON ................................................................................ 37
CHƯƠNG 4 TẬP LỆNH CỦA DSP TMS320C25 ........................ 38
4.1 CHẾ ðỘ ðỊNH ðỊA CHỈ BỘ NHỚ ................................................................ 38
4.1.1 Chế ñộ ñịa chỉ trực tiếp ................................................................................ 38
4.1.2 Chế ñộ ñịa chỉ gián tiếp ............................................................................... 39
4.1.3 Chế ñộ ñịa chỉ tức thời ................................................................................. 41
4.2 TẬP LỆNH CỦA TMS320C25........................................................................ 42
4.2.1 Nhóm lệnh tham chiếu thanh ghi .................................................................. 43
4.2.1.1 ABS, lệnh trị tuyệt ñối thanh ghi ACC ................................................ 43
4.2.1.2 ADD, cộng thanh ghi ACC với nội dung bộ nhớ dữ liệu ñược dịch..... 44
4.2.1.3 AND, lệnh and nội dung bộ nhớ dữ liệu với thanh ghi ACC ................ 45
4.2.1.4 CMPL, lệnh lấy bù thanh ghi ACC ....................................................... 46
4.2.1.5 LAC, nạp thanh ghi ACC với nội dung bộ nhớ dữ liệu ñược dịch ....... 46
4.2.1.6 LACK, nạp ACC hằng số 8 bit.............................................................. 47
4.2.1.7 OR, lệnh or nội dung bộ nhớ dữ liệu với thanh ghi ACC ..................... 48
4.2.1.8 SACH, lưu trữ 16 bit cao của thanh ghi ACC ....................................... 49
4.2.1.9 SACL, lưu trữ 16 bit thấp của thanh ghi ACC ...................................... 50
4.2.1.10 SUB, trừ thanh ghi ACC với nội dung bộ nhớ dữ liệu ñược dịch....... 51
4.2.1.11 ZALH, nạp 16 bit cao thanh ghi ACC ................................................ 51
4.2.1.12 ZALS, nạp 16 bit thấp thanh ghi ACC ................................................ 52
Mục Lục
4.2.2 Nhóm lệnh thanh ghi phụ và pointer trang dữ liệu ...................................... 53
4.2.2.1 LAR, lệnh nạp thanh ghi phụ ................................................................ 53
4.2.2.2 LARK, lệnh nạp thanh ghi phụ hằng số ................................................ 54
4.2.3 Nhóm lệnh thanh ghi T, P và nhân ............................................................... 54
4.2.3.1 APAC, lệnh cộng nội dung thanh ghi ACC với P ................................. 54
4.2.3.2 LT, lệnh nạp thanh ghi T ....................................................................... 55
4.2.3.3 LTA, lệnh nạp thanh ghi T và tích lũy kết quả nhân trước ñó .............. 56
4.2.3.4 LTD, nạp thanh ghi T, tích lũy kết quả nhân trước ñó
và chuyển dữ liệu................................................................................... 57
4.2.3.5 LTP, lệnh nạp thanh ghi T, lưu trữ thanh ghi P vào ACC .................... 58
4.2.3.6 LTS, lệnh nạp thanh ghi T và trừ kết quả nhân trước ñó ...................... 59
4.2.3.7 MPY, lệnh nhân, nhân với T, lưu trữ kết quả vào P.............................. 60
4.2.3.8 MPYA, lệnh nhân và tích lũy kết quả nhân trước ñó ............................ 61
4.2.3.9 MPYK, lệnh nhân tức thời .................................................................... 62
4.2.3.10 MPYS, lệnh nhân và trừ kết quả trước ñó ........................................... 63
4.2.3.11 PAC, lệnh nạp ACC nội dung của P ................................................... 63
4.2.4 Nhóm lệnh nhảy và gọi chương trình con .................................................... 64
4.2.4.1 B, lệnh nhảy không ñiều kiện ................................................................ 64
4.2.4.2 BGEZ, lệnh nhảy nếu ACC lớn hơn hoặc bằng không ......................... 65
4.2.4.3 BGZ, lệnh nhảy khi ACC lớn hơn không.............................................. 65
4.2.4.4 BLEZ, lệnh nhảy khi ACC nhỏ hơn hoặc bằng không ......................... 66
4.2.4.5 BLZ, lệnh nhảy khi ACC nhỏ hơn không ............................................. 66
4.2.4.6 BNZ, lệnh nhảy khi ACC khác không .................................................. 67
4.2.4.7 BZ, lệnh nhảy khi ACC bằng không ..................................................... 67
4.2.4.8 CALL, lệnh gọi chương trình con ......................................................... 68
4.2.4.9 RET, lệnh trở về từ chương trình con ................................................... 68
4.2.4.10 TRAP, lệnh ngắt ñược ñịnh nghĩa bởi phần mềm ............................... 69
Mục Lục
4.2.5 Nhóm lệnh thao tác bộ nhớ dữ liệu và I/O .................................................. 70
4.2.5.1 IN, lệnh nhập dữ liệu từ cổng vào ......................................................... 70
4.2.5.2 OUT, lệnh xuất dữ liệu ñến cổng ra ...................................................... 70
4.2.6 Nhóm lệnh ñiều khiển ................................................................................... 71
4.2.6.1 DINT, lệnh không cho phép ngắt .......................................................... 71
4.2.6.2 EINT, lệnh cho phép ngắt...................................................................... 72
4.2.6.3 LST, lệnh nạp thanh ghi trạng thái nội dung bộ nhớ dữ liệu ................ 72
4.2.6.4 NOP, lệnh không thực thi ...................................................................... 73
4.2.6.5 SST, lệnh lưu trữ thanh ghi trạng thái vào vùng bộ nhớ dữ liệu .......... 74
4.3 TỔNG SỐ LỆNH THIẾT KẾ CHO DSP ......................................................... 74
4.3.1 Nhóm lệnh tham chiếu thanh ghi ACC ......................................................... 74
4.3.2 Nhóm lệnh thanh ghi phụ và poiter trang dữ liệu ........................................ 74
4.3.3 Nhóm lệnh thanh ghi T, P, và nhân .............................................................. 74
4.3.4 Nhóm lệnh nhảy và gọi chương trình con .................................................... 74
4.3.5 Nhóm lệnh thao tác bộ nhớ dữ liệu và I/O ................................................... 74
4.3.6 Nhóm lệnh ñiều khiển ................................................................................... 74
CHƯƠNG 5 MÔ TẢ CẤU TRÚC CỦA DSP BẰNG NGÔN NGỮ VHDL........ 75
5.1 KIẾN TRÚC CỦA DSP TMS320C25............................................................... 75
5.2 KHỐI TỔNG QUÁT CỦA LÕI DSP ðƯỢC THIẾT KẾ .............................. 77
5.3 KHỐI ðƯỜNG DỮ LIỆU (DATAPATH) ....................................................... 77
5.3.1 Cấu trúc của khối CALU .............................................................................. 77
5.3.1.1 Thanh ghi dịch và kết quả mô phỏng .................................................... 79
5.3.1.2 Kết quả mô phỏng bộ nhân 16x16 bit ................................................... 80
5.3.1.3 Kết quả mô phỏng ALU ........................................................................ 80
5.3.1.4 Kết quả mô phỏng thanh ghi ACC ........................................................ 82
Mục Lục
5.3.2 Cấu trúc của khối bộ ñếm chương trình và ngăn xếp .................................. 82
5.3.2.1 Kết quả mô phỏng PC (program counter) ............................................. 83
5.3.3 Cấu trúc của khối thanh ghi phụ .................................................................. 84
5.4 KHỐI RAM, ROM ............................................................................................ 86
5.4.1 Kết quả mô phỏng khối RAM ....................................................................... 86
5.4.2 Kết quả mô phỏng khối ROM ....................................................................... 86
5.5 KHỐI TIMER .................................................................................................... 87
5.5.1 Kết quả mô phỏng timer ............................................................................... 87
5.6 KHỐI THANH GHI .......................................................................................... 87
5.7 KHỐI TẠO NGẮT............................................................................................. 88
5.8 KHỐI ðIỀU KHIỂN (CONTROL) .................................................................. 88
5.8.1 Giản ñồ ñịnh thời cho lệnh một word........................................................... 88
5.8.2 Giản ñồ ñịnh thời cho lệnh hai word ........................................................... 89
5.8.3 Giản ñồ ñịnh thời cho phục vụ ngắt ............................................................. 89
5.8.4 Sơ ñồ máy trạng thái mô tả hành vi của DSP .............................................. 90
5.8.5 Kết quả mô phỏng khối ñiều khiển (control) và khối thanh ghi khi kết nối với
các khối ñã thực hiện và mô phỏng ở trên ............................................................ 91
CHƯƠNG 6 ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN ðỀ TÀI .........................93
6.1 ỨNG DỤNG CỦA THIẾT KẾ .......................................................................... 93
6.1.1 Ví dụ.............................................................................................................. 93
6.1.2 Bộ lọc FIR..................................................................................................... 99
6.1.3 Bộ lọc IIR .................................................................................................... 104
6.2 HƯỚNG PHÁT TRIỂN ðỀ TÀI .................................................................... 111
Code source …………………………………………………………………… 112
Tài liệu tham khảo ……………………………………………………………. 136
Lý lịch khoa học ………………………………………………………………. 137
Giới Thiệu Luận Văn
CHƯƠNG 1 GIỚI THIỆU LUẬN VĂN
1.1 GIỚI THIỆU CÁC TÍNH CHẤT ðẶC BIỆT CỦA DSP
1.1.1 Các bộ nhân nhanh (Fast Multipliers)
Một trong những thuật toán ñược biết ñến là bộ lọc FIR : y=∑h*x. Hoạt ñộng
chính là nhân và cộng. Phép nhân là hoạt ñộng thường thấy nhất trong xử lý tín hiệu số
(tích chập, phép biến ñổi Fourier, bộ lọc IIR) . Yêu cầu :
- Những hoạt ñộng nhân và tích luỹ nhanh.
- Dịch, nhân và cộng trong một vòng lặp. Mỗi hoạt ñộng yêu cầu một hoặc hai
chu kỳ máy.
- Phát triển phần cứng ñặc biệt cho hoạt ñộng nhân.
Dẫn ñến tất cả processor hiện ñại gồm có ít nhất một hoặc nhiều bộ nhân một chu
kỳ chuyên dụng hoặc các ñơn vị nhân tích luỹ (MAC) ñược tổ hợp lại với nhau.
1.1.2 Nhiều ñơn vị thực thi (multiple execution units)
Cần thực thi công việc tính toán nhiều : trong thời gian thực, bộ lọc số với tốc
ñộ lấy mẫu từ 10-100Khz trong thời gian thực.
Nhiều ñơn vị thực thi ñộc lập ñược yêu cầu hoạt ñộng song song : ALU và
thanh ghi dịch hoạt ñộng song song với các ñơn vị MAC.
1.1.3 Truy cập bộ nhớ hiệu quả (efficient memory access)
Thực hiện một MAC trong một chu kỳ :
- Một chu kỳ nạp lệnh MAC.
- Một chu kỳ nạp một mẫu dữ liệu.
- Một chu kỳ nạp hệ số bộ lọc.
ðể thực hiện tốt yều cầu về bandwith của bộ nhớ lớn. Các phương pháp sau
ñây ñược sử dụng : sử dụng hai hoặc nhiều bank bộ nhớ tách biệt nhau, mỗi bank có
bus riêng của nó, mỗi bank có thể ñọc hoặc viết trong mỗi chu kỳ máy, xem hình 1.1
1
Giới Thiệu Luận Văn
Phần cứng chuyên dụng hỗ trợ cho việc tính toán ñịa chỉ bộ nhớ : các ñơn vị
tạo ñịa chỉ (address generation units).
More optimized DSP processors
General purpose processors
Bus
OR
Early DSP processors
Hình 1.1 Sử dụng một hay nhiều bank bộ nhớ
Trong các thuật toán của DSP, việc truy cập bộ nhớ có thể dự ñoán trước ñược, ví dụ
các hệ số bộ lọc FIR, ñược truy cập thường xuyên, sử dụng :
- ðịa chỉ gián tiếp thanh ghi với việc tăng bổ sung dữ liệu : tăng pointer ñịa chỉ
nơi mà việc tính toán lặp lại nhiều lần ñược thực hiện trên một chuỗi dữ liệu.
- ðịa chỉ vòng (circular addressing) : cho phép bộ xử lý truy cập thường xuyên
dữ liệu và sau ñó tự ñộng quay lại ñịa chỉ ban ñầu.
1.1.4 ðịnh dạng dữ liệu ( format data)
Các thuật toán của DSP thường sử dụng ñịnh dạng dấu chấm ñộng. ðòi hỏi
phần cứng phức tạp hơn dẫn ñến giá thành và công suất tiêu tán cao.
Các bộ xử lý dấu chấm tĩnh : giá thành rẻ và công suất tiêu tán thấp.
Sử dụng ñộ rộng word dữ liệu ngắn nhất, ñảm bảo ñộ chính xác thích hợp (xem
xét ñến giá thành và công suất tiêu tán).
2
Giới Thiệu Luận Văn
1.1.5 Tổ chức hợp lý I/O
Các giao tiếp I/O song song và nối tiếp ñặc biệt.
Các cơ chế ñiều khiển I/O ñược tổ chức hợp lý : DMA (direct memory access)
1.1.6 Tập lệnh ñặc biệt
Có hai mục ñích trong tập lệnh này :
- Maximum việc sử dụng phần cứng, dẫn ñến tăng hiệu quả sử dụng phần cứng.
- Minimum không gian bộ nhớ ñể lưu trữ chương trình DSP (bộ nhớ giá thành
cao).
Làm cho lệnh của DSP phức tạp hơn.
DSP không lập trình ở ngôn ngữ mức cao như : C, C++…
Sự tối ưu chương trình thì cần thiết.
Nhiều lệnh ñơn giản hơn cho các nhà lập trình.
1.2 CÁC CẤU TRÚC CỦA DSP
1.2.1 Cấu trúc của các bộ xử lý DSP truyền thống
Cấu trúc DSP của những thập niên 80 :
- Một lệnh trên một chu kỳ.
- Một bộ multiplier hoặc một ñơn vị MAC, một ALU, một vài ñơn vị thực thi
lệnh.
- Tần số hoạt ñộng 20-50 Mhz.
Ví dụ : họ Analog Device’s ADSP-21xx, họ Texas Instruments TMS320C2xx, họ
Motorola DSP560xx
Cấu trúc DSP của thế hệ giữa :
- Motorola DSP563xx, Texas Instruments TMS320C54x.
- Tốc ñộ xung clock tăng (100- 150Mhz).
- Thêm thanh ghi dịch thùng (barrel register) hoặc cache lệnh.
- Pipeline
- Giá thành, công suất tiêu tán thấp.
3
Giới Thiệu Luận Văn
- Ứng dụng trong modem tốc ñộ cao, ứng dụng truyền thông di ñộng.
1.2.2 Các bộ xử lý DSP cải tiến ( xem hình 1.2)
Các ñơn vị thực thi song song : các ñơn vị nhân và cộng thứ hai ñược thêm
vào.
Các tập lệnh mở rộng : nhiều thao tác hơn trên một lệnh.
Hai MAC trên một chu kỳ xung clock.
Bus dữ liệu rộng hơn : ( nhiều word dữ liệu trên một chu kỳ xung clock).
Hình 1.2 Cấu trúc DSP truyền thống và cải tiến
1.2.3 Nhiều cấu trúc mới DSP ñược ra ñời
Mục ñích làm cho DSP dễ dàng ñược lập, sử dụng lệnh ñơn giản, các lệnh ñược
thực thi trong các nhóm song song, các nhà sản xuất Texas Instruments, Analog
Devices, Motorola sử dụng cấu trúc mới với phương pháp VLIW (very long instruction
word).
1.2.3.1 VLIW (hình 1.3)
Là loại có cấu trúc thực thi nhiều lệnh song song với nhau, cung cấp nhiều ñơn vị
thực thi, mỗi ñơn vị thực thi thực hiện những lệnh riêng của nó, loại tiêu biểu thực hiện
4
Giới Thiệu Luận Văn
bốn hoặc tám lệnh trên một chu kỳ. Các nhà lập trình xác ñịnh lệnh nào sẽ ñược thực
hiện song song. Sử dụng word lệnh 32 bit.
Hình 1.3 Kiến trúc bộ nhớ và các ñơn vị thực thi TMS320C62xx (8 ñơn vị thực thi)
Sự cải tiến là : xác ñịnh ñơn vị chức năng nào sẽ thực thi lệnh, các lệnh có một
vài giới hạn trên việc sử dụng thanh ghi và các chế ñộ ñịnh ñịa chỉ làm dễ dàng hơn
trong việc lập trình assembly.
Sự bất lợi : ñối với lệnh ñơn giản yều cầu nhiều hướng dẫn (dispath) ñể thực thi
công việc, word rộng hơn nên yêu cầu bộ nhớ chương trình nhiều hơn, giá thành chip
cao hơn.
1.2.3.2 SIMD (Single Instruction Multiple Data)
Cùng một lệnh nhưng ñược thực thi bởi nhiều bộ xử lý, trên các chuỗi dữ liệu
khác nhau. Mỗi bộ xử lý có bộ nhớ dữ liệu riêng của nó, nhưng chỉ có duy nhất một bộ
5
Giới Thiệu Luận Văn
nhớ chương trình và bộ xử lý ñiều khiển. Phù hợp cho thuật toán dữ liệu song song cao
và luồng ñiều khiển ít phụ thuộc vào dữ liệu.
processor
processor
Hình 1.4 SIMD
1.2.3.3 MIMD (Mutiple Instruction Multiple Data)
Hình 1.5 MIMD
Mỗi bộ xử lý nạp các lệnh riêng của nó và thực thi trên dữ liệu riêng của nó. Bộ
nhớ có thể chia sẻ hoặc riêng biệt. Linh ñộng trong việc thực hiện công việc bởi một
máy hoặc các máy ña lập trình. Dẫn ñến phần cứng phức tạp và chi phí cao hơn.
6
Giới Thiệu Luận Văn
Các bộ xử lý DSP cung cấp sự pha trộn tốt nhất : sự thực thi, công suất tiêu tán,và
giá thành, sự sẵn có các thanh công cụ ñể phát triển, các ứng dụng yêu cầu sự pha trộn
giữa DSP (tốt trong xử lý tín hiệu số) và microcontroller (tốt trong ñiều khiển).
1.2.4 Xu hướng tương lai
Công việc trong tương lai là cải tiến tốc ñộ, công suất tiêu tán thấp, giảm việc
sử dụng bộ nhớ.
Kiến trúc mới : các bộ gia tốc phần cứng ñược plug-in.
Có thể cấu hình lại chiều dài của word lệnh.
Logic có thể lập trình trên chip.
Hệ thống nhúng.
1.3 ỨNG DỤNG CỦA DSP
Hình 1.6 Ứng dụng DSP
1.4 CÔNG VIỆC LIÊN QUAN ðẾN LUẬN VĂN
Sử dụng phần mềm : Quartus II và modelsim của Altera, phiên bản Wed Edition
7.0 ñể tổng hợp và mô phỏng kết quả.
7
Giới Thiệu Luận Văn
Sử dụng phần cứng : kit DE2 Development and Education Board của Altera ñể
kiểm tra thiết kế DSP dựa trên cấu trúc của TMS320C25 ở mức ñộ phần cứng.
Hình 1.7 Kit DE2
1.5 TỔ CHỨC LUẬN VĂN
Luận văn ñược chia thành sáu chương :
Chương 1 : giới thiệu chung về DSP bao gồm các tính chất và ứng dụng, tổ chức
luận văn và công việc liên quan ñến luận văn.
Chương 2 : giới thiệu công nghệ FPGA.
Chương 3 : giới thiệu ngôn ngữ mô tả phần cứng (VHDL).
Chương 4 : giới thiệu tập lệnh của DSP TMS320C25.
Chương 5 : mô tả cấu trúc của DSP TMS320C25 bằng ngôn ngữ VHDL.
Chương 6 : ứng dụng kết luận và hướng phát triển ñề tài.
8
- Xem thêm -