Danh mục

Giáo trình Thực hành thiết kế logic số: Phụ lục

Số trang: 70      Loại file: pdf      Dung lượng: 5.12 MB      Lượt xem: 43      Lượt tải: 0    
Hoai.2512

Xem trước 7 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Giáo trình Thực hành thiết kế logic số: Phụ lục gồm các nội dung về thực hành mô phỏng VHDL trên ModelSim, hướng dẫn thực hành FPGA bằng Xilin ISE và Kit SPARTAN 3E, thực hành tổng hợp trên thư viện cell chuẩn.
Nội dung trích xuất từ tài liệu:
Giáo trình Thực hành thiết kế logic số: Phụ lục Phục lục I: Thực hành mô phỏng VHDL trên ModelSim1. Giới thiệu về chương trình mô phỏng Modelsim. Do các ngôn ngữ mô tả phần cứng như VHDL được chuẩn hóa bởi IEEEvà được công bố rộng rãi nên có rất nhiều các phần mềm mô phỏng mạch sốđược nhiều công ty khác nhau phát triển. Điểm chung của các chương trìnhnày là đều phải có một trình biên dịch và có khả năng mô phỏng mạch theothời gian thực, kết xuất kết quả một số dạng nhất định như File text, file địnhkiểu, hay phổ biến và trực quan nhất là dưới dạng giản đồ sóng. Dưới đây sẽgiới thiệu chương trình mô phỏng là ModelSim, đây là một chương trình môphỏng khá mạnh và chính xác được phát triển bởi Mentor Graphics. ModelSim là một chương trình phần mềm thương mại, tuy vậy bên cạnhcác phiên bản phải trả tiền license, có phiên bản miễn phí dành cho sinh viênvà người nghiên cứu không sử dụng với mục đích thương mại. Phiên bản nàycó tên là ModelSim Student Edition có thể được tải trực tiếp từ trang chủ củaMentor Graphics theo địa chỉhttp://model.com/content/modelsim-pe-student-edition-hdl-simulation Sau khi cài chương trình sẽ đòi hỏi cài đặt cấp phép sử dụng (license). Đểcó được license cần phải điều đủ vào bản khai báo các thông tin cá nhân nhưhòm thư, địa chỉ vv... Mentor Graphic sẽ gửi vào hòm thư của bạn một filelicense có tên là student_license.dat, file này cho phép sử dụng phần mềmtrong vòng 180 ngày, để kích hoạt license chỉ việc copy vào thư mục gốc củamodelSim (thường là C:Modeltech_pe_edu_6.2f trong đó “6.2f” là số hiệuphiên bản của chương trình)Chú ý: Hướng dẫn mô phỏng một thiết kế và sử dụng chương trình có trongthư mục “C:Modeltech_pe_edu_6.2fdocspdfdocs”, đối với các phiên bảnkhác nhau thì có thể đường dẫn sẽ khác nhau.Sau đây chúng ta sẽ lần lượt học cách sử dụng chương trình thông qua một vídụ cụ thể.2. Viết mã nguồn VHDL Trong Modelsim cũng tích hợp một trình soạn thảo file nguồn tuy vậycũng như các ngôn ngữ lập trình khác mã nguồn VHDL của thiết kế có thể đượcsoạn thảo bằng bất kz một chương trình soạn thảo nào. Một trong nhữngchương trình soạn thảo khá tốt và tiện dụng là Notepad++ (http://notepad-plus-plus.org/download), chương trình này hỗ trợ hiện thị nhiều ngôn ngữ lậptrình khác nhau trong đó có VHDL và Verilog. File nguồn của mã VHDL có đuôilà .vhd. Khi soạn thảo file có đuôi dạng này băng Notepad thì toàn bộ các từkhóa, cấu trúc ngôn ngữ được làm đậm hoặc đổi màu cho dễ quan sát và sửalỗi. Chương trình Notepad++ Để đơn giản và dễ hiểu phần này ta sẽ minh họa bằng ví dụ quen thuộcvề bộ cộng 4 bit. Bộ cộng được thiết kế đơn giản nhất bằng cách ghép nối tiếp4 khối full_adder 1 bit. b3 a3 b2 a2 b1 a1 b0 a0 C(2) C(1) C(0) CI FULL_ADDER FULL_ADDER FULL_ADDER FULL_ADDER CO S3 S2 S1 S0 Cấu trúc của 4 bit - adder Module full_adder có ba mô tả kiến trúc, trong đó mô tả cấu trúc sửdụng các module con là AND2, OR2, XOR2.Bước 1: Tạo trong thư mục D:Student một thư mục có tên adder4. Thư mụcchúng ta làm việc sẽ là D:Studentadder4Bước 2: Trong Notepad++ tạo mới một file bằng cach chọn menu File/new,soạn thảo file với nội dung sau, soạn thảo xong đó chọn File/Save, và lưu filedưới tên compn.vhd trong thư mục làm việc D:Studentadder, lưu { để lưudưới dạng vhd ở ô chọn File types phải chọn là All files(*)Nội dung file compn.vhd --------- full_adder component ---------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; -------- 2 input AND gate---------------- entity AND2 is port( in1, in2 : in std_logic; out1 : out std_logic ); end AND2; ----------------------------------------- architecture model_conc of AND2 is begin out1 architecture model_conc2 of OR2 is begin out1 Cout -------------- 4-bit adder -------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ----------------------------------------- entity 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 adder4; ---------------------------------------------- architecture structure of adder4 is signal C: std_logic_vector(2 downto 0); -- declaration of component full_adder component full_adder port ( A : in std_logic; ...

Tài liệu được xem nhiều: