1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁO CÁO THIẾT KẾ HỆ THỐNG SỐ KC102 THỰC HÀNH TRÊN BOARD DE2

60 45 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Thiết Kế Hệ Thống Số KC102 Thực Hành Trên Board DE2
Người hướng dẫn Nguyễn Cao Quí
Trường học Trường Đại Học Cần Thơ
Chuyên ngành Công Nghệ
Thể loại báo cáo thực hành
Định dạng
Số trang 60
Dung lượng 24,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BÁO CÁO THỰC HÀNH THIẾT KẾ HỆ THỐNG SỐ KC102 Bài 1: Giới thiệu BOARD ALTERA DE2115, Phần mềm QUARTUS II và MODELSIM Code mô phỏng: module BAI1( output Y, input X); assign Y=X; endmodule module BAI1_test( output wire 0:0LEDR, input wire 0:0SW); BAI1 DUT( .Y (LEDR0), .X(SW0)); endmodule Tiến hành biên dịch và gán chân cho hệ thống. Vào Processing Start compilation, đợi quá trình biên dịch kết thúc và báo thành công. Sau đó vào Assignment Pin Planner Chúng ta chọn SW0 làm ngõ vào và LEDR0 để hiển thị: Kết quả: Bật SW0 thì LEDR0 sáng. BÀI 2: MẠCH TỔ HỢP I. Cổng AND Bảng trạng thái cổng AND A B Y=A.B 0 0 0 0 1 0 1 0 0 1 1 1 Code mô phổng: module BAI2A ( output wire Y, input wire A, input wire B); assign Y=AB; endmodule module BAI2A_test( output wire 1:0LEDR, output wire 0:0LEDG, input wire 1:0SW); assign LEDR1:0 = SW1:0; BAI2A DUT(

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CẦN THƠ

Giảng viên hướng dẫn: NGUYỄN CAO QUÍ

Sinh viên thực hiện:

Trang 2

BÁO CÁO THỰC HÀNH THIẾT KẾ HỆ

-Tiến hành biên dịch và gán chân cho hệ thống Vào Processing Start

compilation, đợi quá trình biên dịch kết thúc và báo thành công Sau đó

vào Assignment Pin Planner

-Chúng ta chọn SW0 làm ngõ vào và LEDR0 để hiển thị:

Trang 3

Kết quả: Bật SW0 thì LEDR0 sáng.

3

Trang 4

output wire [1:0]LEDR,

output wire [0:0]LEDG,

input wire [1:0]SW);

assign LEDR[1:0] = SW[1:0];

Trang 5

.A(SW[0]),

.B(SW[1]));

endmodule

-Tiến hành biên dịch và gán chân cho hệ thống Vào Processing Start

compilation, đợi quá trình biên dịch kết thúc và báo thành công Sau đó

vào Assignment Pin Planner

Ở đây chúng ta chọn SW0 SW1 làm 2 ngõ vào, LEDR0 và LEDR1 hiển thị , Output LEDG0:

Xem thiết kế BAI2A_test ở mức thanh ghi- vận chuyển bằng cách vào

Tools Netlist Viewers  RTL Viewer.

5

Trang 6

Kết quả: Bật SW0 và SW1 , LEDR0 VÀ LEDR1 sáng, Output LEDG8

sáng Cổng AND thực hiện những trạng thái đúng với bảng trạng thái ban đầu mà thiết kế mong muốn có được

Trang 8

Tiến hành biên dịch và gán chân cho hệ thống Vào Processing Start

compilation, đợi quá trình biên dịch kết thúc và báo thành công Sau đó

vào Assignment Pin Planner

-Ở đây chúng ta chọn SW0 SW1 làm ngõ vào, LEDR0 LEDR1 hiển thị, LEDG0 làm ngõ ra

Xem thiết kế BAI2B_test ở mức thanh ghi- vận chuyển bằng cách vào

Tools Netlist Viewers  RTL Viewer.

Trang 9

Kết quả: Mạch được thiết kế hoạt động với các trạng thái đúng với trạng thái của cổng OR.

9

Trang 10

III Mạch kiểm tra chẵn lẻ

Trang 11

-Tiến hành biên dịch và gán chân cho hệ thống Vào Processing Start

compilation, đợi quá trình biên dịch kết thúc và báo thành công Sau đó

vào Assignment Pin Planner

-Ở đây ngõ vào là SW0,1; LEDR0,1,2,3 hiển thị ; LEDG0,1,2,3 là ngõ ra

Xem thiết kế BAI2B_test ở mức thanh ghi- vận chuyển bằng cách vào

Tools Netlist Viewers  RTL Viewer.

11

Trang 13

BÀI 3 : MẠCH TỔ HỢP

3A : MẠCH CỘNG BÁN PHẦN

