Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
2,12 MB
Nội dung
TIEU LUAN MOI download : skknchat@gmail.com TRƯỜNG ĐẠI HỌC BÁCH KHOA TPHCM KHOA ĐIỆN – ĐIỆN TỬ BÀI TẬP LỚN THIẾT KẾ VI MẠCH THIẾT KẾ BỘ ĐẾM LÊN VÀ ĐẾM XUỐNG GVHD: Trần Hoàng Quân SINH VIÊN THỰC HIỆN: Hà Huy Đức Thành phố Hồ Chí Minh, năm 2022 TIEU LUAN MOI download : skknchat@gmail.com TIEU LUAN MOI download : skknchat@gmail.com I Tổng quan lí thuyết Thiết kế cấp độ Specification - Sơ đồ thiết kế: Hình 1: Sơ đồ thiết kế mạch counter - - Cách thức hoạt động trên: + Đưa cnt_in vào counter ( Mình tự ghi giá trị đếm bắt đầu 25) + Khi có xung clk cạnh lên, đếm kiểm tra giá trị tín hiệu load, + Load= cnt_in = cnt_in ( ban đầu) Mode =1 cnt_out = cnt_in +1; Mode =0 cnt_out = cnt_in – 1; + Load =0 cnt_in = cnt_out (trước đó) Mode =1 cnt_out = cnt_in + 1; Mode =0 cnt_out = cnt_in – 1; Ý tưởng thiết kế: + Ban đầu đọc file hướng dẫn chúng em có hình dung chế hoạt động mạch đếm lên đếm xuống Theo bàn luận nhóm thiết kế thành khối lớn vừa có đếm lên, đếm xuống vừa nhận tín hiệu load lệnh mode cho khối counter II Thực thiết kế Mạch thiết kế cấp cổng dùng Verilog Dựa vào sơ đồ khối thiết kế trên, chúng em tạo counter tên boxuli.v – dùng ngôn ngữ Verilog để lập trình TIEU LUAN MOI download : skknchat@gmail.com Hình 2: Dùng verilog thiết kế module Giải thích đoạn lệnh: Hình 3: Phần lệnh khai báo - Khai báo counter Khai báo mode, c_in[15:0], load, cnt_out[15:0],clk,rst Tạo thêm biến temp để giữ giá trị TIEU LUAN MOI download : skknchat@gmail.com Cập nhật nhận xung cạnh lên để thực câu lênh Gán giá trị cnt_in ban đầu vào temp - kiếm tra giá trị load: + load =1 lưu cnt_in vào tạm, cnt_out= cnt_in +1 mode=1; + Nếu load =0: mode =1 tăng biến tạm lưu biến tạm vào cnt_out Ngược lại mode =0 giảm biến tạm lưu biến tạm vào cnt_out Hình 4: Phần lệnh thực Kiểm định RTL a File testbench.v Hình 5: File code testbench - Ý nghĩa lệnh code: + Khai báo Màn hình sau chạy terminal makefile TIEU LUAN MOI download : skknchat@gmail.com Hình 6: Màn hình terminal sau chạy Makefile + Trên hình terminal sau chạy Makefile ta thấy được: cntout giá trị xuất, quan sát đc ngõ thay đổi load Thời gian CPU thực hiện, bao gồm biên lịch, elab, link mô - Mô DVE Hình 7: Dạng sóng câu lệnh thực DVE - Giải thích: I từ tới 100 cho chạy câu lệnh mode=1 load =0 câu lệnh cntout = cnt out (trước đó) + đến câu lệnh tới i=10 câu lệnh đổi thành mode load =1 lúc cntout=cntin+1 Tới câu lệnh i= 15 câu lệnh đổi thành mode =0 load =1 lúc cntout = cntin -1 Tới i=20 câu lệnh mode =0 load =0 cntout = cntout( trước đó) -1 TIEU LUAN MOI download : skknchat@gmail.com Synthesis tổng hợp Thêm thư viện Các file RTL cần phân tích file RTL cần synthesis Thiết kế ràng buộc Chạy synthesis lưu file report + RTL synthesis( file lab_synth.netlist.v Hình 8: Nội dung file dc_command.src - File Verilog sau synthesis thành công TIEU LUAN MOI download : skknchat@gmail.com TIEU LUAN MOI download : skknchat@gmail.com TIEU LUAN MOI download : skknchat@gmail.com Hình 9: File verilog synthesis - File report.timing TIEU LUAN MOI download : skknchat@gmail.com Hình 10: File report.timing - Giải thích: file kiểm tra setup time dùng Path Type (max), hold time dùng Incr (min) để kiểm tra giá trị Slack (MET) = data require time – data arrival time có nghĩa điều kiện thỏa mãn Kiểm định netlist - Kiểm tra matching: điều kiện matching thành cơng TIEU LUAN MOI download : skknchat@gmail.com Hình 11: Kiểm tra Matching formality - Kiểm tra verify: thành công Hình 12: Kiểm tra verify III Kêt luận Nhận xét Trong q trình làm khó khăn chúng em viết file boxuli.v để tối ưu câu lệnh khó khăn tiếp xúc với phần mềm TIEU LUAN MOI download : skknchat@gmail.com Kết luận Sau làm mô thực thấy chương trình mơ chạy ổn chạy với ý tưởng ban đầu đề ... cnt_in – 1; Ý tưởng thiết kế: + Ban đầu đọc file hướng dẫn chúng em có hình dung chế hoạt động mạch đếm lên đếm xuống Theo bàn luận nhóm thiết kế thành khối lớn vừa có đếm lên, đếm xuống vừa nhận... quan lí thuyết Thiết kế cấp độ Specification - Sơ đồ thiết kế: Hình 1: Sơ đồ thiết kế mạch counter - - Cách thức hoạt động trên: + Đưa cnt_in vào counter ( Mình tự ghi giá trị đếm bắt đầu 25)... xuống vừa nhận tín hiệu load lệnh mode cho khối counter II Thực thiết kế Mạch thiết kế cấp cổng dùng Verilog Dựa vào sơ đồ khối thiết kế trên, chúng em tạo counter tên boxuli.v – dùng ngôn ngữ Verilog