1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

QUY TRÌNH THIẾT KẾ & SẢN XUẤT VI MẠCH BÁO CÁO LAB 1 THIẾT KẾ BỘ ALU

21 84 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

Định dạng
Số trang 21
Dung lượng 1,12 MB

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

Nội dung

QUY TRÌNH THIẾT KẾ & SẢN XUẤT VI MẠCH BÁO CÁO LAB 1 THIẾT KẾ BỘ ALU đề tài QUY TRÌNH THIẾT KẾ & SẢN XUẤT VI MẠCH BÁO CÁO LAB 1 THIẾT KẾ BỘ ALU

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ

-o0o -

QUY TRÌNH THIẾT KẾ

& SẢN XUẤT VI MẠCH BÁO CÁO LAB 1 THIẾT KẾ BỘ ALU

GVHD: PGS.TS Hoàng Trang TGHD: Đỗ Quang Thịnh NTH: Nhóm 9

TPHCM, THÁNG 9 NĂM 2021

Trang 2

DANH SÁCH THÀNH VIÊN NHÓM 9

1 Nguyễn Thái Nguyên (Nhóm trưởng) 1712386 nguyen.nguyen29091999@hcmut.edu.vn 0977331297

2 Phạm Đăng Long 1812930 long.phambkforever@hcmut.edu.vn 0905439867

3 Trần Văn Thành 1814035 thanh.tran.432@hcmut.edu.vn 0375688146

Trang 3

MỤC LỤC

1 Tổng quan lý thuyết 5

1.1 Thiết kế cấp độ Speccification 5

2 Thực hiện thiết kế 6

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

2.2 Môi trường làm việc 10

2.2.1 File set_env.bash: 10

2.2.2 File lab_rtl.flist: 10

2.2.3 File lab_ben.flist: 10

2.2.4 File Makefile: 11

2.3 Kiểm định RTL 11

2.3.1 File testtop.v 11

2.3.2 Kết quả hiển thị ở terminal sau khi make 12

2.3.3 Dạng sóng của thiết kế 12

2.4 Synthesis 13

2.4.1 File dc_command.src 13

2.4.2 File ALU sau khi Synthesis 15

2.4.3 File reports 16

3 Kết luận 19

3.1 Nhận xét 19

3.2 Kết luận 19

4 Phục lục 19

5 Tài liệu tham khảo 19

6 Câu hỏi lý thuyết 19

6.1 Phân biệt các tool trong RTL 19

6.2 Giải thích ý nghĩa 20

6.3 Bonus 21

6.4 Đầu vào và đầu ra của Synthesis 21

Trang 4

DANH SÁCH HÌNH ẢNH

Hình 1-1: Sơ đồ khối bộ ALU 5

Hình 2-1: Khối ALU 4 bit 7

Hình 2-2: Khối ADD 4 bit 7

Hình 2-3: Khối ADD 1 bit 7

Hình 2-4: Khối AND 4 bit 8

Hình 2-5: Khối AND 1 bit 8

Hình 2-6: Khối OR 4 bit 9

Hình 2-7: Khối OR 1 bit 9

Hình 2-8: Khối XOR 4 bit 9

Hình 2-9: Khối XOR 1 bit 10

Hình 2-10: Khối control 10

Hình 2-11: Fie lab_rtl.flist 10

Hình 2-12: File lab_ben.flist 10

Hình 2-13: File Makefile 11

Hình 2-14: File testtop.v 11

Hình 2-15: Kết quả ở terminal sau khi make 12

Hình 2-16: Kết quả dạng sóng của thiết kế 12

Hình 2-17: File dc_command.src 13

Hình 2-18: File report.area 16

Hình 2-19: File report.timing 16

Hình 6-1: Nơi chứa lệnh vlogan & vcs 21

Trang 5

1 Tổng quan lý thuyết

1.1 Thiết kế cấp độ Speccification

a Sơ đồ khối bộ ALU

Hình 1-1: Sơ đồ khối bộ ALU

Trang 6

b Cách thức hoạt động của bộ ALU

- Khối input:

o A, B: 2 dữ liệu đầu vào 4 bit

o Cmd: Tín hiệu control 2 bit,

c Ý tưởng thực thi thiết kế

- Việc đầu tiên là hình thành sơ đồ khối của thiết kế

- Viết các khối xử lý đơn giản add_1bit, and_1bit, or_1bit, xor_1bit

- Viết các khối xử lý lớn add_4bit, and_4bit, or_4bit, xor_4bit từ các khối đơn giản

- Viết khối ALU dựa vào input và chọn output từ tín hiệu điều khiển cmd

o Biến tạm: S_add; S_and; S_or; S_xor cho 4 khối tính toán

o S cuối cùng dựa vào giá trị cmd để assign

Trang 7

Hình 2-1: Khối ALU 4 bit

- Khối tính toán ADD: bằng cách ghép 4 khối adder_1bit lại với nhau

Hình 2-2: Khối ADD 4 bit

Hình 2-3: Khối ADD 1 bit

Các module tính toán Module ALU (TOP)

Chọn output theo tín hiện cmd

Module add

4 bit Module add

1 bit

Trang 8

- Khối tính toán AND: bằng cách ghét 4 khối and_1bit lại với nhau (chú thích tương tự khối ADD)

Hình 2-4: Khối AND 4 bit

Hình 2-5: Khối AND 1 bit

- Khối xử lý OR: bằng cách ghét 4 khối or_1bit lại với nhau (chú thích tương

tự khối ADD)

Trang 10

Hình 2-9: Khối XOR 1 bit

- Khối control: chúng ta assign để chọn giá trị đầu ra phù hợp

Trang 11

- Set input, gọi module alu_4bit

- Test đầy đủ các trường hợp bằng cách thay đổi biến cmd từ 00 01 10 11

Trang 12

2.3.2 Kết quả hiển thị ở terminal sau khi make

Hình 2-15: Kết quả ở terminal sau khi make

- Cột đầu tiên là delay của từng trường hợp

- Kết quả mô phỏng được thể hiện ở hình bên dưới

- Phần bên trái là các biến của thiết kế: input, output, biến tạm, …

- Phần bên trái kết quả dạng sóng thể hiện ở dạng nhị phân

Hình 2-16: Kết quả dạng sóng của thiết kế

Trang 13

Search_path Đường dẫn trỏ tới file library cho thiết kế: thông tin

của các standard cell, unit attributes, process, voltage, temperature operation, Vth, delay of cell,

Target_library Chọn 1 thư viện để thực thi cho thiết kế (Công nghệ

65mn, Vth: high voltage threshold, Process: fast fast, Voltage: 1.32V, Temperature: 0oC) và chọn file dạng mã hóa nhị phân

Trang 14

Command

Analyse –format (định dạng file kiểu verilog or vhdl)

Phân tích các khối verilog cụ thể vừa tạo và trả về kết quả mẫu vào thư viện cụ thể có dạng specialize

và alaborate có khả năng kết hợp của toàn thiết kế

Elaborate design_name

Tạo thiết kế từ định dạng trung gian của module Verilog, thực thể và kiến trúc VHDL hoặc VHDL cấu hình

Current_design Thiết kế hiện tại Compile_ultra Cpmpile: Biểu diễn toonge hợp logic_level và

gate_logic và optimization trên thiết kế hiện tại Compile_ultra: Biểu diễn high-effort trên thiết kế hiện tại cho chất lượng kết quả tốt hơn (QoR) Report_area Hiển thị thông tin area cho design hoặc instance

hiện tại Report_timing Hiển thị thông tin timing cho thiết kế hiện tại Report_constraint Hiển thị các ràng buộc của thiết kế

Reprort_qor Hiển thị thông tin QoR và statistics của design

