báo cáo thực tập tìm hiểu công nghệ fpga tại esrc lab – phòng 618 thư viện tạ quang bửu
Trang 1BÁO CÁO THỰC TẬP KỸ THUẬT
NGÀNH: ĐIỆN TỬ - VIỄN THÔNG
Sinh viên thực hiện: Nguyễn Trọng Linh
SHSV: 20091608 Lớp : Điện tử 01-K54
Địa điểm thực tập: ESRC Lab – Phòng 618
Thƣ viện Tạ Quang Bửu
HÀ NỘI – 2012
Trang 2LỜI NÓI ĐẦU
Trong những năm gần đây ngành công nghệ thông tin nói chung và kĩ thuật phần cứng nói riêng đã có những bước phát triển mạnh mẽ Phần cứng ngày càng được chú trọng và ứng dụng rộng rãi trong mọi lĩnh vực của cuộc sống
Ngày nay, khi trình độ khoa học và công nghệ thế giới đang phát triển mạnh mẽ và rộng khắp mọi lĩnh vực đặc biệt trong công nghệ chế tạo
IC Một trong những thành quả đáng ghi nhận của sự phát triển ấy là sự
ra đời của các vi mạch logic khả trình FPGA Công nghệ FPGA ra đời nhằm biến tất cả một hệ thống số có tốc độ cao, tin cậy với khả năng xử lý tín hiệu số, thực hiện chức năng logic, thực hiện hệ thống nhúng và đặc biệt với khả năng tùy biến cao về phần cứng vào trong một chip Bên cạnh đó FPGA còn đóng vai trò là các phiên bản mẫu cho các chip ASIC sản xuất hàng loạt Điều này đã đem lại những lợi ích thiết thực và to lớn cho các nhà thiết kế IC cũng như khách hàng sử dụng Chính vì điều đó, FPGA ngày càng chiếm thị phần cao trong các sản phẩm điện tử công nghệ cao trên toàn thế giới
Cuối cùng, em xin chân thành cảm ơn bộ môn, các thầy cô cũng như
thầy PGS.TS Phạm Ngọc Nam - Ph Viện trƣ ng Viện Điện tử viễn
thông và các anh chị trong phòng nghiên cứu đã tận tình giúp đỡ em trong
đợt thực tập kỹ thuật vừa qua
Trang 3Chương 1: Giới thiệu chức năng, nhiệm vụ, cơ cấu tổ chức của đơn vị tiếp nhận
2 Phó chủ nhiệm phòng nghiên cứu: ỹ sư Vũ Hữu Tiệp
3 Trư ng mảng tài chính: sinh viên Phan Đình Long
4 Trư ng mảng thể thao: sinh viên Đặng Duy Ninh
5 Trư ng mảng văn nghệ: Sinh viên Nguy n Ngọc Hải
Trang 4Chương 2: Nội dung thực tập
1 Các vị trí công việc trong phòng nghiên cứu
Chủ nhiệm phòng nghiên cứu:
o Là người chịu trách nhiệm trước ban lãnh đảo Viện về quản lý sinh viên, cơ
s vật chất trong phòng nghiên cứu, trực thuộc thư viện Tạ Quang Bửu, tổ chức và lãnh đạo phòng nghiên cứu thực hiện nhiệm vụ của phòng
o Tăng cường các mối quan hệ với các đơn vị trong và ngoài trường
Phó chủ nhiệm phòng nghiên cứu:
o Là người giúp việc cho chủ nhiệm phòng và chịu trách nhiệm về các nhiệm
vụ được giao
Trư ng mảng thể thao
o Tổ chức các giải bóng đá cho phòng vào thứ 7 hàng tuần
o Thiết kế, in ấn và phân phát áo đồng phục cho các thành viên trong phòng Trư ng mảng văn nghệ
o Tổ chức các hoạt động văn nghệ trong phòng: hát bài hát truyền thống của phòng,…
2 Các lĩnh vực hoạt động chuyên môn của phòng nghiên cứu
Hiện nay trong phòng chủ yếu nghiên cứu về hệ thống nhúng và vi mạch khả trình
3 Công việc đƣợc giao trong đợt thực tập
a Các kiến thức đã tìm hiểu được
Phần cứng
Kit DE1
DE1 ( Development and Education ) là một phiên bản thu nhỏ của it DE2
Nó rất phù hợp để học điện tử số, kĩ thuật máy tính và FPGAs Con chip Cyclon II 2C20 trên DE1 được thiết kế chyên để phục vụ cho mục đích giáo dục như trong
Trang 5các phòng nghiên cứu của các trường đại học, cao đẳng Nó phù hợp để làm nhiều bài tập trong các môn học như điện tử số, kĩ thuật máy tính thông qua các ví dụ đơn giản
Thông số cơ bản của kit DE1:
Trang 6-
Hình 1: Kit DE1
Trang 7 Phần mềm Quartus II
Quartus II là công cụ chính được sử dụng trong quá trình thực tập Phần mềm được cung cấp và cập nhật thường xuyên b i Altera Đây là công cụ thiết kế tốt nhất cho các dòng chip FPGA của Altera bao gồm cả Cyclon II 2C20 có trên DE1
Là công cụ phân tích và tổng hợp thiết kế HDL, nó cho phép các nhà phát triển thực hiện thiết kế của họ một cách d dàng và thuận tiện, đồng thời cho phép phân tích thời gian, kiểm tra sơ đồ RTL, mô phỏng hệ thống và cấu hình sản phẩm một cách phù hợp nhất
Quy trình thiết kế FPGA với Quartus II
Dưới đây là quy trình thiết kế FPGA với các phần mềm thiết kế FPGA nói chung và Quartus II nói riêng:
Hình 2: Design Flow
Trang 8Nó bao gồm các bước cơ bản sau:
Design Entry – Mạch sau đã thiết kế sẽ được mô tả b i các ngôn ngữ mô tả phần cứng như VHDL hay Verilog, hoặc cũng có thể dùng sơ đồ Schematic
Synthesis – Công cụ tổ hợp sẽ tổ hợp mạch tạo ra một file netlist có chứa các phần tử logic và các kết nối giữa chúng
Function Simulation – Chức năng của mạch sau tổ hợp sẽ được kiểm định
Fitting – Công cụ máy tính sẽ đặt các phần tử logic được định nghĩa trong file
netlist xuống các phần tử logic trong con chip FPGA thực tế Đồng thời chọn ra
các đường dây để kết nối chúng với nhau
Timming Analysis – Phân tích tr truyền dẫn trên các đường dây khác nhau nhằm đưa ra các chỉ thị giúp cải thiện hiệu năng làm việc của mạch
Timming Simulation – iểm tra về mặt chức năng và thời gian của mạch
Programming and Configuration – Thực hiện mạch trên con chip vật lý bằng cách cấu hình các phần tử logic trên chip và thành lập các kết nối cần thiết
b Thiết kế 1 trò chơi xúc sắc trên kit DE1 của ALTERA sử dụng ngôn ngữ VHDL
Trang 9Các công việc đã làm
Xây dựng sơ đồ khối của hệ thống
Hình 3: Sơ đồ khối của hệ thống
Xây dựng bộ đếm
Hình 4: Sơ đồ khối của bộ đếm
Trang 10c Thiết kế 1 trò chơi bomberman trên kit DE1 của ALTERA sử dụng ngôn ngữ VHDL
Mục tiêu
- Thiết kế và hoàn thiện Boomberman game trên kit DE1
- Giao tiếp tốt với chuẩn VGA
- Giao tiếp tốt với PS2
- Hoàn thiện kĩ năng lập trình VHDL
- Hiểu rõ hơn về kit DE1
Nền tảng cơ bản
- iến thức cơ bản về FPGA
- Biết lập trình FPGA bằng ngôn ngữ VHDL
- Có kĩ năng đọc tài liệu
- ĩ năng tìm kiếm tài liệu trên mạng
Yêu cầu phi chức năng
- Giao diện đơn giản, d chơi
- Thời gian thực hiện: từ 27/7/2012 đến 27/8/2012
Trang 11- Có 3s để chuẩn bị bắt đầu chơi
Cách chơi:
- Quy định về các nút ấn cho mỗi người chơi:
- Bom sẽ nổ sau 3s được đặt
- Người chơi mất mạng khi nằm trong vùng nổ của boom
- hi mất mạng, người chơi sẽ tr về vị trí ban đầu (các góc)
- hi hết giờ, mỗi mạng còn lại sẽ được cộng 200 cho người chơi và người thắng là người có điểm cao hơn
- Người chơi di chuyển với các bước đi là 1 ô
- Người chơi không thể đi vào các ô đất, gạch và đá Đất vỡ khi bom nổ 1 lần, gạch vỡ khi bom nổ 2 lần và đá không thể bị phá vỡ
- Người chơi được tặng 200 điểm khi đối phương mất mạng
- Tổng điểm của người chơi sẽ được lưu vào thanh bar cùng tên người chơi
Các công việc đã thực hiện
Xây dựng sơ đồ hệ thống
Người 1 Người2 Đặt boom ˽ 0(INS)
Sang trái A ←
Sang phải D →
Trang 13Hiện nay trên thị trường có 2 loại keyboard là keyboard cổng usb và keyboard cổng ps2.Trong bomberman game do nhóm thực hiện thì ps2 keyboard được chọn
để sử dụng
- VGA
VGA là viết tắt của video graphic array , là một chuẩn đồ họa được giới thiệu trong cuối những năm 1980 từ phía IBM cùng loại máy tính PS/2 Trong các phần sau, chúng ta sẽ thảo luận về giao diện có độ phân giải 640 x 480 với 8 màu cơ bản của màn hình CRT ( cathode ray tube)
Dưới đây là bảng kết hợp màu từ 3 bit của VGA:
Cổng VGA có 5 tín hiệu tích cực bao gồm các tín hiệu đồng bộ theo phương
ngang và phương dọc: h_sync và v_sync và 3 tín hiệu hình ảnh cho 3 màu đỏ, xanh,
xanh dương
Trang 14 Xây dựng sơ đồ khối của game
Hình 6: Sơ đồ khối của game
1 hối PS/2 Control:
+ Nhận chuỗi dữ liệu gửi lên từ bàn phím
+ Tách và xuất ra mã phím đang được bấm
2 hối Player’s Event:
Sơ đồ khối của khối:
Trang 15Hình 7: Sơ đồ khối của khối Player’s event
Hình 8: Sơ đồ khối của khối Player1, player2
Nhận mã sự kiện, mã tính chất tọa độ tiếp theo, Tọa độ lửa,
Xử lý trả về tọa độ tiếp theo của nhân vật, số mạng , tín hiệu đặt bom
Trang 16Hình 9: FSM của khối player
4 hối quản lý bomb& fire
Nhận tọa độ hiện tại của nhân vật và tín hiệu đặt bom
Tính toán thời gian bom nổ, xuất ra tọa độ của bom và lửa
5 hối background & map
Nhận vào mã bản đồ, tọa độ của nhân vật cũng như bom, lửa, tọa độ pixel trên màn hình
Trang 17Sơ đồ FSM của khối State_select:
Hình 10: FSM của khối State_select
Trang 187 Xây dựng khối hiển thị text:
00000000000000000001000000111000011011001100011011000110111111101100011011000110110001101100011000000000000000000000000000000000
- Các kí tự bao gồm phần số, các chữ cái hoa và chữ cái thường, các biểu tượng và nhiều kí tự đồ họa đặc biệt
- Đối với màn hình có độ phân giải 640 x480 , khi sử dụng các tile có kích thước 8 x16 thì mỗi hàng ngang chứa vừa 80 tile và mỗi hàng dọc chứa vừa đủ 30
tile hi đó ta có thể coi màn hình có độ phân giải là 80 x 30
Mạch tạo te t cơ bản
- Mạch tạo pixel tạo ra các giá trị của pixel tương ứng với tọa độ của pixel hiện tại và các tín hiệu dữ liệu/điều khiển bên ngoài Mạch tạo pixel dựa trên sơ đồ
Trang 19kiểu tile – mapped liên quan tới 2 giai đoạn giai đoạn thứ nhất dùng các bit cao
của pixel_x và pixel_y để tạo ra mã của một tile, và giai đoạn thứ hai dùng mã này
và các bit thấp để tạo ra giá trị của pixel
- Theo phương pháp này thì màn hình được coi như có độ phân giải 80x30 tile,
mỗi tile là một ô có kích thước 8x16 Đầu tiên, pi e v pi e sẽ chỉ ra tọa độ
của vị trí tile hiện tại Mạch tạo kí tự sử dụng những tọa độ này kết hợp với các tín
hiệu dữ liệu/ điều khiển từ bên ngoài để tạo ra giá trị của tlie tương ứng với mã
ASCII Tiếp theo, mã ASCII này sẽ làm 7 bit cao của địa chỉ của font ROM và chỉ
ra vị trí của mẫu đang xét ết hợp với 4 bit thấp của tọa độ y để hình thành nên địa
chỉ đầy đủ của font ROM Đầu ra của font ROM tương ứng với 8 bit hàng ngang
của một mẫu, còn 3 bit có trọng số nhỏ nhất của tọa độ x chỉ ra vị trí của pixel
T lệ của Font
- Trong sơ đồ kiểu tile – mapped chúng ta có thể điều chỉnh kích thước của
các pixel Chẳng hạn, chúng ta có thể m rộng từ font có kích thước 8x16 lên font
có kích thước 16x32 Để thực hiện được công việc này, chúng ta chỉ cần dịch phải
tọa độ của pixel 1 bit và bỏ đi bit có trọng số nhỏ nhất của pixel_x và pixel_y
Từ đó ta xây dựng được sơ đồ khối của khối hiển thị text như sau:
Hình 11: Sơ đồ khối của khối hiển thị te t
hi tín hiệu quét pixel x,y nằm trong vùng x1,x2 và y1,y2 thì text_on= 1
Dùng 1 bit của pixel y và 2 bit của pixel x để xác định từng chữ
Trang 20 Dùng 3 bit (2 ->0) của pixel y để xác định hàng trong 1 chữ (row_addr) kết hợp với 3 bit 2->0 của pixel x để xác định từng pixel trong 1 chữ
Hình ảnh sau khi tạo ra khối hiển thị text và sử dụng các sw để hiển thị từng dòng chữ:
Hình 12: Màn hình hiển thị te t
Trang 22 Nó bao gồm các phần chính:
- Thanh bar hiển thị mức điểm đạt được của người chơi, số mạng còn lại, thời gian chơi
- Đá, đất, gạch, bomb được hiển thị trên màn chơi
- 2 người chơi 2 góc của màn chơi
Các đối tƣợng hình ảnh: đất, đá, gạch, nhân vật, bomb
Để tạo ra các đối tượng ta cần sử dụng ROM để lưu màu của các đối tượng Mỗi đối tượng được đặc trưng b i một mã
Lập 1 mảng 2 chiều x, y để chỉ vị trí của các ô trên background, điền mã đối tượng vào giá trị của các phần tử trong mảng, tương ứng với vị trí của đối tượng trên background
Sau đó khi đến muốn hiển thị đối tượng, ta chỉ việc mã đối tượng điền vào mảng
hi quét trên màn hình, thì ta lấy mã đối tượng từ mảng, đưa vào ROM để lấy ra
mã màu tương ứng với hình và hiển thị lên màn hình
Khi nào kết thúc trò chơi?
Trò chơi kết thúc khi mà 1 trong 2 người chơi hết mạng, hoặc thời gian chơi kết thúc
Việc xác định người chơi mất mạng do bomb nổ, được thực hiện đơn giản bằng cách kiểm tra xem tọa độ người chơi có nằm trong vùng lửa hay không
Xây dựng phần kết thúc trò chơi
Sau khi hết mạng hoặc hết giờ, trò chơi kết thúc và sẽ hiện ra màn hình kết thúc:
Trang 23Hình 15: Màn hình tính kết thúc trò chơi
Trang 24CHƯƠNG 3: NHẬN XÉT, ĐỀ XUẤT
3.1 Ưu điểm
Tập trung nghiên cứu tài liệu, nắm bắt và hiểu các chuẩn nén hình ảnh mà Đài truyền hình Việt Nam sử dụng, liên tục quan sát các cô chú nhân viên Trung tâm truyền dẫn phát sóng thao tác công việc Qua đó em đã hình dung được công việc sau khi tốt nghiệp đại học
3.2.Nhược điểm
Do kiến thức chuyên môn còn ít nên việc tìm hiểu trang thiết bị, công nghệ được sử dụng tại Đài truyền hình Việt Nam gặp rất nhiều khó khăn Em mất nhiều thời gian để nghiên cứu kiến thức trong tài liệu Việc ra vào Đài truyền hình cũng là một khó khăn, vì không có thẻ nhân viên nên muốn vào trung tâm để thực tập nhóm thực tập phải có anh hướng dẫn thực tập trực tiếp dẫn vào
3.3 Đề xuất
Theo em, sinh viên nên được cử đi thực tập kĩ thuật sau khi kết thúc năm thứ 4 thay
vì năm thứ 3 như hiện tại hi đó chúng em sẽ có kiến thức vững chắc hơn đến các doanh nghiệp để thực tập
Trang 25KẾT LUẬN
Như đã trình bày trên, trong thời gian thực tập tại phòng nghiên cứu ESRC Lab,
em đã được tiếp xúc với trang thiết bị được sử dụng tại trung tâm Đồng thời, quan sát thao tác nghiệp vụ của cô anh/chị nghiên cứu về các đề tài của Lab Qua đó, em nhận thấy đợt thực tập thực sự bổ ích mỗi sinh viên, giúp sinh viên định hướng rõ ràng hơn về công việc của một kĩ sư điện tử vi n thông Hơn nữa sinh viên cũng được bổ sung nhiều kiến thức mới giúp ích cho quá trình học tập sắp tới
Trang 26PHỤ LỤC
Hình 2: Kit DE1 trang 5
Hình 2: Design Flow 6
Hình 3: Sơ đồ khối của hệ thống 8
Hình 4: Sơ đồ khối của bộ đếm 9
Hình 5: Sơ đồ hệ thống 11
Hình 6: Sơ đồ khối của game 13
Hình 7: Sơ đồ khối của khối Player’s event 13
Hình 8: Sơ đồ khối của khối Player1, player2 14
Hình 9: FSM của khối player 15
Hình 10: FSM của khối State_select 16
Hình 11: Sơ đồ khối của khối hiển thị text 18
Hình 12: Màn hình hiển thị text 19
Hình 13: Start screen 20
Hình 14: Màn hình chơi chính 20
Hình 15: Màn hình tính kết thúc trò chơi 21
Trang 27MỤC LỤC
LỜI NÓI ĐẦU 1
Chương 1: Giới thiệu chức năng, nhiệm vụ, cơ cấu tổ chức của đơn vị tiếp nhận 2
1 Chức năng và nhiệm vụ 2
2 Cơ cấu tổ chức 2
Chương 2: Nội dung thực tập 3
1 Các vị trí công việc trong phòng nghiên cứu 3
2 Các lĩnh vực hoạt động chuyên môn của phòng nghiên cứu 3
3 Công việc được giao trong đợt thực tập 3
a Các kiến thức đã tìm hiểu được 3
b Thiết kế 1 trò chơi úc sắc trên kit DE1 của ALTERA sử dụng ngôn ngữ VHDL 7
c Thiết kế 1 trò chơi bomberman trên kit DE1 của ALTERA sử dụng ngôn ngữ VHDL 9
Mô tả trò chơi 9
Các công việc đã thực hiện 10
Xây dựng sơ đồ hệ thống 10
Tìm hiểu chung 11
Xây dựng sơ đồ khối của game 13
PHỤ LỤC 25
MỤC LỤC 26
TÀI LIỆU THAM KHẢO 27
Trang 28TÀI LIỆU THAM KHẢO
- Pong P Chu, FPGA Prototyping by Verilog Examples: Xilinx Spartan-3
Version, Wiley-Interscience, 2008
- Volnei A Pedroni, Circuit Design with VHDL, MIT Press, 2004