Thiết kế ALU 8bit
Trang 1TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
Trang 2TÀI LIỆU THÍ NGHIỆM
Trang 3MỤC LỤC
BÀI: 1 Thiết kế ALU 8bit 5
Phần I: THÍ NGHIỆM 6
1.1 Mục đích thí nghiệm 6
1.2 Cơ sở lý thuyết 7
1.2.1 Kiến thức nền 7
1.2.2 Thiết kế ALU 7
1.3 Thí nghiệm 8
1.3.1 Nội quy an toàn thí nghiệm 8
1.3.2 Nội dung bài thí nghiệm 8
1.3.3 Phương pháp và cách thức thí nghiệm 8
1.3.3.1 Thiết bị và dụng cụ thí nghiệm 8
1.3.3.2 Phân nhóm thí nghiệm 8
1.3.3.3 Cách thức tiến hành thí nghiệm 8
1.4 Thí nghiệm 24
Phần II: VIẾT BÁO CÁO THÍ NGHIỆM 25
2.1 Qui định chung 25
2.2 Nội dung báo cáo 25
2.2.1 Cơ sở lý thuyết 25
2.2.2 Báo cáo kết quả thí nghiệm 25
Phần III: ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THÍ NGHIỆM 26
BÀI: 2 THIẾT KẾ MẠCH ĐẾM TRÊN NỀN FPGA 27
Phần I THÍ NGHIỆM 28
1.1 Mục đích thí nghiệm: 28
1.2 Cơ sở lý thuyết: 28
1.3 Thí nghiệm: 29
1.3.1 Nội quy an toàn thí nghiệm: 29
1.3.2 Nội dung bài thí nghiệm: 29
1.3.3 Phương pháp và cách thức thí nghiệm: 29
1 Giới thiệu thiết bị và dụng cụ thí nghiệm 29
2 Phân nhóm thí nghiệm 30
3 Sơ đồ hay cách thức tiến hành TN 31
4 Trình tự tiến hành thí nghiệm 31
1.3.3 Ghi chép số liệu, kết quả thí nghiệm 35
1.4 Chuẩn bị của sinh viên: 36
Phần II VIẾT BÁO CÁO THÍ NGHIỆM 37
Phần III ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THÍ NGHIỆM 37
BÀI 3 LẬP TRÌNH HỆ THỐNG NHÚNG GIAO TIẾP THIẾT BỊ NGOẠI VI CƠ BẢN 38
Phần I THÍ NGHIỆM 39
1.1 Mục đích thí nghiệm: 39
1.2 Cơ sở lý thuyết: 39
1.3 Thí nghiệm: 40
1.3.1 Nội quy an toàn thí nghiệm: 40
1.3.3 Phương pháp và cách thức thí nghiệm: 40
1.4 Ghi chép số liệu, kết quả thí nghiệm 45
Trang 4VI Ghi chép số liệu, kết quả thí nghiệm 57
1.4 Chuẩn bị của sinh viên: 58
Phần II VIẾT BÁO CÁO THÍ NGHIỆM 59
Phần III ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THÍ NGHIỆM 59
Trang 5Biên soạn: Th.S Tăng Cẩm Nhung
QUY TRÌNH THỰC HIỆN BÀI THÍ NGHIỆM
MÔN GIỚI THIỆU VLSI
BÀI: 1 Thiết kế ALU 8bit
CHƯƠNG TRÌNH ĐÀO TẠO ĐẠI HỌC THEO HỆ THỐNG TÍN CHỈ
(HỆ 150 TC)
Trang 6• Các đầu vào nhập (select) gồm có: M, S0, S1, Carry
• Với yêu cầu thiết kế, mạch gồm 5 chức năng thực hiện: cộng trừ, NAND,
OR, XOR theo bảng dưới đây:
Trang 71.2 C ơ s ở lý thuy ế t
1.2.1 Ki n th c n n
Khi tính toán với số học, vấn đề gặp phải là biểu diễn số âm Trong hệ số , cách thức biểu diễn số âm phổ biến nhất là biểu diễn dưới dạng số bù 2 Ưu điểm của cách thức biểu diễn này là thực hiện phép toán cộng/trừ dễ dàng hơn Ngoài ra, cách thức chuyển đổi nhanh hơn, số 0 chỉ có một dạng biểu diễn duy nhất Số bù 2 được định nghĩa như sau:
Two's complement(N) = 2n - N
Biểu thức trên có thể được biểu diễn lại như sau
2n - N = (2n -1 - N) + 1
Cách thức chuyển đổi một số sang dạng bù 2 như sau:
• Chuyển số cần tìm sang dạng nhị phân
1.2.2 Thi t k ALU
Để thiết kế ALU dựa trên nguyên tắc mudule hoá các thiết kế, tức là chia thành các
phần nhỏ hơn, dễ quản lý hơn và có thể tái sử dụng Cách tiếp này sẽ giúp cho mọi việc có
Trang 81.3 Thí nghi ệ m
1.3.1 N i quy an toàn thí nghi m
- Người thực hiện thí nghiệm kể cả Hướng dẫn viên và sinh viên đề phải nắm vững các nội quy an toàn do phòng thí nghiệm quy định, thông qua việc học nội quy có kiểm tra sát hạch
- Các thiết bị thí nghiệm chịu sự kiểm soát an toàn theo phân cấp của nhà nước phải đảm bảo có đầy đủ biên bản kiểm định an toàn của cấp có thẩm quyền
Ví dụ: Thiết bị điện cao thế (trên 1 kV), các thiết bị áp lực, chất hóa học đặc biệt
1.3.2 N i dung bài thí nghi m
Theo đề cương được duyệt
Bài 1: Tạo một Project trong Quartus II
Trang 9Bài 1: Tạo một Project trong Quartus II
1- Tạo project :
1 Sau khi cài đặt xong phần mềm QuartusII, bắt đầu chạy chương trình bằng cách double-click vào biểu tượng trên desktop
Giao diện QuartusII sẽ xuất hiện :
2 Đầu tiên, cần tạo một project mới : File/ New Project Wizard Ở cửa sổ đầu tiên điền vào thông tin về thư mục chứa project, tên project và tên top-module (tên top- module thường trùng tên project) Click Next 2 lần
3 Cửa sổ Family & Device Settings dùng để chọn họ và tên linh kiện FPGA
để cấu hình Chọn họ linh kiện CycloneII, tên EP2C70F896C6 (board DE2-70)
Trang 104 Vào File/ New / Block Diagram/Schematic File
5.Click chuột phải vào trong thiết kế, chọn Insert/ Symbol
Chọn cổng AND bằng cách gõ vào “and2” Bấm OK Gắn vào trong thiết kế
Trang 116 Làm tương tự bước 5 để gắn input (ngõ vào) và output (ngõ ra) cho thiết kế (có thể dùng phím Ctrl để copy) Đưa chuột vào chân của linh kiện
và thực hiện nối dây
7 Đặt tên cho input và output (input : in1, in2; output : out) bằng cách double-click vào symbol
8 Cuối cùng ta được hình cổng AND với input và output, chọn File Save, tên file : congand
9 Biên dịch thiết kế chọn Processing / Start Compilation
10 Nếu không có lỗi, sẽ xuất hiện cửa sổ báo successful Bấm OK
Trang 1213 Chọn Node Finder Cửa sổ Node Finder chọn “Pins: all” và bấm List Chọn tất cả các chân Bấm OK 2 lần
14 Vẽ dạng sóng cho các đường input bằng hộp công cụ bên trái
Trang 1315 Zoom out, dùng các biểu tượng lên 1 và xuống 0 để vẽ các đường tín hiệu ngõ vào Lưu lại với tên file : congand.vwf
16 Vào Processing / Start Simulation để mô phỏng
17 Kết quả dạng sóng thu được
Trang 143 Đầu tiên cần tạo mạch cộng 1 bit gồm Half Adder và Full Adder : File / New / Block Diagram/Schematic File
4 Thực hiện thiết kế mạch cộng 1 bit HA như trong hình :
Lưu lại với tên : HA.bdf
5 Tiếp tục, thực hiện thiết kế mạch cộng 1 bit FA
Trang 15Lưu lại với tên file : FA.bdf
6 Tạo symbol (đóng gói thiết kế) cho file FA.bdf và HA.bdf bằng cách vào File / Create/Update/ Create Symbol File for Current File
7 Thực hiện thiết kế mạch cộng 4 bit bằng cách ghép 4 module mạch cộng 1 bit lại với nhau Vào File/ New/ Block Diagram/Schematic File
8 Thêm module mạch cộng 1 bit vào : Insert / Symbol/ FA (hoặc HA)
Trang 169 Ghép 4 module cộng 1 bit lại để tạo thành mạch cộng 4 bit
10 Thêm vào các input và output Các input là A, B dạng bus (4 đường) Các output là S dạng bus (5 đường) Đặt tên cho các input A, B bằng cách double-click vào input, phần “Pin name” gõ vào : A[3 0] và B[3 0] Tương tự cho output S[4 0]
11 Vẽ các đường bus ( ) và dây nối ( ) cho mạch
Trang 1712 Click chuột phải vào đường bus và dây nối, chọn Properties để đặt tên cho chúng theo hình
13 Lưu lại với tên : cong4bit.bdf
Mô phỏng thiết kế
14 Biên dịch thiết kế chọn Processing/Start Compilation
15 Tạo ra Vector Waveform File như sau :
16 Thay đổi hệ cơ số của A, B và S bằng cách click chuột phải vào A,
B hoặc S Chọn Properties Trong Radix chọn Unsigned Decimal (thập phân không dấu)
Trang 1817 Vẽ dạng sóng cho A và B bằng công cụ thiết lập giá trị tùy ý
18 Vào Processing /Start Simulation để mô phỏng
19 Kết quả dạng sóng thu được
Trang 19Bài 3: Thiết kế bộ dồn kênh
1 Chạy chương trình bằng cách double-click vào biểu tượng trên desktop
2 Tạo một project mới có tên : machDAHOP
3 Đầu tiên cần tạo mạch đa hợp 2-1 1 bit : File / New / Block Diagram/Schematic File
4 Thực hiện thiết kế mạch đa hợp 2-1 1 bit như trong hình :
Lưu lại với tên : dahop1bit.bdf
5 Tạo symbol (đóng gói thiết kế) cho file dahop1bit.bdf bằng cách vào File / Create/Update/ Create Symbol File for Current File
6 Thực hiện thiết kế mạch đa hợp 2-1 8 bit bằng cách ghép các module mạch đa hợp 2-1 1 bit lại với nhau
Trang 207 Kết quả dạng sóng thu được :
Trang 21Bài 5: Thiết kế ALU
Đầu tiên, ta sẽ thiết kế một bộ ALU gồm 2 chức năng : AND và cộng
1 Tạo một project mới có tên : alu8bit
2 Tạo bộ ALU 1 bit như hình dưới (gồm 1 cổng AND, 1 bộ cộng FA, 1
bộ dồn kênh 2-1 1 bit) Lưu lại với tên file : alu1bit.bdf
A B Cin S
Result Cout alu1bit
inst
3 Thực hiện thiết kế bộ ALU 8 bit bằng cách ghép 8 bộ ALU 1 bit lại với nhau
Trang 22A B Cin S
Result Cout
inst1
A B Cin S
Result Cout
alu1bit
inst2
A B Cin S
Result Cout
alu1bit
inst3
A B Cin S
Result Cout
alu1bit
inst4
A B Cin S
Result Cout
alu1bit
inst5
A B Cin S
Result Cout
alu1bit
inst6
A B Result Cout
Trang 23Lưu lại với tên : alu8bit.bdf
4 Kết quả mô phỏng :
Trang 24- Đọc và nghiên cứu bài thí nghiệm
- Đọc và nghiên cứu lý thuyết có liên quan đến nội dung bài thí nghiệm
- Chuẩn bị các vật dụng, giấy vở ghi chép số liệu thí nghiệm
- Sự chuẩn bị của sinh viên phải được thông qua kiểm tra của người hướng dẫn thí nghiệm Nếu không đạt, sẽ không được tham gia thí nghiệm và có được thí nghiệm tiếp vào buổi khác hay không sẽ do Bộ môn và Ban chủ nhiệm khoa giải quyết
Trang 25Phần II: VIẾT BÁO CÁO THÍ NGHIỆM
Phân tích cơ sở lý thuyết như mục 1.2
2.2.2 Báo cáo k t qu thí nghi m
- Tổng hợp những kết quả chính cho nội dung báo cáo
- Phương pháp xử lý kết quả thí nghiệm
- Gia công kết quả, lập bảng, vẽ đặc tính
- Nhận xét kết quả:
+ Các kết quả thu được từ thí nghiệm
+ So sánh kết quả thí nghiệm với lý thuyết
+ Mức độ kết quả đạt được so với yêu cầu đề ra
+ Đánh giá các sai số của dụng cụ, thiết bị thí nghiệm, người thao tác
- Kiến nghị
Trang 27Biên soạn: Th.S Nguyễn Tuấn Anh
QUY TRÌNH THỰC HIỆN BÀI THÍ NGHIỆM
MÔN GIỚI THIỆU VLSI
BÀI: 2 THIẾT KẾ MẠCH ĐẾM TRÊN NỀN FPGA
CHƯƠNG TRÌNH ĐÀO TẠO ĐẠI HỌC THEO HỆ THỐNG TÍN CHỈ
(HỆ 150 TC)
Trang 28- Giúp sinh viên củng cố các kiến thức về thiết kế và lập trình cho các vi mạch FPGA đồng thời tiếp cận với một môi trường thiết kế tích hợp chuyên nghiệp là phần mềm Altium Designer
- Giúp Sinh viên chuyển đổi tư duy từ kiến thức lý thuyết đến tiếp cận với kiến thức thực tế
- Giúp cho SV hiểu rõ được thí nghiệm là một bộ phận công việc của người làm công tác khoa học kỹ thuật
1.2 C s lý thuy t:
Từ ý tưởng là: thiết kế một mạch trôi LED (mạch đếm vòng xoắn, mạch đếm johnson) bit Chúng ta cần một thanh ghi dịch, vào nối tiếp, ra song song, 8 bit Trạng thái các bit đầu ra sẽ như dưới đây:
Trang 29Nên nếu dùng thanh ghi dịch, thì chúng ta sẽ lấy đầu ra của bit cũ đảo lại, và đưa về đầu vào, ta sẽ có bit k sẽ là đảo của bit k’ (bit k cũ, trạng thái trước đó)
Để làm được như vậy, mỗi khi bấm nút, ta cần chốt trạng thái lại, để làm việc này, ta dùng
phần từ tri-gơ FJKC, phần tử trigo có xóa trạng thái
1.3 Thí nghi m:
1.3.1 Nội quy an toàn thí nghiệm:
- Người thực hiện thí nghiệm kể cả Hướng dẫn viên và sinh viên đề phải nắm vững các nội quy an toàn do phòng thí nghiệm quy định, thông qua việc học nội quy
có kiểm tra sát hạch
- Các thiết bị thí nghiệm chịu sự kiểm soát an toàn theo phân cấp của nhà nước phải đảm bảo có đầy đủ biên bản kiểm định an toàn của cấp có thẩm quyền Ví dụ: Thiết bị điện cao thế (trên 1 kV), các thiết bị áp lực, chất hóa học đặc biệt
1.3.2 Nội dung bài thí nghiệm:
- Làm quen phần mềm Altium Designer
- Tạo một project mới trên Altium Designer
- Nhúng mã nguồn HDL vào project
- Cấu hình chân tín hiệu và nạp vào Nanoboard 2
- Kiểm tra hoạt động và đánh giá kết quả
1.3.3 Phương pháp và cách thức thí nghiệm:
1 Giới thiệu thiết bị và dụng cụ thí nghiệm
Altium Innovation Station là bộ công cụ thí nghiệm bao gồm phần mềm Altium Designer và module phần cứng tái cấu hình được NanoBoard Bộ công cụ này cung cấp đầy
đủ các công cụ cần thiết để thiết kế, triển khai và kiểm thử cho các dự án thiết kế vi mạch
FPGA ở mô hình thí nghiệm
Phần mềm thiết kế mạch tự động Altium Designer là một môi trường thiết kế điện tử
đồng nhất, tích hợp cả thiết kế nguyên lý, thiết kế mạch in PCB, thiết kế vi điều khiển và
FPGA
Trang 30Desktop Nano Board NB2DSK01 của Altium là nền tảng phần cứng duy nhất có thể tái cấu hình nhằm khai thác triệt để công suất của các linh kiện khả trình công suất thấp, mật độ cao Điều này cho phép rút ngắn được một cách đáng kể thời gian thiết kế
Desktop Nano Board NB2 được thừa hưởng khái niệm “mạch điện tử dùng để thử nghiệm cấp độ nano” của NB1 và đưa nó lên một tầm cao mới, nâng cao khả năng thiết kế và
gỡ lỗi (debug) toàn bộ thiết kế trước khi đưa ra sản xuất PCB Các board kèm theo hỗ trợ nhiều hơn các đường I/O kết nối từ FPGA đến các thiết bị ngoại vi
2 Phân nhóm thí nghiệm
Trang 313 Sơ đồ hay cách thức tiến hành TN
Thiết kế mạch đếm trên Altium Designer và NanoBoard NB theo sơ đồ sau:
TEST_BUTTON
U4
OR2N2S U6
U8
FJKC GND
GND
U1
INV U3
INV
Q[7 0]
D[7 0]
L CE C CLR
SLI
LEFT SRI
Right-click vào tên của dự án mới tạo (FPGA_Project1.PrjFpg) trong panel
Projects và chọn Save Project Lưu dự án vào ổ với tên tuỳ chọn
• Cách 2: Tạo Project, tạo luôn cả file Constraint:
Trang 33• Thêm mới sơ đồ nguyên lý vào dự án bằng cách chọn Add New to Project »
Schematic trong panel Projects
• Lưu sơ đồ nguyên lý này với tên file Thi_nghiem_Counter_NB2_DB42_02.SchDoc
trong thư mục dự án mới tạo Chọn Save Project
• Lựa chọn các linh kiện từ panel Libraries và đưa vào sơ đồ theo bảng sau:
Số lượng
FJKC
(FPGA Generic.IntLib)
J-K Flip-Flop with Asynchronous Clear 2 U1
Port-Nút bấm điều khiển 1
SW_USER1
SW_USER1
(FPGA NB2DSK01 Plugin.IntLib)
Port-Nút bấm điều khiển 1
SW_USER2
SW_USER2
(FPGA NB2DSK01 Plugin.IntLib)
Port-Nút bấm điều khiển 1 U4
Trang 34U4
OR2N2S U6
U8
FJKC GND
GND
CE C CLR LEFT
SR8CLEDB GND
U8
FJKC GND
GND
U1
INV U3
INV
Q[7 0]
D[7 0]
L CE C CLR
SLI
LEFT SRI
Trang 35
• Lưu dự án: (File » Save All)
(2) Nạp vào NanoBoard
(3) Kiểm tra kết quả có trùng khớp với mình mong muốn hay không
1.3.3 Ghi chép số liệu, kết quả thí nghiệm
Trang 36d.4 LED thấp và 4 LED cao thay nhau sáng luân phiên
e LED sáng tỏa từ giữa ra hai bên, tại mỗi thời điểm chỉ có hai LED sáng
f LED sáng từ hai bên vào giữa, tại mỗi thời điểm chỉ có hai LED sáng
g.Nếu giữ phím SW1, thì 8 LED hiển thị giá trị đếm tăng của số 8 bit, nhả phím thì LED tắt
h.Đếm số lần bấm phím SW5, hiển thị kết quả lên 8 LED đơn
i Chỉ một LED trôi từ trái sang phải, nếu bấm nút SW4 thì sẽ reset lại mạch
j Dùng bộ “2x8-Bit Bus to 1x8-Bit Bus Multiplexer” (M8_B2B1), nếu bấm phím SW5 thì mạch đếm tăng từ 0 255 hiển thị trên 8 LED, nếu bấm nút SW4 thì mạch hiển thị trạng thái của DIPSWITCH (8 công tắc) lên 8 LED
- Mạch sinh viên thiết kế, có thể ở dạng sơ đồ nguyên lý, dạng mã lệnh VHDL, hoặc phối hợp cả hai
- Sự chuẩn bị của sinh viên phải được thông qua kiểm tra của người hướng dẫn thí nghiệm Nếu không đạt, sẽ không được tham gia thí nghiệm và có được thí nghiệm tiếp vào buổi khác hay không sẽ do Bộ môn và Ban chủ nhiệm khoa giải quyết
Trang 37Phần II VIẾT BÁO CÁO THÍ NGHIỆM
Phân tích cơ sở lý thuyết như mục 1.2
2.2.2 Báo cáo kết quả thí nghiệm
- Mỗi sinh viên (nhóm sinh viên) thiết kế 01 mạch ngẫu nhiên đã được chuẩn bị trước ở mục 1.4, trên phần mềm Altium Designer
- Tổng hợp những kết quả chính cho nội dung báo cáo
- Phân tích sơ đồ nguyên lý, mã lệnh
- Lập bảng trạng thái đầu vào, đầu ra (nếu có)
- Nhận xét kết quả:
+ Các kết quả thu được từ thí nghiệm
+ So sánh kết quả thí nghiệm với lý thuyết
+ Mức độ kết quả đạt được so với yêu cầu đề ra
+ Đánh giá các sai số của dụng cụ, thiết bị thí nghiệm, người thao tác
- Kiến nghị
Phần III ĐÁNH GIÁ CHẤM ĐIỂM, BẢO VỆ THÍ NGHIỆM
Bộ môn hay tập thể hướng dẫn thí nghiệm tổ chức đánh giá điểm thí nghiệm thông qua lựa chọn một trong những hình thức sau:
- Chấm điểm dựa trên nội dung bản báo cáo thí nghiệm của từng sinh viên
- Chấm điểm theo hình thức bảo vệ vấn đáp
Điểm thí nghiệm của sinh viên được tổng hợp theo lớp có chữ ký xác nhận Trưởng bộ
môn chuyên môn