module BAI3A (

output wire SUM,

output wire CARRY,

Trang 14

Người học sử dụng SW0 và SW1 để nhập 2 số hạng A và B Giá trị của

2 số hạng hiển thị trên 2 LED đơn màu đỏ LEDR0 và LEDR1 tương ứng Các LED đơn àu xanh LEDG1 và LEDG0 sáng tương ứng với giá trị bit bằng 1 và ngược lại tương ứng với giá trị bit 0

Trang 15

3B: Mạch cộng toàn phần :

module BAI3B(

output wire SUM,

output wire CARRY,

input wire A,

input wire B,

15

Trang 16

input wire C);

wire HALF_SUM1, HALF_CARRY1, HALF_CARRY2;

BAI3 HA1 (HALF_SUM1, HALF_CARRY1,A,B);

BAI3A HA2(SUM, HALF_CARRY2, HALF_CARRY2 ;

Thực hiện : Người học sử dụng các SW2,SW1,và SW0 để nhập các giá

trị tương ứng A,B và C Tổng (Sum) và số tràn (Carry) của phép cộng toàn phần đươc hiển thị bởi LED đơn màu xanh lá LEDG1 và LEDG0

Trang 18

Mã hóa ưu tiên 8 sang 3 đường:

Trang 19

19

Trang 20

ứng X7…X0 Các LED đơn màu đỏ LEDR7…LEDR0 hiển thị giá trị tương ứng của các ngõ X7…X0 ; các LED đơn màu xanh hiển thị giá trị tương ứng của các ngõ vào X7…X0 ; các LED đơn màu xanh

lá(LEDG2…LEDG0) hiển thị giá trị các ngõ ra tương ứng Y2…Y0

Trang 22

Thực hiện: Người học sử dụng SW0 để nhập giá trị ngõ vào D; giá trị

được hiển thị bởi LED đơn màu đỏ LEDR0 Ngõ ra Q và Qbar được hiểnthị trên các LED đơn màu xanh tương ứng là LEDG1 và LEDG0 Các KEY1 và KEY0 sẽ có vai trò cấp xung clock (Clk) và tín hiệu xáo

(Reset)

Trang 25

25

Trang 30

endcase

end

assign Q = S_reg;

Trang 31

Thực hiện: Các ngõ vào dữ liệu D0 đến D7 tương ứng với các SW0 đến

SW7 SW8 và SW9 được sử dụng nhập các giá trị điều khiển ctrl0 và ctrl1

KEY0 được sử dụng để reset trạng thái mạch, KEY1 làm nhiệm vụ cấp xung đồng hồ Trạng thái của các ngõ ra Q0 đến Q7 được hiển thị bởi các cấp xung đồng hồ Trạng thái của các ngõ ra Q0 đến Q7 được hiển thị bởi các cấp xung đồng hồ Trạng thái của các ngõ ra Q0 đến Q7 đượchiển thị bởi các LED đơn màu xanh lá tương ứng LEDG0 và LEDG7

31

Trang 36

BÀI 5 MẠCH TUẦN TỰ (TIẾP THEO)

Mục đích:

Tiếp tục trang bị cho người học kiến thức và kỹ năng lập trình thiết kế mạch tuần tự qua việc thiết kế mạch đếm lên, đếm lên/xuống và đếm vòng

Tiếp tục phát triển kỹ năng lập trình, sử dụng phần mềm Modelsim và Quartus II, thành tạo các bước thiết trên board Altera DE2_15

Trang 37

37

Trang 41

.0: mạch đếm xuống

-KEY1 làm nhiệm vụ cấp xung clk cho mạch đếm và KEY0 để reset (xóa các giá trị ngõ ra Q3 đến Q0 về 0), trạng thái được hiển thị bởi các LED đơn vị xanh lá LEDG1 và LEDG0 tương ứng giá trị các ngõ ra Q3 đến Q0 được hiển thị bởi các LED đơn màu đỏ tương ứng từ LEDR3 đếnLEDR0

41

Trang 46

BÀI 6 MẠCH TRẠNG THÁI HỮU HẠN

Reg [2:0] p_state, n_state; // present and next state, respectively

Always @ (X or p_state ) begin: Transitions

N_state = A;// Reset state

Trang 50

6.2 MÁY MEALY – MẠCH PHÁT HIỆN CHUỖI BIT:

always @ (X or p_state ) begin: Transitions

n_state = A;// Reset state

Trang 52

Phương pháp thực hiện:

Người học sử dụng SW0 để chọn giá trị ngõ vào X, nhấn nút KEY1 để cấp xung đồng hồ, KEY0 để reset hoạt động của hệ thống và quan sát trạng thái LEDG0: LED sẽ sáng khi chuỗi bít 1011 được phát hiện trong chuỗi giá trị nhận được ở ngõ vào X

Trang 53

53

Trang 54

parameter SEC5=4’b1111,SEC1=4’b0011; // delaysalways @ (posedge clk)

Trang 57

case (state)

S0: lights = 6’b100001; //Cot1:G;Cot2:RS1: lights = 6’b010001; //Cot1:Y;Cot2:RS2: lights = 6’b001001; //Cot1:R;Cot2:RS3: lights = 6’b001100; //Cot1:R;Cot2:GS4: lights = 6’b001010; //Cot1:R;Cot2:YS5: lights = 6’b001001; //Cot1:R;Cot2:Rdefault lights = 6’b100001; //Cot1: G;Cot2:Rendcase

Trang 58

assign clk3 = q[24]; // 3 HZ

endmodule

Kiểm tra và thiết kế BAI6C_test với nội dung sau:

module BAI6C_test(

input wire CLOCK_50,

input wire [0:0] KEY,

Ngày đăng: 19/08/2021, 10:58

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w