Tải bản đầy đủ (.docx) (23 trang)

THIẾT kế CHIP có CHỨC NĂNG GIẢI mã 3 SANG 8 (có code và layout)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.12 MB, 23 trang )

THIẾT KẾ CHIP CÓ CHỨC NĂNG GIẢI MÃ
3 SANG 8

1


MỤC LỤC

2


DANH MỤC HÌNH VẼ.

DANH MỤC CÁC TỪ VIẾT TẮT.

IC

Integrated Circuit

RAM

Random Access Memory

ROM

Read-only Memory

DRC

Design Rule Check


LVS

Layout Vesus Schematic
RTL
Register Transfer Level

3


Trang 4/30

CHƯƠNG 1.
1.1.


GIỚI THIỆU CHUNG.

Lý thuyết về mạch giải mã 3 sang 8:
Mạch giải mã 3 sang 8 là mạch logic có 3 đường ngõ vào tạo thành 8 đường
ngõ ra và tại một thời điểm chỉ có duy nhất một đường ngõ ra ở mức tích cực
ứng với một tổ hợp ngõ vào tương ứng.

S2

Y0
Y1

S1

Y2

Y3
Y4
Y5

S0

DECODER
Hình 1-1: Mạch giải mã 3 sang 8.

S2
0
0
0
0
1
1
1
1


S1
0
0
1
1
0
0
1
1


Y6
Y7

S0
Y0
Y1
Y2
Y3
Y4
Y5
Y6
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0

1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0

0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
Hình 1-2: Bảng trạng thái mạch giải mã 3 sang 8.

Từ bảng trạng thái, ta có:

Thiết kế chip có chức năng giải mã 3 sang 8.

Y7
0
0
0
0
0
0
0
1



Trang 5/30

Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7

Hình 1-3: Cấu trúc mạch giải mã 3 sang 8.
1.2. Tìm hiểu về phương pháp kiểm tra lỗi DRC và LVS trong vẽ layout:
Việc thiết kế layout phải tuân theo các quy luật mà nhà sản xuất đưa ra,
các quy luật này phụ thuộc vào khả năng thi công và công nghệ của nhà
máy. Quy luật thiết kế layout có hai loại:
• Quy luật tuyệt đối: sử dụng các kích thước cố định để thi ết kế.
• Dựa vào lamda (λ): các kích thước phải là bội số của lamda, quy
luật này giúp người thiết kế có thể chuyển đổi thiết kế nhanh khi
công nghệ thay đổi.
Tìm hiểu về DRC: DRC là công cụ dùng để kiểm tra lỗi về các quy định

thiết kế của bản vẽ, các lỗi này sẽ được đánh dấu bằng các ký hiệu của
DRC và được liệt kê trong bảng tổng hợp; người dùng có thể dễ dàng
tìm ra vị trí lỗi và sửa các lỗi đó.
Tìm hiểu về LVS: LVS là công cụ để đảm bảo thiết kế layout đúng với
thiết kế schematic.

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 6/30

S1

S0

S2
CHƯƠNG 2.

THIẾT KẾ MẠCH.

2.1. Nguyên lý hoạt động của mạch:
Dựa vào bảng trạng thái của mạch ở chương 1 mục 1.1, ta có thể giải thích
được nguyên lý hoạt động của mạch như sau:

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 7/30

Khi ngõ vào S2S1S0 = “000” thì ngõ ra Y0 sẽ tích cực ở mức cao, các ngõ ra

còn lại sẽ tích cực ở mức thấp.
− Tương tự, khi ngõ vào S2S1S0 = “001”, “010”, “011”, “100”, “101”, “110”,
“111” thì chỉ các ngõ ra tương ứng trong từng trường hợp Y1, Y2, Y3, Y4,
Y5, Y6, Y7 sẽ tích cực ở mức cao, các ngõ ra còn lại sẽ tích cực ở mức th ấp.


2.2.

Lưu đồ giải thuật:

Chọn giá trị S2S1S0

S2S1S0=000
Sai
S2S1S0=001
Sai
S2S1S0=010
Sai
S2S1S0=011
Sai
S2S1S0=100
Sai
S2S1S0=101
Sai

Đúng

Đúng

Y=00000010


Đúng
Y=00000100
Đúng
Y=00001000

Đúng
Y=00010000

Đúng

Đúng

S2S1S0=110
Thiết kế chip có chức năng giải mã 3 sang 8.
Sai
Y=10000000

Y=00000001

Y=00100000

Y=01000000


Trang 8/30

Hình 2-4:Lưu đồ giải thuật mạch mã hóa 3 sang 8.

Thiết kế chip có chức năng giải mã 3 sang 8.



Trang 9/30

2.3.

Sơ đồ cổng logic của mạch:

Hình 2-5: Sơ đồ cổng logic của mạch giải mã 3 sang 8.

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 10/30

2.4.

Sơ đồ mô phỏng RTL:

Hình 2-6: Sơ đồ RTL của mạch giải mã 3 sang 8 (mô phỏng bằng cổng logic).

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 11/30

Hình 2-7: Một phần của RTL mạch giải mã 3 sang 8 (mô phỏng bằng code).

Hình 2-8: RTL của mạch giải mã 3 sang 8 (mô phỏng bằng code).


Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 12/30

CHƯƠNG 3.
3.1.


KẾT QUẢ THỰC THI

Phần mềm:
Mô phỏng dạng sóng:

Hình 3-9: Mô phỏng dạng sóng bằng testbench.
Nhận xét: quan sát dạng sóng mô phỏng ta thấy:


Khi đầu vào sel(2)sel(1)sel(0)=000 thì ngõ ra y=00000001, nghĩa là chỉ ngõ
ra y(0)=1.
− Theo tính toán ở chương 1 mục 1.1, ta có: .
− Làm tương tự khi thế sel(2), sel(1), sel(0) vào y(1), y(2),…,y(7) ta đều
được giá trị là 0.

 Điều này cho thấy khi giá trị ngõ vào là 000 thì dạng sóng mô phỏng gi ống
với lý thuyết đã tính toán.


Tương tự cho các trường hợp còn lại, khi sel(2)sel(1)sel(0)=001, 010, 011,
100, 101, 110, 111 thì ngõ ra lần lượt có giá trị y= 00000010, 00000100,

00001000, 00010000, 00100000, 01000000, 10000000. Giải thích tương
tự như trường hợp trên, ta thấy dạng sóng mô phỏng ở tất cả các trường
hợp đều giống với lý thuyết.
• Vẽ layout cho mạch giải mã 3 sang 8:

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 13/30

Hình 3-10: Layout cổng NOT.

Hình 3-11: Layout cổng NOR 3 ngõ vào.

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 14/30

Hình 3-12: Layout mạch giải mã 3 sang 8.

Hình 3-13: Kiểm tra DRC.
Diện tích thiết kế layout của mạch giải mã 3 sang 8 theo công nghệ CMOS
0.5um:

3.3.


Phần cứng:
Gán chân cho các tín hiệu:


Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 15/30

Hình 3-14: Gán chân cho tín hiệu input và ouput.


Kiểm tra mạch bằng kit DE2:

Hình 3-15: Kiểm tra hoạt động của mạch trên kit DE2.
3.4.

Đánh giá delay, power, tài nguyên sử dụng của mạch:
• Đánh giá delay của mạch:

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 16/30

Hình 3-16: Độ trễ của từng input tới output.

Hình 3-17: Trường hợp xấu nhất của tpd.

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 17/30




Đánh giá power của mạch:

Hình 3-18: Power mà mạch tiêu thụ.


Đánh giá tài nguyên sử dụng của mạch:

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 18/30

Hình 3-19: Tài nguyên mạch sử dụng.
Nhận xét:



Mạch có độ trễ nhỏ, trường hợp độ trễ lớn nhất là 6.765 ns.
Mạch ít tiêu tốn năng lượng và sử dụng ít tài nguyên.

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 19/30

CHƯƠNG 4.
4.1.


KẾT LUẬN, ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN.

Kết luận:
Mạch giải mã 3 sang 8 được hoàn thành thiết kế trên Quartus cho ra dạng
sóng đúng với lý thuyết đã tính toán. Layout được thiết kế bằng L-Edit và
được kiểm tra DRC.

4.2.

4.3.

Ứng dụng của mạch giải mã 3 sang 8:
• Tổng hợp các mạch logic tổ hợp.
• Có thể sử dụng làm mạch cộng.
• Giải mã địa chỉ các ô nhớ trong trong bộ nhớ RAM hay ROM; hoặc
giải mã mã lệnh trong các bộ vi xử lý.
• Mạch giải mã 3 sang 8 được sử dụng để chế tạo ra IC 74LS138.
Hướng phát triển:
Mạch giải mã 3 sang 8 có thể thêm các chân cho phép hoạt động để tạo thành
IC74LS138 hoặc ghép với mạch giải mã 4 sang 16 để tạo thành mạch gi ải mã
7 sang 128,…

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 20/30

PHỤ LỤC 1



Code của mạch giải mã 3 sang 8:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity decoder is
port ( sel : in STD_LOGIC_VECTOR (2 downto 0);

--input

y : out STD_LOGIC_VECTOR (7 downto 0));

--output

end decoder;

architecture behavioral of decoder is
begin
with sel select

--start

y<="00000001" when "000",

--sel=000 y=00000001

"00000010" when "001",


--sel=001 y=00000010

"00000100" when "010",

--sel=010 y=00000100

"00001000" when "011",

--sel=011 y=00001000

"00010000" when "100",

--sel=100 y=00010000

"00100000" when "101",

--sel=101 y=00100000

"01000000" when "110",

--sel=110 y=01000000

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 21/30

"10000000" when "111",


--sel=111 y=10000000

"00000000" when others;

--not select

end behavioral;


Code mô phỏng testbench:

LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY decoder_vhd_tst IS
END decoder_vhd_tst;
ARCHITECTURE decoder_arch OF decoder_vhd_tst IS
-- constants
SIGNAL sel : STD_LOGIC_VECTOR(2 DOWNTO 0); --signals
SIGNAL y : STD_LOGIC_VECTOR(7 DOWNTO 0); --signals
COMPONENT decoder
PORT (
sel : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
y : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
);
END COMPONENT;
BEGIN
i1 : decoder
PORT MAP (
-- list connections between master ports and signals

sel => sel,
Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 22/30

y => y
);
init : PROCESS
-- variable declarations
BEGIN
sel <= "000";
wait for 5 ns;
sel <= "001";
wait for 5 ns;
sel <= "010";
wait for 5 ns;
sel <= "011";
wait for 5 ns;
sel <= "100";
wait for 5 ns;
sel <= "101";
wait for 5 ns;
sel <= "110";
wait for 5 ns;
sel <= "111";

-- code that executes only once

WAIT;

END PROCESS init;
END decoder_arch;

Thiết kế chip có chức năng giải mã 3 sang 8.


Trang 23/30

TÀI LIỆU THAM KHẢO.
Tiếng Anh.
[1] Design Rules MOSIS Scalable CMOS (SCMOS), Revision 8.00.
[2] L-Edit Quick Start Guide, Nathan Kupp.

Thiết kế chip có chức năng giải mã 3 sang 8.



×