(timing path groups, DRV, tổng cell, area, constrains,

Trang 15

2.4.2 File ALU sau khi Synthesis

Tổng thể khối ALU:

tên, input, output

Trang 16

………

Điểm đầu, điểm cuối của 1 timing path Path group: Nhóm clock

Path type: max (tính setup), min (hold)

Total delay: cell delay + net delay

Delay cộng dồn qua từng phần tử

Rise or Fall

Tên của cell trong design

Lib_cell

Trang 17

2.4.3.3 Report.qor

1

2 ****************************************

3 Report : qor

4 Design : alu_4bit

5 Version: L-2016.03-SP1

6 Date : Sat Oct 9 09:56:41 2021

7 ****************************************

8

9

10 Timing Path Group (none)

11 -

12 Levels of Logic: 7.00 13 Critical Path Length: 0.36 14 Critical Path Slack: uninit 15 Critical Path Clk Period: n/a 16 Total Negative Slack: 0.00 17 No of Violating Paths: 0.00 18 Worst Hold Violation: 0.00 19 Total Hold Violation: 0.00 20 No of Hold Violations: 0.00 21 -

22 23 24 Cell Count 25 -

26 Hierarchical Cell Count: 0

27 Hierarchical Port Count: 0

28 Leaf Cell Count: 39

29 Buf/Inv Cell Count: 7

30 Buf Cell Count: 0

31 Inv Cell Count: 7

32 CT Buf/Inv Cell Count: 0

33 Combinational Cell Count: 39

34 Sequential Cell Count: 0

35 Macro Count: 0

36 -

37 38 39 Area 40 -

41 Combinational Area: 93.599999

42 Noncombinational Area: 0.000000

Trang 18

43 Buf/Inv Area: 10.080000

44 Total Buffer Area: 0.00

45 Total Inverter Area: 10.08

46 Macro/Black Box Area: 0.000000

47 Net Area: 0.000000

48 -

49 Cell Area: 93.599999 50 Design Area: 93.599999 51 52 53 Design Rules 54 -

55 Total Number of Nets: 49

56 Nets With Violations: 0

57 Max Trans Violations: 0

58 -

59 60 61 Hostname: localhost.localdomain 62 63 Compile CPU Statistics 64 -

65 Resource Sharing: 0.01 66 Logic Optimization: 0.11 67 Mapping Optimization: 1.30 68 -

69 Overall Compile Time: 8.07 70 Overall Compile Wall Clock Time: 10.86 71 72 -

73 74 Design WNS: 0.00 TNS: 0.00 Number of Violating Paths: 0 75 76 77 Design (Hold) WNS: 0.00 TNS: 0.00 Number of Violating Paths: 0 78 79 -

Trang 19

3 Kết luận

3.1 Nhận xét

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

- Việc xây dựng khối ALU này được dựa trên các khối cơ bản khác nhau

- Sinh viên chưa làm quen với Linux và đặt biệt là flow của thiết kế sẽ gặp nhiều khó khăn

3.2 Kết luận

- Sau khi thực hiện khối ALU 4 chức năng 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

- Giúp sinh viên hiểu được những bước đầu trong quá trình thiết kế vi mạch

- Giúp sinh viên nắm được cơ bản các tool trong các bước thiết kế vi mạch

- Nắm được cách sử dụng Linux là một lợi thế lớn để xin việc sau này

4 Phục lục

5 Tài liệu tham khảo

- Synthesis Tool Commands (DC_Tool_Commands) [1]

- VCS® MX/VCS MXi™ User Guide [2]

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

6 Câu hỏi lý thuyết

6.1 Phân biệt các tool trong RTL

Trang 20

6.2 Giải thích ý nghĩa

Vlogan - VCS cung cấp cho chúng ta các tập lệnh vlogan để phân tích

code thiết kế VHDL và Verilog Vlogan phân tích thiết kế và lưu trữ các tệp trung gian trong thiết kế hoặc thư viện làm việc

o –full64: Phân tích thiết kế với mô phỏng 64bit

o –work library: ánh xạ tên thư viện thiết kế vào tên thư

viện logic WORK Library là đường dẫn vật lý tưng ứng với tên thư viện logic được xác định trong setup file

o –f filename: xác định file chứa danh sách các file

verilog

o –l filename: xác định log file nơi là VCS ghi lại các

lịch sử các dòng lệnh và kết quả dòng lệnh đã được thực thi

o –full64: Phân tích thiết kế với mô phỏng 64bit

o –R: RIG options

o –debug_access: cho phép gỡ lỗi sau quá trình

o –f filename: chỉ định một tệp chưa danh sách tên

đường dẫn đến các tệp nguồn và các tùy chọn thời gian biên dịch

o –l filename: xác định log file nơi là VCS ghi lại các lịch sử các dòng lệnh và kết quả dòng lệnh đã được thực thi

Trang 21

6.3 Bonus

- Những lệnh này nằm ở SP2/bin

/home/albert/MyPrograms/synopsys/M-2017.03-Hình 6-1: Nơi chứa lệnh vlogan & vcs

- Một số lệnh Synopsys hỗ trợ: vmmgen, plato, vcat, rvmgen … 6.4 Đầu vào và đầu ra của Synthesis

- Đầu vào: thư viện (<file>.db), RTL verilog code (<file> v), constrains (<file>.txt)

- Đầu ra: Verilog primitive (<file> v), Timing information (<file>.sdf), DC compiler report (<file>.log), Synthesis database (<file> ddc)

-Hết -

Ngày đăng: 13/05/2022, 10:54

TỪ KHÓA LIÊN QUAN

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

w