Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
5,12 MB
Nội dung
Phục lục I: Thực hành mô VHDL ModelSim Giới thiệu chương trình mơ Modelsim Do ngôn ngữ mô tả phần cứng VHDL chuẩn hóa IEEE cơng bố rộng rãi nên có nhiều phần mềm mơ mạch số nhiều công ty khác phát triển Điểm chung chương trình phải có trình biên dịch có khả mơ mạch theo thời gian thực, kết xuất kết số dạng định File text, file định kiểu, hay phổ biến trực quan dạng giản đồ sóng Dưới giới thiệu chương trình mơ ModelSim, chương trình mơ mạnh xác phát triển Mentor Graphics ModelSim chương trình phần mềm thương mại, bên cạnh phiên phải trả tiền license, có phiên miễn phí dành cho sinh viên người nghiên cứu không sử dụng với mục đích thương mại Phiên có tên ModelSim Student Edition tải trực tiếp từ trang chủ Mentor Graphics theo địa http://model.com/content/modelsim-pe-student-edition-hdl-simulation Sau cài chương trình địi hỏi cài đặt cấp phép sử dụng (license) Để có license cần phải điều đủ vào khai báo thông tin cá nhân hòm thư, địa vv Mentor Graphic gửi vào hịm thư bạn file license có tên student_license.dat, file cho phép sử dụng phần mềm vịng 180 ngày, để kích hoạt license việc copy vào thư mục gốc modelSim (thường C:\Modeltech_pe_edu_6.2f “6.2f” số hiệu phiên chương trình) Chú ý: Hướng dẫn mơ thiết kế sử dụng chương trình có thư mục “C:\Modeltech_pe_edu_6.2f\docs\pdfdocs”, phiên khác đường dẫn khác Sau học cách sử dụng chương trình thơng qua ví dụ cụ thể Viết mã nguồn VHDL Trong Modelsim tích hợp trình soạn thảo file nguồn ngôn ngữ lập trình khác mã nguồn VHDL thiết kế soạn thảo bất kz chương trình soạn thảo Một chương trình soạn thảo tốt tiện dụng Notepad++ (http://notepadplus-plus.org/download), chương trình hỗ trợ thị nhiều ngơn ngữ lập trình khác có VHDL Verilog File nguồn mã VHDL có vhd Khi soạn thảo file có dạng băng Notepad tồn từ khóa, cấu trúc ngơn ngữ làm đậm đổi màu cho dễ quan sát sửa lỗi Chương trình Notepad++ Để đơn giản dễ hiểu phần ta minh họa ví dụ quen thuộc cộng bit Bộ cộng thiết kế đơn giản cách ghép nối tiếp khối full_adder bit b3 FULL_ADDER CO b2 a3 S3 C(2) a2 FULL_ADDER S2 b1 C(1) a1 FULL_ADDER S1 b0 C(0) a0 FULL_ADDER CI S0 Cấu trúc bit - adder Module full_adder có ba mơ tả kiến trúc, mơ tả cấu trúc sử dụng module AND2, OR2, XOR2 Bước 1: Tạo thư mục D:\Student thư mục có tên adder4 Thư mục làm việc D:\Student\adder4 Bước 2: Trong Notepad++ tạo file 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, lưu file tên compn.vhd thư mục làm việc D:\Student\adder, lưu { để lưu dạng vhd ô chọn File types phải chọn All files(*) Nội dung file compn.vhd - full_adder component -library IEEE; use IEEE.STD_LOGIC_1164.ALL; 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 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 structure; Theo trình bày phần lý thuyết khai báo cấu hình, ta dung phương pháp khai báo trực tiếp cấu component full_adder adder4 lựa chọn cấu hình khác Biên dịch thiết kế Để tạo biên dịch thiết kế ta làm bươc sau: Bước 5: Khởi động Modelsim, menu File chọn Change Directory, menu Change directory chọn Chọn đường dẫn tới thư mục làm việc D:\Student\adder4\ chứa nguồn vừa tạo adder4.vhd, full_adder.vhd, compn.vhd Bước 6: Tạo thư viện work cách gõ lệnh sau vào cửa sổ Transcript Modelsim: vlib work Bước 7: Biên dịch mã nguồn cách gõ lệnh sau vào cửa số Transcript vcom compn.vhd vcom full_adder.vhd vcom adder4.vhd Khi trình biên dịch phát lỗi mặt cú pháp thơng báo xác dịng tương ứng gây lỗi Nếu mã nguồn thiết kế khơng có lỗi biên dịch xong cho kết hình Kiểm tra mơ thiết kế 4.1 Kiểm tra nhanh Quick test: 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 bước kiểm tra với số lượng lớn tổ hợp giá trị đầu vào Bước 8: Để 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 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; khai bao cac tin hieu vao cho DUT signal A : std_logic_vector(3 downto 0) := "0101"; signal B : std_logic_vector(3 downto 0) := "1010"; signal CI : std_logic := '1'; output 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 ); selm: process (Sel, ma2, mb2) begin if Sel = '1' then mSh