Bài thí nghiệm 1 Thiết kế hệ thống số chuyên dụng

18 220 0
Bài thí nghiệm 1 Thiết kế hệ thống số chuyên dụng

Đ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

23PHẦN HƯỚNG DẪN THỰC HÀNHI. THỰC HÀNH NGÔN NGỮ MÔ TẢ PHẦN CỨNG1. BÀI THÍ NGHIỆM SỐ 1: MÔ PHỎNG BỘ CỘNG 4BIT1.1. Mục đích, yêu cầua) Mục đíchĐây là bài thực hành mạch logic tổ hợp cơ bản, sinh viên sẽ được giới thiệuvề lý thuyết xây dựng một khối mạch tổ hợp thông qua ví dụ về khối cộng4bit, cách sử dụng các kiểu mô tả kiến trúc kiểu luồng dữ liệu và kiểu cấu trúc.Ngoài ra, bài thực hành sẽ có hướng dẫn chi tiết việc mô phỏng bằngModelSim, Xilinx ISE.b) Yêu cầuSinh viên nắm vững các câu lệnh và cú pháp sử dụng trong mạch tổ hợpphục vụ cho việc viết mã nguồn mô tả phần cứng cho bộ cộng 4bit.1.2. Tóm tắt lý thuyếtBộ cộng được thiết kế đơn giản nhất bằng cách ghép nối tiếp 4 khốifull_adder 1bit.Hình 1.1. Cấu trúc của 4 bitadderKhối full_adder như trên lý thuyết có thể mô tả theo các kiểu kiến trúckhác nhau, ở đây để đơn giản chọn kiểu mô tả theo luồng dữ liệu (dataflow).AsBCout Σ CinSum(3)A(3) B(3)Sum(2)A(2) B(2)Sum (1)A(1) B(1)Sum (0)A(0) B(0) CinC(2) C(1) C(0)CoutΣfull_adderΣfull_adderΣfull_adderΣfull_adderSum241.3. Nội dung thí nghiệmNội dung 1: Viết mã nguồn bộ cộng 4bit bằng ngôn ngữ VHDL.Nội dung 2: Thực hành mô phỏng bộ cộng 4bit trên ModelSim.Nội dung 3: Thực hành mô phỏng bộ cộng 4bit trên Xilinx ISE.Nội dung 4: Thực hành mô phỏng bộ cộng 4bit trên Xilinx Vivado.Nội dung 5: Bài tập phát triển thêm.1.4. Trình tự thí nghiệma) Chuẩn bị thí nghiệm Vị trí thực hành bài thí nghiệm:+ Các bài thí nghiệm môn học Thiết kế logic số được tiến hành tạiphòng thí nghiệm của Bộ môn Kỹ thuật Xung Số Vi xử lý.+ Mỗi nhóm học viên được bố trí ngồi một bàn thí nghiệm. Dụng cụ, vật tư và trang thiết bị thí nghiệm:+ Trên mỗi bàn thí nghiệm bố trí 01 máy tính, 01 panel thí nghiệm.+ Học viên tự đăng ký mượn thêm các dụng cụ phục vụ thí nghiệm vàcác linh kiện liên quan đến bài thí nghiệm với giáo viên hướng dẫn thí nghiệm.+ Trong trường hợp khi giáo viên hướng dẫn thí nghiệm đã hướng dẫnđầy đủ các quy tắc an toàn về nguồn điện, an toàn mạch thí nghiệm mà học viênlàm sai, không tuân thủ theo các nguyên tắc, gây ra hiện tượng chập cháy,hỏng hóc linh kiện sẽ phải hoàn toàn chịu trách nhiệm.b) Tiến hành thí nghiệmNội dung 1: Viết mã nguồn bộ cộng 4bit bằng ngôn ngữ VHDL.Bước 1. Tạo thư mục làm việc.Tạo thư mục con có tên adder4 trong thư mục D:DLD_Labs. Thư mụclàm việc sẽ là D:DLD_LabsBasic_Labsadder4.Bước 2. Tạo file mã nguồn cho bộ cộng toàn phần trên Notepad++.Mở phần mềm Notepad++, soạn thảo file mã nguồn của bộ cộng 4bit,soạn thảo xong chọn FileSave, và lưu file dưới tên full_adder.vhd trong thưmục làm việc D:DLD_LabsBasic_Labsadder4, lưu ý để lưu dưới dạng .vhdtại ô File types chọn All files ().Nội dung của file code VHDL full_adder.vhd full_adder.vhd 1 bit adder 25library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity full_adder isport (A : in std_logic;B : in std_logic;Cin : in std_logic;S : out std_logic;Cout: out std_logic);end full_adder;architecture dataflow of full_adder isbeginS B(0), Cin => Ci,S => Sum(0), Cout => C(0));u1: component full_adderport map (A => A(1), B => B(1), Cin => C(0),S =>Sum(1), Cout => C(1));u2: component full_adderport map (A => A(2), B => B(2), Cin => C(1),S =>Sum(2), Cout => C(2));u3: component full_adderport map (A => A(3), B => B(3), Cin => C(2),S =>Sum(3), Cout => Co);end dataflow;Nội dung 2: Mô phỏng bộ cộng 4bit trên ModelSim.Bước 1. Thiết lập thư mục làm việc.Hình 1.3. Chọn đường dẫn tới thư mục làm việcKhởi động ModelSim, tại menu File chọn Change Directory, tại hộpthoại Change directory chọn đường dẫn tới thư mục làm việcD:DLD_LabsBasic_Labsadder4 (Hình 1.3).Bước 2. Tạo thư viện work trong ModelSim.27Gõ lệnh sau vào cửa sổ Transcript của ModelSim:vlib workHình 1.4. Tạo thư viện work trên cửa sổ TranscriptBước 3. Biên dịch các file mã nguồn.Gõ các lệnh sau vào cửa sổ Transcript.vcom full_adder.vhdvcom adder4.vhdHình 1.5. Biên dịch các file mã nguồn VHDLKhi trình biên dịch phát hiện ra lỗi về mặt cú pháp thì nó sẽ thông báovị trí và nội dung gây ra lỗi trong mã nguồn. Nếu như mã nguồn của thiết kếkhông có lỗi thì biên dịch xong sẽ cho ra kết quả như hình trên.Bước 4. Kiểm tra nhanh thiết kế.28Tiến hành kiểm tra nhanh thiết kê bằng cách đưa vào đầu vào của DUTcác giá trị cố định và kiểm tra trực tiếp kết quả đầu ra. Kiểm tra nhanh cho phépphát hiện và sửa những lỗi về mặt chức năng đơn giản trước khi bước vàokiểm tra với số lượng lớn tổ hợp giá trị đầu vào.Để kiểm tra nhanh bộ cộng thiết kế ở trên tạo thêm một fileadder4_test.vhd trong thư mục làm việc với nội dung như sau: adder4_test library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity adder4_test isend adder4_test;architecture test of adder4_test iscomponent adder4 isport(A : in std_logic_vector(3 downto 0);B : in std_logic_vector(3 downto 0);CI : in std_logic;SUM: out std_logic_vector(3 downto 0);CO : out std_logic);end component;signal A : std_logic_vector(3 downto 0):= 0101;signal B : std_logic_vector(3 downto 0):= 0110;signal Ci : std_logic := 1;signal Sum: std_logic_vector(3 downto 0);signal Co : std_logic;beginDUT: component adder4port map(A => A, B => B, CI => CI,Sum => Sum, Co => Co);end test;Mã nguồn kiểm tra thiết kế adder4_test là thiết kế không nhất thiếtchứa bất cứ cổng vào ra nào ở phần khai báo. Kiến trúc của nó gồm hai phần,phần khai báo tín hiệu sẽ khai báo các tín hiệu đầu vào của adder4; đối vớicác tín hiệu đầu ra để trống. Phần hai là khai báo sử dụng adder4 như mộtkhối con có tên là DUT và gán các cổng vào ra tương ứng như trên.Bước 5. Tiến hành biên dịch file mã nguồn.Biên dịch file adder4_test.vhd bằng lệnh sau trong cửa sổ Transcript:vcom adder4_test.vhdBước 6. Khởi tạo mô phỏng thiết kế.Tiến hành khởi tạo mô phỏng thiết kế bằng lệnh:29vsim adder4_testHình 1.6. Khởi tạo mô phỏng thiết kếBước 7. Bổ sung các tín hiệu vào cửa sổ wave form để quan sát, đểthực hiện gõ lệnh sau vào cửa sổ Transcript.add wave sim:adder4_testLệnh trên sẽ hiển thị toàn bộ các tín hiệu tương ứng trong componentadder4 lên giản đồ sóng. Sau khi thực hiện các bước trên có thể tiến hànhchạy mô phỏng bằng nút công cụ Run trên thanh công cụ cửa sổ giản đồ sóng:Bước 8. Chạy mô phỏng và quan sát kết quả trên waveform bằng cáchgõ lệnh sau vào cửa sổ Transcript.run 1000 nsKhi gặp lệnh này chương trình sẽ chạy mô phỏng trong thời gian 1000 ns.Kết quả mô phỏng được thể hiện trên hình 1.7.Quan sát trên hình 1.7 và so sánh với mã nguồn của adder4_testbenchcó thể thấy với a = “0101” = 5, b = “0110” = 6, CI = ‘1’ thì cho ra kết quảsum = “1100” = 12.Bước 9. Để có thể dùng lại nhiều lần mà không phải gõ lại mã phục vụmô phỏng, tạo file run.do lưu vào trong thư mục làm việc với nội dung sau.quit simvlib workvcom full_adder.vhdvcom adder4.vhdvcom adder4_test.vhdvsim adder4_testadd wave sim:adder4_testrun 1000 ns30Dòng thứ nhất để kết thúc bất kỳ mô phỏng nào đang thực thi nếu nótồn tại, dòng thứ hai tạo thư viện work nếu nó chưa tồn tại, tiếp đến là cáclệnh vcom để biên dịch các file mã nguồn, lệnh vsim để tiến hành mô phỏng,sau đó là các lệnh bổ sung tín hiệu cần theo dõi vào giản đồ sóng. Lệnh cuốirun 1000 ns dùng để chạy mô phỏng trong thời gian đã được ấn định.Hình 1.7. Kết quả mô phỏng adder4 trên giản đồ sóng ModelSimBước 10. Để biên dịch và chạy lại mô phỏng một cách tự động, tiến hànhgõ lệnh như sau trong cửa sổ Transcript của ModelSim.do run.doLưu ý rằng việc tạo tệp kịch bản mô phỏng (script) này sẽ rất tiện lợicho các thiết kế lớn và phức tạp. Trên thực tế người lập trình có thể phải thực hiệnmô phỏng nhiều lần trước khi có thể kết luận về tính đúng đắn của thiết kế,script run.do giúp quá trình mô phỏng được thực thi nhanh chóng, chính xácmà không phải lặp lại các thao tác lệnh như trong các bước từ 29.Nội dung 3: Thực hành mô phỏng bộ cộng 4bit trên Xilinx ISE.Bước 1. Khởi động Xilinx ISE.Tại menu File chọn New Project, tại của sổ thiết lập thuộc tính chọnđường dẫn tới thư mục làm việc D:DLD_LabsBasic_Labsadder4 chứa cáctệp mã nguồn vừa tạo adder4.vhd, full_adder.vhd.Đặt tên Project là project_ise_adder4 (học viên chú ý rằng tên này cóthể thay đổi tùy biến).31Hình 1.8. Tạo New Project trên phần mềm Xilinx ISEHình 1.9. Đặt tham số chip FPGA trên phần mềm Xilinx ISE32Chọn các thuộc tính mô tả mạch FPGA và nhấn Next, tiếp đó là Finish,kết thúc việc tạo Project (Hình 1.9).Lưu ý, tùy vào mạch cụ thể mà sẽ chọn cấu hình FPGA tương ứnggồm: Family, Device, Package and Speed. Đối với mạch thí nghiệm FPGAVXL2017 của Bộ môn, học viên chọn các thuộc tính như sau: Family Spartan6, Device XC6LSX25, Package FTG256, Speed 3.Bước 2. Bổ sung mã nguồn.Tiến hành thêm tất cả các tệp mã nguồn vào Project đã tạo, bằng cáchnhấn chuột phải vào biểu tượng Project đã tạo và chọn Add Source:Hình 1.10. Bổ sung file mã nguồn VHDL trên phần mềm Xilinx ISEClick chuột để chọn các tệp nguồn, chọn thuộc tính “Simulation”nhằm chỉ ra tệp này chỉ để mô phỏng mà không tạo ra thiết kế trên mạch.Hình 1.11. Chọn thuộc tính Simulation trên phần mềm Xilinx ISE33Bước 3. Chọn chế độ làm việc.Trên cửa sổ thiết kế (Design) của Xilinx ISE có hai nút tùy chọn:Implementation dùng để mô phỏng thực thi và Simulation dùng để mô phỏnglogic, nhấn chọn Simulation.Hình 1.12. Cửa sổ Simulation trên phần mềm Xilinx ISEBước 4. Kiểm tra nhanh thiết kế.Hình 1.13. Kiểm tra lỗi mã nguồn trên phần mềm Xilinx ISETại mục Hierarchy, click chuột chọn phần kiểm tra nhanh (add4_test),tại mục Process ở cửa sổ bên dưới, click chọn Behavioral Check Syntax đểkiểm tra thiết kế có lỗi hay không, nếu có lỗi cú pháp chương trình, tiến hànhsửa, chọn lại Behavioral Check Syntax đến khi chương trình báo không còn lỗi.Bước 5. Mô phỏng và quan sát trên giản đồ sóng.Tại mục Process, click đúp chuột vào Simulate Behavioral Model nằmbên dưới mục Behavioral Check Syntax, thu được kết quả trên giản đồ sóng.34Hình 1.14. Giản đồ sóng mô phỏng trên phần mềm Xilinx ISENội dung 4: Thực hành mô phỏng bộ cộng 4bit trên Xilinx Vivado.Bước 1. Tạo Project mới.Hình 1.15. Khởi tạo Project mới trên phần mềm Xilinx VivadoKhởi động phần mềm Xilinx Vivado, tại cửa sổ Quick Start nhấn vàobiểu tượng “Create New Project”, sẽ xuất hiện hộp thoại ở bên cạnh, nhấnNext để tiến hành các bước tiếp theo trong quá trình tạo Project mới.Bước 2. Tạo đường dẫn cho và đặt tên cho Project.35Hình 1.16. Tạo đường dẫn và đặt tên cho Project trên VivadoTại thư mục adder4 đã tạo ra và chứa code VHDL của bộ cộng 4bittạo một Project mới và đặt tên là project_vidado_adder4 nhằm gợi nhớProject này được tạo ra trên Xilinx Vivado.Bước 3. Chọn kiểu Project cần tạo.Hình 1.17. Chọn kiểu cho Project mới là RTL36Bước 4. Bổ sung tệp mã nguồn VHDL vào Project mới.Hình 1.18. Thực hiện lệnh bổ sung mã nguồn vào Project trên VivadoNhấn chuột vào nút “Add Files” như trên hình 1.18, khi đó sẽ xuất hiệnmột cửa sổ mới cho phép tùy chọn bổ sung các tệp mã nguồn vào Project củabộ cộng 4bit vừa tạo trên Vivado.Hình 1.19. Lựa chọn các file mã nguồn để bổ sung vào Project37Hình 1.20. Các file mã nguồn được bổ sung vào Project mới trên VivadoTiếp đó, nhấn Next liên tiếp để bỏ qua hai tùy chọn Add Existing IPvà Add Constraints, ở những Project đơn giản chưa cần dùng tới hai tùy chọn này.Bước 5. Chọn cấu hình chip FPGA dùng thực thi trên mạch.Hình 1.21. Tùy chọn cấu hình chip FPGA dùng để thực thiSau hai lần bỏ qua các cửa sổ bổ sung thêm tệp nguồn, cửa sổ cuốiDefault Part sẽ xuất hiện phục vụ cho việc lựa chọn cấu hình chip FPGAdùng để thực thi. Khác với ISE, trong Vivado bước này thực hiện sau cùng.38Việc đặt các tham số cũng tùy thuộc vào mạch FPGA cụ thể, ví dụ trongtrường hợp này có thể chọn Artix 7, XC7A100T, FTG256.Sau khi Project mới được tạo ra, có thể quan sát các thông tin vềProject này trong bảng tổng hợp dưới đây sau khi nhấn nút lệnh Next trêncủa sổ Default Part ở hình bên trên.Hình 1.22. Kết quả tổng hợp các thông tin liên quan đến Project mớiBước 6. Tiến hành chạy mô phỏng trên Vivado cho bộ cộng 4bit.Hình 1.23. Thực hiện mô phỏng bộ cộng 4bit trên Vivado39Trên cửa sổ Project Manager ở mép trái của giao diện phần mềmXilinx Vivado (Hình 1.23) là chuỗi các lệnh được sắp xếp theo trình tự thứ bậctừ trên xuống dưới tương ứng với quá trình từ mô phỏng logic cho đối tượngcho tới thực thi trên mạch FPGA.Hình 1.24. Kết quả mô phỏng bộ cộng 4bit trên phần mềm VivadoTrên cửa sổ Sources nhấn chọn đối tượng cần mô phỏng (adder4_test),tiếp đó tại cửa sổ Project Manager ở mép trái giao diện Vivado nhấn chuộtphải vào tùy chọn “Run Simulation”, tiếp đó nhấn vào lệnh “Run BehavioralSimulation” trên menu xổ xuống, quá trình mô phỏng bộ cộng 4bit sẽ bắtđầu được tiến hành trên Vivado. Kết quả mô phỏng trên giản đồ sóng củaphần mềm Vivado được thể hiện trên hình 1.24.Nội dung 5: Bài tập phát triển thêm.Bài 1. Thiết kế khối cộng 8 bit bằng cách ghép nối tiếp hai khối cộng 4 bit.Bài 2. Thiết kế khối biến đổi từ mã nhị phân sang thermometer codecho số nhị phân 3 bit, ví dụ chuỗi đầu ra có 8 bit hiển thị theo thermometercode với số lượng bit ‘1’ từ bên phải sang quy định bởi mã nhị phân đầu vàoVí dụ: 010 → 00000011, 110 → 0011111111.Bài 3. Thiết kế khối tính toán số lượng bit 1 trong một chuỗi 8 bit nhịphân, đầu ra là một số 4 bit nhị phân biểu diễn không dấu của số lượng bit 1.Ví dụ: Đầu vào là 11011101, đầu ra là 0110.40Bài 4. Thiết kế bộ cộng hai số mã NBCD, đầu ra là một số dạng mãNBCD có hai chữ số thể hiện bằng 8 bit như ví dụ sau.Ví dụ: A+B = CD, A = 6(0110), B = 9(1001); 6+9 = 15,nên C = 1(0001) D = 5(0101), kết quả 8 bit CD = 0001 0101.Bài 5. Thiết kế khối cộng, trừ sử dụng toán tử, tín hiệu SUB = 1 thực hiệnphép trừ và SUB = 0 thực hiện phép cộng.ASumBCout Σ Cin3N bit31 0Bs_BA Sub Cin3ADDERSUBTRACTORc) Tổng hợp, xử lý và đánh giá kết quả thí nghiệmQua buổi thí nghiệm, giáo viên sẽ tiến hành đánh giá sơ bộ về kết quảthí nghiệm và ý thức khi tham gia thí nghiệm của các học viên. Kết hợp vớiphần báo cáo kết quả thí nghiệm, giáo viên sẽ tiến hành chấm điểm bài thí nghiệmđối với từng học viên.1.5. Báo cáo thí nghiệma) Hướng dẫn viết báo cáo thí nghiệmSau mỗi buổi thí nghiệm, học viên sẽ viết báo cáo thí nghiệm theomẫu, và nộp bản báo cáo vào đầu buổi thí nghiệm tiếp theo cho giáo viên.b) Mẫu báo cáo thí nghiệmMẫu báo cáo ở Phụ lục của giáo trình.

