Tìm hiểu mạch điện số, cách triển khai mạch, và mô phỏng mạch số trên phần mềm, và kitDE2
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
Hà Nội, ngày 15, tháng 8, năm 2012
BÁO CÁO THỰC TẬP KỸ THUẬT
THAM GIA NHÓM NGHIÊN CỨU HDL
A – LỜI NÓI ĐẦU
Hiện nay các mạch tích hợp ngày càng thực hiện được nhiều chức nănghơn,
do đó chúng ngày càng trở nên phức tạp hơn Các phương pháp thiết kếmạch
truyền thống như dùng tối thiểu hoá hàm Boolean hay dùng sơ đồ các phần tử
không còn đáp ứng được các yêu cầu đặt ra khi thiết kế Hơn nữacác
mạch thiết kế ra yêu cầu phải được thử nghiệm kỹ lưỡng trước khi
đưavào chế tạo hàng loạt
Mặt khác cần phải xây dựng một bộ tài liệu hướng dẫn vận hành
hệthống hoàn chỉnh dễ hiểu và thống nhất Chúng ta đã làm việc với mộtsốchương trình phần mềm hỗ trợ cho việc thực hiện mô tả mạch hay hiểu
đượccách thiết kế mạch Ví dụ: Proteus, HDL,VHDL, Verilog…Trong phần này
chúng ta sử dụng hai ngôn ngữ phần cứng chuẩn công nghiệp là VHDL
vàVerilog Cả hai ngôn ngữ này đều được sử dụng rộng rãi và đã được
IEEchấp nhận
Trong đợt thực tập tại Lab EDABK lần này, chúng em sẽ được tìm hiểu
mạch điện số, cách triển khai mạch, và mô phỏng mạch số trên phần mềm, và kit
DE2 Hy vọng rằng với sự chăm chỉ của bản thân cùng với sự hướng dẫn tận tình
của các thầy cô trên Lab cùng với các anh khóa trước, sẽ giúp em tích lũy nhiều
kiến thức chuyên môn để bắt kịp với thế giới công nghiệp hiện đại
Hà Nội, ngày 12 tháng 8 năm 2012 Sinh viên
Trang 2B-
NỘI DUNG
Chương 1: Giới thiệu chung về phòng Lab EDABK
EDA-BK được thành lập ngày 28/4/2011, là một nhóm nghiên cứu thuộc Viện Điện tử- Viễn thông, trường Đại học Bách Khoa Hà Nội với định hướng về phát triển công nghệ số trên cả phần cứng lẫn phần mềm EDABK có những giảng viên trẻ có trình độ cao và các sinh viên xuất sắc, các học viên cao học và các nghiên cứu sinh có nhiều đam mê trong nghiên cứu khoa học chuyên ngành Điện
Thiết kế và kiểm tra tự động các hệ thống số và các hệ nhúng
TS Nguyễn Đức Minh tốt nghiệp tiến sĩ tại Đại học Kaiserslautern, CHLB Đức vào 2/2009 Hiện nay, TS Minh nghiên cứu và giảng dạy tại Viện Điện tử – Viễn thông, trường Đại học Bách Khoa Hà Nội TS Minh đã từng là nghiên cứu viên tham gia các dự án nghiên cứu trong công nghiệp với các công ty Onespin Solutions, Acatel-Lucent, Infineon Technologies TS Minh quan tâm nghiên cứu về thiết kế vi mạch số, đặc biệt là các vi mạch xử lý băng gốc trong thông tin di động như: WCDMA, OFDM, UWB, MIMO, v.v Ngoài ra
TS.Minh còn tập trung vào các thuật toán mô hình hóa và kiểm chứng toán học các hệ thống trên chip cũng như hệ thống nhúng
TS Đặng Quang Hiếu
Phát triển các thuật toán xử lý tín hiệu trong thông tin
Tốt nghiệp PhD từ trường TU Delft (Hà Lan) vào 2/2008 Hướng chuyên môn chính về xử lý tín hiệu trong thông tin vô tuyến Chuyên gia về công nghệ mới trong truyền tin như: WCDMA, OFDM, UWB, MIMO, v.v Thiết kế và
mô phỏng các hệ thống thông tin vô tuyến thế hệ mới bằng công cụ Matlab / Simulink Ngoài ra, TS Hiếu còn đang nghiên cứu về các kỹ thuật giấu tin trong thông tin quảng bá, cognitive radio, cooperative communications, các
Trang 3thuật toán triển khai mã kênh (LDPC) với tốc độ cao, tổn hao ít năng lương, các
hệ thống thông tin phục vụ y tế (body area wireless sensor networks) và đặc biệt
là các kỹ thuật thông tin ứng dụng trong điện thoại di động (NFC, Bluetooth
LE, v.v.)
ThS Trần Mạnh Hoàng
Quản lý nhân sự, đối tác và học bổng
TS Hoàng Phương Chi
Quản lý dự án
II – Các lĩnh vực hoạt động của EDABK
1 Nghiên cứu
Mục tiêu nghiên cứu chính của EDA-BK là phát triển các bộ xử lý băng
cơ sở (baseband processor) cho thông tin vô tuyến / di động thế hệ mới Các nội dung nghiên cứu bao gồm:
Phát triển các thuật toán xử lý tín hiệu cho các hệ thông tin vô tuyến thế hệ mới (UWB, OFDM, WCDMA, v.v.) và ứng dụng
Phát triển các thuật toán và thiết kế bộ thu phát tín hiệu số tổn hao ít năng lượng phục vụ cho các mạng viễn thông thế hệ mới (WSN, RFID, cognitive radio, relay networks, v.v.)
Thiết kế phần mềm chuyên dụng cho điện thoại di động (trên nền Android, iOS)
Phát triển các ứng dụng hỗ trợ tương tác với người sử dụng trong thông tin quảng bá (phát thanh, truyền hình)
Thiết kế IC và hệ thống nhúng xử lý video và audio dùng trong mạng di động thế hệ mới
Trang 42 Đào tạo
Ngoài những khóa học chính qui theo các chương trình đại học / sau đại học
do trường ĐH BK qui định, EDA-BK còn cung cấp các khóa học ngắn hạn về DSP, Embedded Systems, Digital Communications, v.v cũng như các khóa họcchuyên sâu khác theo yêu cầu của doanh nghiệp
Các khóa học ngắn hạn gồm có :
Thiết kế vi mạch số cơ bản sử dụng Verilog/VHDL, thực hiện trên FPGA
Thiết kế vi mạch số nâng cao bằng phần mềm Synopsys
Thực hiện các thuật toán xử lý tín hiệu số trên Matlab
Thiết kế, mô phỏng bộ thu phát số (WCDMA, MIMO-OFDM, UWB) dùng Matlab / Simulink
Thiết kế vi mạch hệ thống thông tin số dùng DSP Builder kết hợp
Matlab/Simulink thực hiện trên FPGA
Trang 5Chương 2: Nội dung thực tập
I – Báo cáo công việc được giao
Trong thời gian thực tập vừa qua chúng em đã hoàn thành khối lượng công việc được giao bao gồm
- Hoàn thành mục 1-5 theo sơ đồ khóa học HDL
- Thực hành các bài laboratory 1 đến 8 về ngôn ngữ verilog mô tả phần cứng, tải về tại các links:
ftp://ftp.altera.com/up/pub/Altera_Material/11.0/Laboratory_Exercises/
Digital_Logic/DE2/verilog/lab1_Verilog.pdf
ftp://ftp.altera.com/up/pub/Altera_Material/11.0/Laboratory_Exercises/
Trang 6ftp://ftp.altera.com/up/pub/Altera_Material/11.0/Laboratory_Exercises/Digital_Logic/DE2/verilog/lab4_Verilog.pdf
ftp://ftp.altera.com/up/pub/Altera_Material/11.0/Laboratory_Exercises/Digital_Logic/DE2/verilog/lab5_Verilog.pdf
ftp://ftp.altera.com/up/pub/Altera_Material/11.0/Laboratory_Exercises/Digital_Logic/DE2/verilog/lab6_Verilog.pdf
ftp://ftp.altera.com/up/pub/Altera_Material/11.0/Laboratory_Exercises/Digital_Logic/DE2/verilog/lab7_Verilog.pdf
ftp://ftp.altera.com/up/pub/Altera_Material/11.0/Laboratory_Exercises/Digital_Logic/DE2/verilog/lab8_Verilog.pdf
1 Bài 1 Mạch lô gic tổ hợp
i Ôn lại mã hóa số
Trang 7VD:viết module verilog cho led 7 thanh hiển thị số hex từ 3 đầu vào nhị phân.
Trang 8(bi == 4'b1001)?7'b001_0000://9(bi == 4'b1010)?7'b000_1000://A(bi == 4'b1011)?7'b000_0011://b(bi == 4'b1100)?7'b100_0110://C(bi == 4'b1101)?7'b010_0001://d(bi == 4'b1110)?7'b000_0110:7'b000_1110;//E,F
endmodule
ii Đại số Bool
iii Triển khai hàm Bool
iv Tối ưu hàm Bool bằng bìa Karnaugh
K-map cung cấp cách thực hiện tối thiểu hóa dạng tổng các tích hay tích các tổng dưới dạng đồ họa
Các minterm có thể được kết hợp với nhau khi chúng khác nhau duy nhất một biến
Trang 9f(x,y,z)=xyz+xyz’=xy(z+z’)=xy(1)=xyK-map mô tả việc kết hợp này bằng hình
K-map thay thế cho bảng chân lý khi biểu diễn một biểu thứcK-map chứa các cell tương ứng với hàng của bảng chân lýMỗi cell tương ứng với một minterm
Ví dụ:
&i c JLi W Uӏӏ cho biӃn thӭ nhҩt
&i c JLi W Uӏӏ cho biӃn thӭ nhҩt
Trang 10Các minterm gần nhau được khoanh vuông khi chúng chỉ khác nhau duy nhất một biến
Các minterm được khoanh có giá trị “1” và là lân cận của nhau trong bảngKhoanh 2 giá trị 1 tương ứng loại bỏ được một biến ở biểu thức
v Một số hàm Bool và mạch đơn giản
vi Hoạt động của mạch logic
vii Ngôn ngữ verilog
Trang 13ii Máy trạng thái hữu hạn FSM
Bao gồm hai loại máy Moore và Mealy:
iii Ngôn ngữ Verilog mô tả mạch dãy
Trang 14+Case statement:
+If statement:
Trang 15+Phép gán:
iv Khái niệm về FSMD,ASMD:
Trang 16Example: implemented debounce-circuit
Trang 17+State: bao gồm zero,wait1,one,wait0; trạng thái zero,one tương ưng với trạng thái đầu ra db_level, wait1,wait0 loại bỏ trạng thái glitches.
Trang 18// number of counter bit
// fsm_state and data_register
always @(posedge clk,posedge reset)
begin
state_reg <= state_next;q_reg <= q_next;
end
// fsmd data path (counter) next state logicassign q_next = (q_load) ? {N{1'b1}} :
(q_dec) ? q_reg - 1 :q_reg;
Trang 19// status signal
assign q_zero = (q_next==0);
// fsmd control path & next state logic
endelse
state_next = zero;
endone:
begin
db_level = 1;
Trang 20state_next = wait0;q_load = 1;
endend
else
state_next = one;
enddefault:
state_next = zero;
endcaseend
endmodule
3 Bài 3 Mạch thực hiện phép toán số học và logic
i Mạch cộng
Trang 21+ Half adder
+Full adder
+Carry ripple adder
Trang 22+Carry look-ahead adder
+Mạch trừ:
ii Mạch so sánh
iii Khối ALU
Trang 234 Bài 4 Bộ đếm và thanh ghi dịch
i Mạch đếm
Trang 24ii Mạch ghi dịch
Trang 255 Bài 5 Tệp thanh ghi và bộ nhớ
i RAM
+DRAM
+SRAM
+VERILOG:
Trang 26ii ROM
6 Tổng kết - Thực hiện mạch truyền nhận UART
(Do thời gian thực tập có hạn, nên em mới chỉ tìm hiểu tài liệu về mạch thu phátUART và chưa hoàn thành được)
i Signal
+start bit: 1 bit 0
+data bit: 6,7 or 8 bit
+parity bit
+stop bit: 1 bit 1
Trang 27Figure 8.1 show a signal of UART signal without parity bit
ii UART receiving system
+ Oversampling procedue
Trang 28+Baud rate generator
+UART receive:
+Interface circuit:
Trang 29iii UART transmitting subsystem
Chương 2: Nhận xét, đề xuất
I- Ưu điểm
EDABK có các thầy cô có chuyên môn cao và các các sinh viên xuất sắc và trang thiết bị đầy đủ tạo điều kiện thuận lợi cho sự phát triển của phòng lab Đồng thời, đây cũng là nơi nuôi dưỡng các tài năng trẻ trong lĩnh vực điện tử- viển thông giúp ích cho công cuộc hiện đại hóa của đất nước
II- Nhược điểm
Mỗi năm lab lại thu nhận thêm các thành viên mới vào học tập nghiên
Trang 30đi làm việc ở các công ty sau khi tốt nghiệp ra trường Đây là một trở ngại rất lớn trong sự phát triển của phòng lab.
Do số thành viên của phòng khá đông và diện tích phòng tương đối nhỏ nên ảnh hưởng không nhỏ đến công tác quản lí và các hoạt động của phòng lab Tuy vậy, số lượng thành viên đông cũng chính là một thế mạnh của EDABK
III- Đề xuất
Trong sự phát triển không ngừng về hoạt động nghiên cứu và nhân sự, theo tôi trong tương lai EDABK nên mở thêm các cơ sở khác để đáp ứng hơn nữa các hoạt động của phòng lab
C- KẾT LUẬN VÀ TÀI LIỆU THAM KHẢO
Nhờ sự giúp đỡ của các thầy cô và các bạn trong phòng lab EDABK em đã học hỏi được rất nhiều kiến thức về phòng lab EDABK và hoàn thành khóa học HDL trong đợt thực tập vừa rồi
Em xin chân thành cảm ơn!
Tài liệu tham khảo:
1 Digital Design and Computer Architecture
2 FPGA Prototyping By Verilog Examples
3 Principles of Digital Design
4 Slide điện tử số thầy Thắng ĐHBKHN
5 Advanced Digital Design with the Verilog HDL
6 website edabk.org
Trang 31MỤC LỤC
A – LỜI NÓI ĐẦU……… 1
B- NỘI DUNG……… 2
Chương 1: Giới thiệu chung về phòng lab EDABK……… 2
I- Nhân sự ……… … 2
II- Các lĩnh vực hoạt động của EDABK……… 3
Nghiên cứu……….……3
Đào tạo……….… …4
Học bổng……….4
Tuyển dụng……….……4
Chương 2: Nội dung thực tập……… … ….5
I- Báo cáo công việc được giao……… …… 5
1 Bài 1 Mạch lô gic tổ hợp ………6
i Ôn lại mã hóa số……….6
ii Đại số Bool……….8
iii Triển khai hàm Bool……… 8
iv Tối ưu hàm Bool bằng Karnaugh………8
v Một số hàm Bool và mạch đơn giản……….10
vi Hoạt động của mạch logic………10
vii Ngôn Ngữ verilog……….10
2 Bài 2 Mạch tuần tự FSM và FSMD……….11
i Các phần tử nhớ cơ bản………11
ii Máy trạng thái hữu hạn FSM………13
iii Ngôn ngữ Verilog mô tả mạch dãy……… 14
iv Khái niệm FSMD, ASMD………16
3 Bài 3 Mạch thực hiện phép toán số học và logic…… 21
i Mạch cộng……… 21
ii Mạch so sánh……… 23
iii Khối ALU………23
4 Bài 4 Bộ đếm và thanh ghi dịch……….24
Trang 32i Mạch đếm……… 24
ii Mạch ghi dịch………25
5 Bài 5 Tệp thanh ghi và bộ nhớ……….26
i RAM……….26
ii ROM……….27
6 Tổng kết - Thực hiện mạch truyền nhận UART……… 27
i Signal………27
ii UART receiving subsystem……….28
iii UART transmitting subsystem………29
Chương 3: Nhận xét và đề xuất……… …………30
I Ưu điểm……… … 30
II Nhược điểm……….…….30
III Đề xuất………31
C- KẾT LUẬN VÀ TÀI LIỆU THAM KHẢO……….………….31
Mục lục ……… 32