1. Trang chủ
  2. » Thể loại khác

Mô phỏng chương trình mã hóa & giải mã ngôn ngữ VHDL • Giáo viên hướng dẫn : ThS NGUYỄN VĂN PHÒNG

15 8 0

Đ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 15
Dung lượng 2,49 MB

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

Nội dung

Ashenden  The VHDL – Cookbook, Peter J.Ashedo  Thiết kế mạch bằng máy tính, Nguyễn Linh Giang  Thiết kế mạch số với Verilog và VHDL, Tống Văn On …... Nội dung báo cáoGiới thiệu công n

Trang 1

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

KHOA ĐIỆN TỬ-VIỄN THÔNG

• Giáo viên hướng dẫn : ThS NGUYỄN VĂN PHÒNG

• Lớp sinh hoạt : 11DTLT

**********

Mô phỏng chương trình

mã hóa & giải mã bằng ngôn ngữ VHDL

Trang 3

Tài liệu tham khảo:

 Circuit design with VHDL , Voilnei A.Pedroni

 VHDL Tutorial, Peter J Ashenden

 The VHDL – Cookbook, Peter J.Ashedo

 Thiết kế mạch bằng máy tính, Nguyễn Linh Giang

 Thiết kế mạch số với Verilog và VHDL, Tống Văn On

Trang 4

Nội dung báo cáo

Giới thiệu công nghệ thiết kế vi mạch bằng VHDL

1

Mô phỏng chương trình mã hóa 8 sang 3

2

3 Mô phỏng chương trình giải mã BCD led 7 đoạn

Trang 5

Giới thiệu công nghệ thiết kế

mạch

1 Ứng dụng của công nghệ thiết kế mạch bằng VHDL:

*/ Hai ứng dụng chính và trực tiếp của VHDL:

•Ứ/d trong các th/bị logic PLD-FPGA

•Ư/d trong ASICs

*/ Khi lập trình chỉ cần viết mã VHDL 1 lần & có thể áp dụng cho các thiết bị khác nhau (Ex: Altera, Xilinx, Atmel…) hoặc có thể chế tạo chip ASIC

*/ Hiện nay, nhiều sản phẩm thương mại phức tạp (Ex: VĐK) thiết kế dựa trên VHDL

Trang 6

Giới thiệu công nghệ thiết kế

mạch

2 Quy trình thiết kế mạch bằng VHDL:

Việc chế tạo gồm 3 giai đoạn chính:

Giai đoạn 1: Viết mã VHDL

(lưu file *.vhd và có tên cùng

tên thực thể, được mô tả ở tầng

chuyển đổi thanh ghi

Giai đoạn 2: Gồm biên dịch, tối

ưu hóa về tốc độ và phạm vi,

kiểm lỗi

Giai đoạn 3: Ghép nối đóng gói

phần mềm, sắp xếp vật lý cho

chip PLD/FPGA hoặc tạo mặt

nạ cho ASIC.

Trang 7

Giới thiệu công nghệ thiết kế

mạch

3 Cấu trúc mã cơ bản của ngôn ngữ VHDL:

Một đoạn Code chuẩn của VHDL gồm tối thiểu 3 mục:

 Khai báo LIBRARY: chứa d/sách tất cả các thư viện

được dùng để thiết kế Ex: ieee, std, work

 Khai báo ENTITY: mô tả các chân vào ra (I/O pins)

 Khai báo ARCHITECTURE: chứa mã VHDL, mô tả

quá trình hoạt động của mạch

Trang 8

Mô phỏng chương trình

Trang 9

Mô phỏng chương trình

1/ Mô phỏng chương trình mã hóa 8 ngõ vào sang 3 ngõ ra:

Trang 10

Mô phỏng chương trình

1/ Mô phỏng chương trình mã hóa 8 ngõ vào sang 3 ngõ ra:

Code chương trình:

LIBRARY ieee;

USE ieee.std_logic_1164.all;

-ENTITY mahoa_8_3 IS

PORT (

x: IN STD_LOGIC_VECTOR (7 DOWNTO 0);

y: OUT STD_LOGIC_VECTOR (2 DOWNTO 0)

);

END mahoa_8_3;

-

-ARCHITECTURE mahoa1 OF mahoa_8_3 IS BEGIN

y <= "000" WHEN x="00000001" ELSE

"001" WHEN x="00000010" ELSE

"010" WHEN x="00000100" ELSE

"011" WHEN x="00001000" ELSE

"100" WHEN x="00010000" ELSE

"101" WHEN x="00100000" ELSE

"110" WHEN x="01000000" ELSE

"111" WHEN x="10000000" ELSE

"ZZZ";

END mahoa1;

Trang 11

Mô phỏng chương trình

1/ Mô phỏng chương trình mã hóa 8 ngõ vào sang 3 ngõ ra:

Kết quả mô phỏng:

VD: Con trỏ ở vị trí 100.0ns

Input (1,0,0,0,0,0,0,0)

Output (0,0,0)

Trang 12

Mô phỏng chương trình

2/ Mô phỏng chương trình giải mã BCD led 7 đoạn:

Trang 13

Mô phỏng chương trình

2/ Mô phỏng chương trình giải mã BCD led 7 đoạn:

Code chương trình:

LIBRARY ieee;

USE ieee.std_logic_1164.all;

USE ieee.std_logic_arith.all;

USE ieee.std_logic_unsigned.all;

-ENTITY decode_BCD_7DOAN IS

PORT (i : IN std_logic_vector (3 DOWNTO 0);

d : OUT std_logic_vector (6 DOWNTO 0);

s : IN std_logic);

END decode_BCD_7DOAN;

-ARCHITECTURE Behavioral OF decode_BCD_7DOAN IS

BEGIN

PROCESS (i,s)

VARIABLE Q : std_logic_vector (7 DOWNTO 0);

BEGIN

IF s='0' THEN

WHEN "0110" => Q:= "00000010"; -so 6 WHEN "0111" => Q:= "01111000"; -so 7 WHEN "1000" => Q:= "00000000"; -so 8 WHEN "1001" => Q:= "00010000"; -so 9 WHEN OTHERS => NULL;

END CASE;

ELSE CASE i IS WHEN "0000" => Q:= "00111111"; -so 0 WHEN "0001" => Q:= "00000110"; -so 1 WHEN "0010" => Q:= "01011011"; -so 2 WHEN "0011" => Q:= "01001111"; -so 3 WHEN "0100" => Q:= "01100110"; -so 4 WHEN "0101" => Q:= "01101101"; -so 5 WHEN "0110" => Q:= "01111101"; -so 6 WHEN "0111" => Q:= "00000111"; -so 7 WHEN "1000" => Q:= "01111111"; -so 8

Trang 14

Mô phỏng chương trình

2/ Mô phỏng chương trình giải mã BCD led 7 đoạn:

Kết quả mô phỏng:

Trường hợp Kathode chung

Chọn mức tích cực ở ngõ ra là mức logic 1

VD: Trường hợp con trỏ ở vị trí 107.9ns

Input (0,0,1,0) – Output (1,1,0,1,1,0,1) số 2

Ngày đăng: 18/04/2022, 18:42

TỪ KHÓA LIÊN QUAN

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

w