PHẦN HƯỚNG DẪN THỰC HÀNH I THỰC HÀNH NGÔN NGỮ MƠ TẢ PHẦN CỨNG BÀI THÍ NGHIỆM SỐ 1: MƠ PHỎNG BỘ CỘNG 4-BIT 1.1 Mục đích, u cầu a) Mục đích Đây thực hành mạch logic tổ hợp bản, sinh viên giới thiệu lý thuyết xây dựng khối mạch tổ hợp thơng qua ví dụ khối cộng 4-bit, cách sử dụng kiểu mô tả kiến trúc kiểu luồng liệu kiểu cấu trúc Ngoài ra, thực hành có hướng dẫn chi tiết việc mơ ModelSim, Xilinx ISE b) Yêu cầu Sinh viên nắm vững câu lệnh cú pháp sử dụng mạch tổ hợp phục vụ cho việc viết mã nguồn mô tả phần cứng cho cộng 4-bit 1.2 Tóm tắt lý thuyết Bộ cộng thiết kế đơn giản cách ghép nối tiếp khối full_adder 1-bit A Cout B Cin Σ s Sum A(3) B(3) Σ Cout A(2) C(2) B(2) Σ A(1) C(1) B(1) Σ A(0) C(0) B(0) Cin Σ full_adder full_adder full_adder full_adder Sum(3) Sum(2) Sum (1) Sum (0) Hình 1.1 Cấu trúc của bit-adder Khối full_adder lý thuyết mơ tả theo kiểu kiến trúc khác nhau, để đơn giản chọn kiểu mô tả theo luồng liệu (dataflow) 23 1.3 Nội dung thí nghiệm Nội dung 1: Viết mã nguồn cộng 4-bit ngôn ngữ VHDL Nội dung 2: Thực hành mô cộng 4-bit ModelSim Nội dung 3: Thực hành mô cộng 4-bit Xilinx ISE Nội dung 4: Thực hành mô cộng 4-bit Xilinx Vivado Nội dung 5: Bài tập phát triển thêm 1.4 Trình tự thí nghiệm a) Chuẩn bị thí nghiệm - Vị trí thực hành thí nghiệm: + Các thí nghiệm mơn học Thiết kế logic số tiến hành phòng thí nghiệm Bộ mơn Kỹ thuật Xung Số & Vi xử lý + Mỗi nhóm học viên bố trí ngồi bàn thí nghiệm - Dụng cụ, vật tư trang thiết bị thí nghiệm: + Trên bàn thí nghiệm bố trí 01 máy tính, 01 panel thí nghiệm + Học viên tự đăng ký mượn thêm dụng cụ phục vụ thí nghiệm linh kiện liên quan đến thí nghiệm với giáo viên hướng dẫn thí nghiệm + Trong trường hợp giáo viên hướng dẫn thí nghiệm hướng dẫn đầy đủ quy tắc an toàn nguồn điện, an toàn mạch thí nghiệm mà học viên làm sai, khơng tn thủ theo nguyên tắc, gây tượng chập cháy, hỏng hóc linh kiện phải hồn tồn chịu trách nhiệm b) Tiến hành thí nghiệm Nội dung 1: Viết mã nguồn cộng 4-bit ngôn ngữ VHDL Bước Tạo thư mục làm việc Tạo thư mục có tên adder4 thư mục D:\DLD_Labs Thư mục làm việc D:\DLD_Labs\Basic_Labs\adder4 Bước Tạo file mã nguồn cho cộng toàn phần Notepad++ Mở phần mềm Notepad++, soạn thảo file mã nguồn cộng 4-bit, soạn thảo xong chọn File/Save, lưu file tên full_adder.vhd thư mục làm việc D:\DLD_Labs\Basic_Labs\adder4, lưu ý để lưu dạng vhd ô File types chọn All files (*) Nội dung file code VHDL full_adder.vhd - full_adder.vhd bit adder 24 -library IEEE; use IEEE.STD_LOGIC_1164.ALL; -entity full_adder is port (A : in std_logic; B : in std_logic; Cin : in std_logic; S : out std_logic; Cout: out std_logic); end full_adder; architecture dataflow of full_adder is begin S B(0), Cin => Ci, S => Sum(0), Cout => C(0)); u1: component full_adder port map (A => A(1), B => B(1), Cin => C(0), S =>Sum(1), Cout => C(1)); u2: component full_adder port map (A => A(2), B => B(2), Cin => C(1), S =>Sum(2), Cout => C(2)); u3: component full_adder port map (A => A(3), B => B(3), Cin => C(2), S =>Sum(3), Cout => Co); end dataflow; Nội dung 2: Mô cộng 4-bit ModelSim Bước Thiết lập thư mục làm việc Hình 1.3 Chọn đường dẫn tới thư mục làm việc Khởi động ModelSim, menu File chọn Change Directory, hộp thoại Change directory chọn đường dẫn tới thư mục làm việc D:\DLD_Labs\Basic_Labs\adder4 (Hình 1.3) Bước Tạo thư viện work ModelSim 26 Gõ lệnh sau vào cửa sổ Transcript ModelSim: vlib work Hình 1.4 Tạo thư viện work cửa sổ Transcript Bước Biên dịch file mã nguồn Gõ lệnh sau vào cửa sổ Transcript vcom full_adder.vhd vcom adder4.vhd Hình 1.5 Biên dịch file mã nguồn VHDL Khi trình biên dịch phát lỗi mặt cú pháp thơng báo vị trí nội dung gây lỗi mã nguồn Nếu mã nguồn thiết kế khơng có lỗi biên dịch xong cho kết hình Bước Kiểm tra nhanh thiết kế 27 Tiến hành kiểm tra nhanh thiết kê cách đưa vào đầu vào DUT giá trị cố định kiểm tra trực tiếp kết đầu Kiểm tra nhanh cho phép phát sửa lỗi mặt chức đơn giản trước bước vào kiểm tra với số lượng lớn tổ hợp giá trị đầu vào Để kiểm tra nhanh cộng thiết kế tạo thêm file adder4_test.vhd thư mục làm việc với nội dung sau: adder4_test library IEEE; use IEEE.STD_LOGIC_1164.ALL; -entity adder4_test is end adder4_test; -architecture test of adder4_test is component adder4 is port(A : in std_logic_vector(3 downto 0); B : in std_logic_vector(3 downto 0); CI : in std_logic; SUM: out std_logic_vector(3 downto 0); CO : out std_logic); end component; signal A : std_logic_vector(3 downto 0):= "0101"; signal B : std_logic_vector(3 downto 0):= "0110"; signal Ci : std_logic := '1'; signal Sum: std_logic_vector(3 downto 0); signal Co : std_logic; begin DUT: component adder4 port map(A => A, B => B, CI => CI, Sum => Sum, Co => Co); end test; Mã nguồn kiểm tra thiết kế adder4_test thiết kế không thiết chứa cổng vào phần khai báo Kiến trúc gồm hai phần, phần khai báo tín hiệu khai báo tín hiệu đầu vào adder4; tín hiệu đầu để trống Phần hai khai báo sử dụng adder4 khối có tên DUT gán cổng vào tương ứng Bước Tiến hành biên dịch file mã nguồn Biên dịch file adder4_test.vhd lệnh sau cửa sổ Transcript: vcom adder4_test.vhd Bước Khởi tạo mô thiết kế Tiến hành khởi tạo mô thiết kế lệnh: 28 vsim adder4_test Hình 1.6 Khởi tạo mơ thiết kế Bước Bổ sung tín hiệu vào cửa sổ wave form để quan sát, để thực gõ lệnh sau vào cửa sổ Transcript add wave sim:/adder4_test/* Lệnh hiển thị toàn tín hiệu tương ứng component adder4 lên giản đồ sóng Sau thực bước tiến hành chạy mô nút công cụ Run cơng cụ cửa sổ giản đồ sóng: Bước Chạy mô quan sát kết waveform cách gõ lệnh sau vào cửa sổ Transcript run 1000 ns Khi gặp lệnh chương trình chạy mô thời gian 1000 ns Kết mơ thể hình 1.7 Quan sát hình 1.7 so sánh với mã nguồn adder4_testbench thấy với a = “0101” = 5, b = “0110” = 6, CI = ‘1’ cho kết sum = “1100” = 12 Bước Để dùng lại nhiều lần mà khơng phải gõ lại mã phục vụ mô phỏng, tạo file run.do lưu vào thư mục làm việc với nội dung sau quit -sim vlib work vcom full_adder.vhd vcom adder4.vhd vcom adder4_test.vhd vsim adder4_test add wave sim:/adder4_test/* run 1000 ns 29 Dịng thứ để kết thúc mơ thực thi tồn tại, dịng thứ hai tạo thư viện work chưa tồn tại, tiếp đến lệnh vcom để biên dịch file mã nguồn, lệnh vsim để tiến hành mô phỏng, sau lệnh bổ sung tín hiệu cần theo dõi vào giản đồ sóng Lệnh cuối run 1000 ns dùng để chạy mô thời gian ấn định Hình 1.7 Kết mơ adder4 giản đồ sóng ModelSim Bước 10 Để biên dịch chạy lại mô cách tự động, tiến hành gõ lệnh sau cửa sổ Transcript ModelSim run.do Lưu ý việc tạo tệp kịch mô (script) tiện lợi cho thiết kế lớn phức tạp Trên thực tế người lập trình phải thực mơ nhiều lần trước kết luận tính đắn thiết kế, script run.do giúp trình mơ thực thi nhanh chóng, xác mà lặp lại thao tác lệnh bước từ 2-9 Nội dung 3: Thực hành mô cộng 4-bit Xilinx ISE Bước Khởi động Xilinx ISE Tại menu File chọn New Project, sổ thiết lập thuộc tính chọn đường dẫn tới thư mục làm việc D:\DLD_Labs\Basic_Labs\adder4\ chứa tệp mã nguồn vừa tạo adder4.vhd, full_adder.vhd Đặt tên Project project_ise_adder4 (học viên ý tên thay đổi tùy biến) 30 Hình 1.8 Tạo New Project phần mềm Xilinx ISE Hình 1.9 Đặt tham số chip FPGA phần mềm Xilinx ISE 31 Chọn thuộc tính mơ tả mạch FPGA nhấn Next, tiếp Finish, kết thúc việc tạo Project (Hình 1.9) Lưu ý, tùy vào mạch cụ thể mà chọn cấu hình FPGA tương ứng gồm: Family, Device, Package and Speed Đối với mạch thí nghiệm FPGAVXL-2017 Bộ mơn, học viên chọn thuộc tính sau: Family Spartan6, Device - XC6LSX25, Package - FTG256, Speed - -3 Bước Bổ sung mã nguồn Tiến hành thêm tất tệp mã nguồn vào Project tạo, cách nhấn chuột phải vào biểu tượng Project tạo chọn Add Source: Hình 1.10 Bổ sung file mã nguồn VHDL phần mềm Xilinx ISE Click chuột để chọn tệp nguồn, chọn thuộc tính “Simulation” nhằm tệp để mô mà không tạo thiết kế mạch Hình 1.11 Chọn thuộc tính Simulation phần mềm Xilinx ISE 32 Bước Chọn chế độ làm việc Trên cửa sổ thiết kế (Design) Xilinx ISE có hai nút tùy chọn: Implementation dùng để mơ thực thi Simulation dùng để mô logic, nhấn chọn Simulation Hình 1.12 Cửa sổ Simulation phần mềm Xilinx ISE Bước Kiểm tra nhanh thiết kế Hình 1.13 Kiểm tra lỗi mã nguồn phần mềm Xilinx ISE Tại mục Hierarchy, click chuột chọn phần kiểm tra nhanh (add4_test), mục Process cửa sổ bên dưới, click chọn Behavioral Check Syntax để kiểm tra thiết kế có lỗi hay khơng, có lỗi cú pháp chương trình, tiến hành sửa, chọn lại Behavioral Check Syntax đến chương trình báo khơng cịn lỗi Bước Mơ quan sát giản đồ sóng Tại mục Process, click đúp chuột vào Simulate Behavioral Model nằm bên mục Behavioral Check Syntax, thu kết giản đồ sóng 33 Hình 1.14 Giản đồ sóng mơ phần mềm Xilinx ISE Nội dung 4: Thực hành mô cộng 4-bit Xilinx Vivado Bước Tạo Project Hình 1.15 Khởi tạo Project phần mềm Xilinx Vivado Khởi động phần mềm Xilinx Vivado, cửa sổ Quick Start nhấn vào biểu tượng “Create New Project”, xuất hộp thoại bên cạnh, nhấn Next để tiến hành bước trình tạo Project Bước Tạo đường dẫn cho đặt tên cho Project 34 Hình 1.16 Tạo đường dẫn và đặt tên cho Project Vivado Tại thư mục adder4 tạo chứa code VHDL cộng 4-bit tạo Project đặt tên project_vidado_adder4 nhằm gợi nhớ Project tạo Xilinx Vivado Bước Chọn kiểu Project cần tạo Hình 1.17 Chọn kiểu cho Project là RTL 35 Bước Bổ sung tệp mã nguồn VHDL vào Project Hình 1.18 Thực lệnh bổ sung mã nguồn vào Project Vivado Nhấn chuột vào nút “Add Files” hình 1.18, xuất cửa sổ cho phép tùy chọn bổ sung tệp mã nguồn vào Project cộng 4-bit vừa tạo Vivado Hình 1.19 Lựa chọn các file mã nguồn để bổ sung vào Project 36 Hình 1.20 Các file mã nguồn bổ sung vào Project Vivado Tiếp đó, nhấn Next liên tiếp để bỏ qua hai tùy chọn Add Existing IP Add Constraints, Project đơn giản chưa cần dùng tới hai tùy chọn Bước Chọn cấu hình chip FPGA dùng thực thi mạch Hình 1.21 Tùy chọn cấu hình chip FPGA dùng để thực thi Sau hai lần bỏ qua cửa sổ bổ sung thêm tệp nguồn, cửa sổ cuối Default Part xuất phục vụ cho việc lựa chọn cấu hình chip FPGA dùng để thực thi Khác với ISE, Vivado bước thực sau 37 Việc đặt tham số tùy thuộc vào mạch FPGA cụ thể, ví dụ trường hợp chọn Artix 7, XC7A100T, FTG256 Sau Project tạo ra, quan sát thông tin Project bảng tổng hợp sau nhấn nút lệnh Next sổ Default Part hình bên Hình 1.22 Kết tổng hợp các thông tin liên quan đến Project Bước Tiến hành chạy mô Vivado cho cộng 4-bit Hình 1.23 Thực mô cộng 4-bit Vivado 38 Trên cửa sổ Project Manager mép trái giao diện phần mềm Xilinx Vivado (Hình 1.23) chuỗi lệnh xếp theo trình tự thứ bậc từ xuống tương ứng với q trình từ mơ logic cho đối tượng thực thi mạch FPGA Hình 1.24 Kết mơ cộng 4-bit phần mềm Vivado Trên cửa sổ Sources nhấn chọn đối tượng cần mơ (adder4_test), tiếp cửa sổ Project Manager mép trái giao diện Vivado nhấn chuột phải vào tùy chọn “Run Simulation”, tiếp nhấn vào lệnh “Run Behavioral Simulation” menu xổ xuống, trình mô cộng 4-bit bắt đầu tiến hành Vivado Kết mô giản đồ sóng phần mềm Vivado thể hình 1.24 Nội dung 5: Bài tập phát triển thêm Bài Thiết kế khối cộng bit cách ghép nối tiếp hai khối cộng bit Bài Thiết kế khối biến đổi từ mã nhị phân sang thermometer code cho số nhị phân bit, ví dụ chuỗi đầu có bit hiển thị theo thermometer code với số lượng bit ‘1’ từ bên phải sang quy định mã nhị phân đầu vào Ví dụ: 010 → 00000011, 110 → 0011111111 Bài Thiết kế khối tính tốn số lượng bit chuỗi bit nhị phân, đầu số bit nhị phân biểu diễn không dấu số lượng bit Ví dụ: Đầu vào 11011101, đầu 0110 39 Bài Thiết kế cộng hai số mã NBCD, đầu số dạng mã NBCD có hai chữ số thể bit ví dụ sau Ví dụ: A+B = CD, A = 6(0110), B = 9(1001); 6+9 = 15, nên C = 1(0001) D = 5(0101), kết bit CD = 0001 0101 Bài Thiết kế khối cộng, trừ sử dụng tốn tử, tín hiệu SUB = thực phép trừ SUB = thực phép cộng B A Sub Cin 3 N bit s_B A Cout Σ B Cin Sum ADDER/SUBTRACTOR c) Tổng hợp, xử lý đánh giá kết thí nghiệm Qua buổi thí nghiệm, giáo viên tiến hành đánh giá sơ kết thí nghiệm ý thức tham gia thí nghiệm học viên Kết hợp với phần báo cáo kết thí nghiệm, giáo viên tiến hành chấm điểm thí nghiệm học viên 1.5 Báo cáo thí nghiệm a) Hướng dẫn viết báo cáo thí nghiệm Sau buổi thí nghiệm, học viên viết báo cáo thí nghiệm theo mẫu, nộp báo cáo vào đầu buổi thí nghiệm cho giáo viên b) Mẫu báo cáo thí nghiệm Mẫu báo cáo Phụ lục giáo trình 40 ... cho số nhị phân bit, ví dụ chuỗi đầu có bit hiển thị theo thermometer code với số lượng bit ? ?1? ?? từ bên phải sang quy định mã nhị phân đầu vào Ví dụ: 010 → 00000 011 , 11 0 → 0 011 111 111 Bài Thiết kế. .. tốn số lượng bit chuỗi bit nhị phân, đầu số bit nhị phân biểu diễn khơng dấu số lượng bit Ví dụ: Đầu vào 11 011 1 01, đầu 011 0 39 Bài Thiết kế cộng hai số mã NBCD, đầu số dạng mã NBCD có hai chữ số. .. thể bit ví dụ sau Ví dụ: A+B = CD, A = 6( 011 0), B = 9 (10 01) ; 6+9 = 15 , nên C = 1( 00 01) D = 5( 010 1), kết bit CD = 00 01 010 1 Bài Thiết kế khối cộng, trừ sử dụng toán tử, tín hiệu SUB = thực phép trừ

Ngày đăng: 14/08/2020, 14:56

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan