Tác giả | Vũ Chiến Thắng |
ISBN | 978-604-82-5540-4 |
ISBN điện tử | 978-604-82-5695-1 |
Khổ sách | 19 x 27 cm |
Năm xuất bản (tái bản) | 2021 |
Danh mục | Vũ Chiến Thắng |
Số trang | 168 |
Ngôn ngữ | vi |
Loại sách | Ebook;Sách giấy; |
Quốc gia | Việt Nam |
FPGA là một loại mạch tích hợp cỡ lớn có thể lập trình được, người dùng có thể sử dụng chúng để lập trình cho hầu hết các chức năng của bất kỳ một thiết kế số nào. Do tính linh động cao, mật độ tích hợp lớn nên FPGA được sử dụng cho những bài toán đòi hỏi khối lượng tính toán lớn và các hệ thống thời gian thực. Một vài ứng dụng điển hình của FPGA như xử lý tín hiệu số DSP, phân tích nhận dạng ảnh, nhận dạng tiếng nói, mật mã học, các hệ thống hàng không, vũ trụ, quốc phòng…
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. Một số hãng sản xuất FPGA 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ác gói phần mềm này có khả năng thực hiện tất cả các bước trong quy trình thiết kế FPGA.
Cuốn sách này trình bày những kiến thức cơ bản về giải pháp phần cứng và phần mềm cho thiết kế FPGA. Ngoài ra, bạn đọc có thể hiểu rõ hơn về quy trình thiết kế FPGA thông qua một số bài toán ví dụ cụ thể. Bố cục cuốn sách được chia làm 4 chương:
Chương 1: Kiến thức cơ sở
Chương 2: Giải pháp phần cứng FPGA
Chương 3: Giải pháp phần mềm cho thiết kế FPGA
Chương 4: Thiết kế mạch số trên KIT FPGA Spartan-3E
Với cách trình bày khoa học, dễ hiểu, cuốn sách này sẽ rất có ích cho nhiều bạn đọc, nhất là sinh viên các ngành Điện tử Viễn thông; Cơ điện tử; Kỹ thuật máy tính; Đo lường, Điều khiển và Tự động hóa.
Trang | |
Lời nói đầu | 3 |
Chương 1: Kiến thức cơ sở | |
1.1. Các khái niệm chung | 5 |
1.1.1. Transistor | 5 |
1.1.2. Cổng logic | 6 |
1.1.3. Vi mạch số tích hợp | 6 |
1.1.4. Phần tử nhớ Flip - flop | 8 |
1.1.5. Mạch logic tổ hợp | 10 |
1.1.6. Mạch logic tuần tự | 11 |
1.1.7. Vi mạch tích hợp chuyên dụng ASIC | 12 |
1.2. Yêu cầu với một thiết kế mạch logic số | 12 |
1.3. Các công nghệ thiết kế mạch logic số | 13 |
1.4. Các phương pháp mô tả mạch logic số | 14 |
1.4.1. Mô tả bằng sơ đồ | 15 |
1.4.2. Mô tả bằng HDL | 15 |
1.5. Giới thiệu về kiến trúc một số vi mạch logic khả trình | 18 |
1.5.1. Bộ nhớ chỉ đọc khả trình PROM | 18 |
1.5.2. Mảng logic khả trình PLA | 20 |
1.5.3. Logic mảng khả trình PAL | 20 |
1.5.4. Mảng logic chung GAL | 22 |
1.5.5. Thiết bị logic khả trình phức hợp CPLD | 23 |
1.5.6. Mảng cổng logic khả trình dạng trường FPGA | 24 |
Chương 2: Giải pháp phần cứng FPGA | |
2.1. Giới thiệu chung về FPGA | 28 |
2.1.1. Khái niệm FPGA | 28 |
2.1.2. Ứng dụng của FPGA | 33 |
2.1.3. Công nghệ tái cấu trúc FPGA | 33 |
2.2. Kiến trúc của FPGA | 35 |
2.2.1. Kiến trúc chung FPGA | 35 |
2.2.2. Cấu trúc nhỏ và cấu trúc lớn | 37 |
2.2.3. Lập trình cho FPGA | 38 |
2.3. Cấu trúc FPGA của Spartan 3E Xinlinx | 38 |
2.3.1. Khối logic khả trình | 39 |
2.3.2. Khối điều khiển vào ra | 54 |
2.3.3. Hệ thống kết nối khả trình | 57 |
2.3.4. Các phần tử khác của FPGA | 59 |
2.4. Các khối giao tiếp có trên mạch xilinx Spartan 3e starter kitboard FPGA | 67 |
2.4.1. Các thành phần chính của Xilinx Spartan 3E Starter Kitboard | 67 |
2.4.2. Mạch nạp JTAG/PLATFORM FLASH XCF04 | 68 |
2.4.3. Khối nguồn Power Supply | 68 |
2.4.4. Khối giao tiếp Keypad | 69 |
2.4.5. Khối Led-Diod | 69 |
2.4.6. Khối Switch | 69 |
2.4.7. Khối giao tiếp 4×7-seg Digits | 69 |
2.4.8. Khối giao tiếp RS232 | 69 |
2.4.9. Khối giao tiếp USB – RS232 | 69 |
2.4.10. Khối giao tiếp PS/2 | 70 |
2.4.11. Khối giao tiếp VGA | 70 |
2.4.12. Khối giao tiếp LCD1602A | 70 |
2.4.13. Khối giao tiếp ADC/DAC | 70 |
2.4.14. Khối giao tiếp Ethernet | 71 |
Chương 3: Giải pháp phần mềm cho thiết kế FPGA | 72 |
3.1. Giới thiệu các phần mềm hỗ trợ thiết kế của hãng Xilinx | 72 |
3.1.1. Công cụ phần mềm ISE | 72 |
3.1.2. Công cụ phần mềm EDK | 73 |
3.1.3. Công cụ phần mềm Sysgen | 73 |
3.2. Quy trình thiết kế FPGA tổng quát | 74 |
3.2.1. Mô tả thiết kế | 75 |
3.2.2. Tổng hợp thiết kế | 76 |
3.2.3. Hiện thực hóa thiết kế | 78 |
3.2.4. Cấu hình FPGA | 82 |
3.5. Ngôn ngữ mô tả phần cứng VHDL | 82 |
3.5.1. Khai báo thư viện | 82 |
3.5.2. Khai báo thực thể | 83 |
3.5.3. Khai báo kiến trúc | 84 |
3.6. Giới thiệu chung về vi điều khiển PICOBLAZE | 86 |
3.7. Môi trường làm việc trên ISE XILINX | 89 |
3.7.1. Giao diện Project Navigator | 89 |
3.7.2. Thiết kế module bằng ngôn ngữ mô tả phần cứng | 91 |
3.7.3. Mô phỏng chức năng | 97 |
3.7.4. Thiết kế module bằng lưu đồ trạng thái | 99 |
3.7.5. Thiết kế module bằng sơ đồ nguyên lý | 104 |
3.7.6. Gán chân và định tuyến | 105 |
3.7.7. Cấu hình nạp cho FPGA | 106 |
Chương 4: Thiết kế mạch số trên kit FPGA Spartan-3E | |
4.1. Điều khiển led với slide switches và push button | 118 |
4.1.1. Mô tả hoạt động mạch điều khiển LED | |
với Slide Switches và Push Button | 118 |
4.1.2. Thiết kế mạch số điều khiển LED với Slide Switches và Push Button | 119 |
4.2. Bộ mã hoá quay - rotary encoder interface | 120 |
4.2.1. Mô tả hoạt động mạch Rotary Encoder Interface | 120 |
4.1.2. Thiết kế mạch Rotary Encoder Interface | 121 |
4.3. Điều chế độ rộng xung | 121 |
4.3.1. Mô tả hoạt động của mạch điều chế độ rộng xung | 121 |
4.3.2. Thiết kế mạch điều chế độ rộng xung | 122 |
4.4. Điều khiển màn hình LCD1602A | 125 |
4.4.1. Mô tả hoạt động của mạch điều khiển LCD1602A | 125 |
4.4.2. Thiết kế mạch điều khiển LCD1602A | 127 |
4.5. Chuyển đổi tín hiệu tương tự sang số | 127 |
4.5.1. Mô tả hoạt động của mạch chuyển đổi tín hiệu tương tự sang số | 127 |
4.5.2. Thiết kế mạch chuyển đổi tín hiệu tương tự sang số | 130 |
4.6. Chuyển đổi tín hiệu số sang tương tự | 132 |
4.6.1. Mô tả hoạt động của mạch chuyển đổi tín hiệu số sang tương tự | 132 |
4.6.2. Thiết kế mạch chuyển đổi tín hiệu số sang tương tự | 134 |
4.7. Các cổng logic cơ bản | 135 |
4.7.1. Mô tả hoạt động các cổng logic cơ bản | 135 |
4.7.2. Thiết kế các cổng logic cơ bản | 136 |
4.8. Các flip-flop đồng bộ | 137 |
4.8.1. Mô tả hoạt động của các flip-flop đồng bộ | 137 |
4.8.2. Thiết kế các flip-flop đồng bộ | 138 |
4.9. Thiết kế bộ cộng không nhớ (ha) | 139 |
4.9.1. Mô tả hoạt động của bộ cộng không nhớ (HA) | 139 |
4.9.2. Thiết kế bộ cộng không nhớ (HA) | 140 |
4.10. Bộ cộng đầy đủ (fa) | 141 |
4.10.1. Mô tả hoạt động của bộ cộng đầy đủ (FA) | 141 |
4.10.2. Thiết kế bộ cộng cộng đầy đủ (FA) | 141 |
4.11. Bộ trừ đầy đủ (hs) | 143 |
4.11.1. Mô tả hoạt động của bộ trừ đầy đủ (HS) | 143 |
4.11.2. Thiết kế bộ trừ đầy đủ (HS) | 143 |
4.12. Bộ so sánh | 144 |
4.12.1. Mô tả hoạt động của bộ so sánh | 144 |
4.12.2. Thiết kế bộ so sánh | 145 |
4.13. Mạch tạo và kiểm tra chắn lẻ | 146 |
4.13.1. Mô tả hoạt động của mạch tạo và kiểm tra chắn lẻ | 146 |
4.13.2. Thiết kế mạch tạo và kiểm tra chắn lẻ | 146 |
4.14. Mạch phân loại ngắt | 147 |
4.14.1. Mô tả hoạt động của mạch phân loại ngắt | 147 |
4.14.2. Thiết kế mạch phân loại ngắt | 148 |
4.15. Bộ dồn kênh (mux) | 150 |
4.15.1. Mô tả hoạt động của bộ dồn kênh (MUX) | 150 |
4.15.2. Thiết kế bộ dồn kênh (MUX) | 150 |
4.16. Bộ phân kênh (DEMUX) | 151 |
4.16.1. Mô tả hoạt động của bộ phân kênh (DEMUX) | 151 |
4.16.2. Thiết kế bộ phân kênh (DEMUX) | 152 |
4.17. Bộ giải mã | 153 |
4.17.1. Mô tả hoạt động của bộ giải mã | 153 |
4.17.2. Thiết kế bộ giải mã | 153 |
4.18. Mạch chuyển mã gray sang mã nhị phân BCD | 155 |
4.18.1. Mô tả hoạt động của mạch chuyển mã Gray sang mã nhị phân BCD | 155 |
4.18.2. Thiết kế mạch chuyển mã Gray sang mã nhị phân BCD | 156 |
4.19. Mạch chuyển mã nhị phân BCD sang mã GRAY | 157 |
4.19.1. Thiết kế bộ chuyển mã nhị phân BCD sang mã Gray | 157 |
4.19.2. Thiết kế bộ chuyển mã nhị phân BCD sang mã Gray | 158 |