1. Trang chủ
  2. » Tất cả

Báo cáo thực hành thiết kế vi mạch theo chuẩn đại học bách khoa thành phố hồ chí minh

16 54 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 thực hành thiết kế vi mạch theo chuẩn đại học Bách Khoa Thành phố Hồ Chí Minh
Tác giả Hoàng Văn Doanh, Nguyễn Tiến Dũng, Võ Minh Duy
Người hướng dẫn Trương Quang Vinh, Trần Hoàng Quân
Trường học Trường Đại học Bách Khoa – Đại học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Khoa Điện – Điện Tử
Thể loại Báo cáo thực hành
Năm xuất bản 2022
Thành phố TP.Hồ Chí Minh
Định dạng
Số trang 16
Dung lượng 2,1 MB
File đính kèm thiet-ke-vi-mach.zip (2 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ế vi mạch theo chuẩn đại học bách khoa thành phố hồ chí minh Báo cáo thực hành thiết kế vi mạch theo chuẩn đại học bách khoa thành phố hồ chí minh Báo cáo thực hành thiết kế vi mạch theo chuẩn đại học bách khoa thành phố hồ chí minh Báo cáo thực hành thiết kế vi mạch theo chuẩn đại học bách khoa thành phố hồ chí minh Báo cáo thực hành thiết kế vi mạch theo chuẩn đại học bách khoa thành phố hồ chí minh

Trang 1

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

MẠCH SỐ CHƯƠNG 2

GVLT: Trương QuangVinh

GV

TH : Trần Hoàng Quân

Hoàng Văn Doanh 1912858 L02 2

Nguyễn Tiến Dũng 1912959 L02 2

Võ Minh Duy 1910099 L02 2

Huỳnh Khả Giang 1913184 L02 2

TP.Hồ Chí Minh, 26 tháng 05 năm 2022

Trang 2

THIẾT KẾ BỘ ĐẾM LÊN/XUỐNG

Sinh viên thực hiện: Nguyễn Tiến Dũng

1 Tổng Quan Lý Thuyết.

1.1 Thiết kế cấp độ Specification (1.5)

A Trình bày sơ đồ khối bộ đếm lên/xuống (hình vẽ) (0.5)

B Giới thiệu chung về cách thức hoạt động của bộ trên (0.5)

Khi có xung cạnh lên của clk, bộ đếm sẽ kiểm tra giá trị của load; nếu load = 1 thì cnt_out sẽ bằng giá trị của cnt_in + 1 nếu mode = 0, bằng cnt_in - 1 nếu mode = 1; nếu load = 0 thì

cnt_out sẽ bằng giá trị của cnt_out (của chu kì trước đó) + 1 nếu mode = 0, bằng cnt_out (của

chu kì trước đó) - 1 nếu mode = 1.

C Giới thiệu sơ qua cách lên ý tưởng thiết kế (bắt đầu từ đâu, ý tưởng thực thi,…) (0.5)

Ý tưởng:

B1: kiểm tra giá trị của load để biết lấy giá trị nào để đếm lên hay đếm xuống

B2: giá trị ở trên dựa vào tín hiệu mode, để biết là đếm lên hay đếm xuống

B3: đưa qua DFF để xuất ra

2 Thực hiện thiết kế (1.5)

2.1 Mạch thiết kế cấp cổng dùng Verilog

A Mã code: Dựa vào sơ đồ khối mô tả ở trên, sinh viên viết code Verilog, sau đó copy

Trang 3

Bộ cộng/trừ 1 tùy vào mode:

DFF:

Ngõ vào: tùy vào load mà chúng ta chọn giá trị để đếm

Trang 4

2.2 Kiểm định RTL (2)

 Yêu cầu trình bày:

A Copy hoặc capture màn hình file testtop.sv Giải thích ngắn gọn ý nghĩa các đoạn

code Lưu ý: testtop.sv cần test đủ các trường hợp đếm lên/xuống khi có load (load=1) và khi không load (load=0), dùng $display để in kết quả ra Terminal, Giá trị cnt_in có thể

cho tùy ý (1)

Trang 5

File testtop.sv:

Giải thích:

- Tạo xung clk chu kì 20s, giá trị đưa vào là 12.

- Mode = 0, load = 0 chế độ đếm lên của cnt_out chu kì trước (ban đầu thì được mặc định bằng 0) để đếm lên 2

Trang 6

- Delay 40s, đổi qua mode = 1 để đếm xuống với giá trị của cnt_out chu kì trước, để đếm

từ 2 về 0

- Tiếp tục delay 40s, đổi qua chế độ đếm xuống với giá trị cnt_in, ngõ ra đếm xuống từ 12

về 11

- Mode cuối cùng là đếm lên với giá trị cnt_in, đếm từ 12 lên 13

- Mỗi khi có giá trị cnt_out thì delay 1s để xuất ra màn hình

B Capture màn hình Terminal sau khi chạy Makefile và giải thích ngắn gọn những gì hiện lên trong Terminal (0.5)

Màn hình Terminal:

Kết quả giống với phần giải thích ở trên: đầu tiên đếm từ 0 lên 2, sau đó đổi mode lại, đếm từ 2

về 0, sau chu kì này thì nhận xung clock và đổi sang đếm lên xuống bằng giá trị cnt_in = 12

C Dùng DVE mở dạng sóng, giải thích ngắn gọn (0.5)

Dạng sóng khi dùng DVE:

Giải thích: bộ đếm hoạt động đúng yêu cầu, có 1 chỗ là tại chu kì thứ 5 và chu kì thứ 6 bộ đếm hiển thị là 000b là vì đếm xuống với giá trị cnt_in nên 2 chù kì đó có giá trị giống nhau

Trang 7

2.3 Synthesis (Tổng hợp) (1.5)

Sinh viên thêm các ràng buộc về clock (chu kì 1000), input delay min/max=1/10, output delay min/max=1/10 vào file dc_command.src

 Yêu cầu trình bày:

A Copy hoặc capture màn hình file Verilog của bộ đếm sau khi đã Synthesis (0.5)

Trang 9

1

Trang 11

1

Trang 13

Giải thích: bất đẳng thức: Tlaunch + Tck2q + Tdp ≤ Tcapture + Tcycle + Tsetup

- Kiểm tra điều kiện về setup time

- Data required time là về phải của bất đẳng thức

- Data arival time là vế trái của bất đẳng thức

- Slack được tính bằng hiệu của data required time và data arrival time

Trang 14

Sinh viên sử dụng phần mềm Formality để kiểm định.

 Yêu cầu trình bày:

A Capture màn hình thông báo của Formality sau khi chạy Matching (0.5)

B Capture màn hình thông báo của Formality sau khi chạy Verify (0.5)

3 Kết luận (1)

3.1 Nhận xét

- Mạch thiết kế bộ đếm lên/xuống này là dạng cơ bản của một bộ đếm, các chức năng ở dạng đơn giản, không có nhiều chế độ đếm, tuy nhiên với một số cá nhân không nhớ

Trang 15

- Sinh viên chưa làm quen với Linux sẽ gặp nhiều khó khăn

3.2 Kết luận.

- Sau khi thực hiện bộ đếm giúp sinh viên ôn lại kiến thức code verilog và biết được môi trường làm việc sau này sẽ như thế nào

4 Phụ lục

5 Tài liệu tham khảo (nếu có).

- Tài liệu hướng dẫn thí nghiệm Quy trình thiết kế vi mạch số

6 Đường link folder mô phỏng và video:

https://drive.google.com/drive/folders/1Oba4f4PFc0_neoyDcMmrVsBOYEaU-Kvg?

usp=sharing

Ngày đăng: 06/02/2023, 14:17

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

TÀI LIỆU LIÊN QUAN

w