Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

PRELAB 4 THI NGHIEM KY THUAT SO, Lab Reports of Digital Electronics

COMBINATIONAL CIRCUITS AND SEQUENTIAL CIRCUITS ON FGBA.

Typology: Lab Reports

2024/2025

Uploaded on 04/27/2025

vinh-huy
vinh-huy 🇻🇳

2 documents

1 / 15

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
TNKTS BÀI CHUẨN BỊ 4 THỰC HIỆN VÀ MÔ PHỎNG HỆ TỔ HỢP VÀ TUẦN T
CƠ BẢN TRÊN FPGA
Department of Electronics Page | 1
Digital System Design Laboratory
BÀI CHUẨN BỊ THÍ NGHIỆM 4
THỰC HIỆN VÀ MÔ PHỎNG HỆ TỔ HỢP TUẦN TỰ
CƠ BẢN TRÊN FPGA
Họ và tên: Trần Vĩnh Huy
Lớp TN: DT01
MSSV: 2433148
Ngày: 06-04-2025
MỤC TIÊU
Nắm được cách sử dụng kit thí nghiệm, phần mềm lập trình.
Nắm được cách khảo sát và thiết kế hệ mạch đếm sử dụng các IC chức năng cơ bản.
Nắm được quy trình tả phần cứng trên FPGA.
CHUẨN BỊ
Bài thí nghiệm 0 của tài liệu hướng dẫn phần Thí nghiệm trên kit DE2.
Sinh viên phải hoàn thành và nộp PRELAB 4 trước khi vào lớp.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download PRELAB 4 THI NGHIEM KY THUAT SO and more Lab Reports Digital Electronics in PDF only on Docsity!

CƠ BẢN TRÊN FPGA

Department of Electronics Page | 1

BÀI CHUẨN BỊ THÍ NGHIỆM 4

THỰC HIỆN VÀ MÔ PHỎNG HỆ TỔ HỢP VÀ TUẦN TỰ

CƠ BẢN TRÊN FPGA

Họ và tên: Trần Vĩnh Huy Lớp TN: DT MSSV: 2433148 Ngày: 06 - 04 - 2025

MỤC TIÊU

 Nắm được cách sử dụng kit thí nghiệm, phần mềm lập trình.  Nắm được cách khảo sát và thiết kế hệ mạch đếm sử dụng các IC chức năng cơ bản.  Nắm được quy trình mô tả phần cứng trên FPGA.

CHUẨN BỊ

 Bài thí nghiệm 0 của tài liệu hướng dẫn phần Thí nghiệm trên kit DE2.  Sinh viên phải hoàn thành và nộp PRELAB 4 trước khi vào lớp.

CƠ BẢN TRÊN FPGA

Department of Electronics Page | 2

BÀI CHUẨN BỊ 1

Mục tiêu: Nắm được các thức mô tả mạch cộng toàn phần (FA) sử dụng ngôn ngữ systemverilog. Yêu cầu: Sinh viên đọc đoạn chương trình sau đây dùng để mô tả bộ FA.

module FA_ex1(

input A,

input B,

input Ci,

output S,

output Co);

assign S = A ^ B ^ Ci;

assign Co=(A&B)|(A&Ci)|(B&Ci);

endmodule

 Sinh viên tiến hành biên dịch đoạn chương trình trên. Sau đó, sinh viên tiến mô phỏng dạng sóng ngõ ra trong tất cả các trường hợp của ngõ vào. Chụp hình dạng sóng ngõ ra.

CƠ BẢN TRÊN FPGA

Department of Electronics Page | 4 design.sv testbench.sv

CƠ BẢN TRÊN FPGA

Department of Electronics Page | 5 Cách 2: Dùng If…else design.sv

CƠ BẢN TRÊN FPGA

Department of Electronics Page | 7

CƠ BẢN TRÊN FPGA

Department of Electronics Page | 8

BÀI CHUẨN BỊ 3

Mục tiêu: Nắm được các thức mô tả mạch giải mã số BCD sang mã LED 7 đoạn loại anode chung sử dụng ngôn ngữ systemverilog. Yêu cầu: Sinh viên thực hiện mô tả mạch giải mã số BCD sang mã LED 7 đoạn loại anode chung.  Sinh viên hoàn thành bảng chân trị của mạch giải mã. I 3 I 2 I 1 I 0 g f e d c b a 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0



1 1 1 1 - - - - - - - source: internet  Sinh viên thực hiện mô tả theo yêu cầu của bài toán sử dụng ngôn ngữ systemverilog. Gợi ý: sử dụng câu lệnh case ….. input [3:0]I; always@(*) begin case(I) 4’b0000: out <= 7’b1000000; 4’b0001: out <= …

CƠ BẢN TRÊN FPGA

Department of Electronics Page | 10

BÀI CHUẨN BỊ 4

Mục tiêu: Nắm được các thức mô tả mạch chuyển đổi 1 xung có tần số 50MHz sang 1 xung có tần số 1Hz sử dụng ngôn ngữ systemverilog. Yêu cầu: Sinh viên thực hiện mô tả mạch chuyển đổi 1 xung có tần số 50MHz sang 1 xung có tần số 1Hz. Gợi ý:

  • Xung có tần số 50MHz sẽ thực hiện 50 000 000 dao động trong 1s. (1 dao động bao gồm 1 lần mức cao và 1 lần mức thấp). - Xung có tần số 1Hz sẽ thực hiện 1 dao động trong 1s.
  • Vận dụng nguyên lí của mạch đếm, mạch nhận ngõ vào là xung 50MHz, khi xung ngõ vào đếm 25 000 000 sẽ tiến hành đảo trạng thái của xung ngõ ra. Đoạn chương trình minh họa: integer i=0; reg temp=0; always_ff@(posedge clk) begin i = i + 1;

CƠ BẢN TRÊN FPGA

Department of Electronics Page | 11 if (i == 25 000 000) begin out = ~ out; i = 0; end end  Sinh viên sử dụng gợi ý trên và thực hiện mô tả theo yêu cầu của bài toán sử dụng ngôn ngữ systemverilog. design.sv

CƠ BẢN TRÊN FPGA

Department of Electronics Page | 13 Các trạng thái lần lượt là: S0 (00), S1 (01), S2 (10), S3(11) Đoạn chương trình cho máy trạng thái trên: input X; //Khai báo ngõ vào 1 bit input clk; //Khai báo clock output reg [ 1 :0]Y; //Khai báo ngõ ra 2 bit parameter S0=2'b00, S 1 =2'b01, S 2 =2'b10, S 3 =2'b11; //Định nghĩa các trạng thái reg [1:0]pre_state, next_state; //Các thanh ghi chưa trạng thái //Khối chuyển trạng thái always@(posedge clk) begin if (rst) begin pre_state <= S0; end else pre_state <= next_state; end //Khối chuyển trạng thái always@(pre_state or X) begin case(pre_state) S0: if (X) next_state <= S 1 ; else next_state <= S0; S 1 : if (!X) next_state <= S 2 ; else next_state <= S0; S 2 : if (!X) next_state <= S 3 ;

CƠ BẢN TRÊN FPGA

Department of Electronics Page | 14 else next_state <= S2; S 3 : if (!X) next_state <= S0; else next_state <= S3; endcase; end //Khối tạo ngõ ra always@(*) begin case (pre_state) S0: Y <= 2 'b 00 ; S 1 : Y <= 2 'b 10 ; S 2 : Y <= 2 'b 11 ; S 3 : Y <= 2 'b 01 ; endcase; end design.sv