THIẾT kế CHIP có CHỨC NĂNG GIẢI mã 3 SANG 8 (có code và layout) .......... THIẾT kế CHIP có CHỨC NĂNG GIẢI mã 3 SANG 8 (có code và layout) .......... THIẾT kế CHIP có CHỨC NĂNG GIẢI mã 3 SANG 8 (có code và layout) .......... THIẾT kế CHIP có CHỨC NĂNG GIẢI mã 3 SANG 8 (có code và layout) ..........
Trang 13 SANG 8
1
Trang 3DANH M C CÁC T VI T T T Ụ Ừ Ế Ắ
RTL
Register Transfer Level
3
Trang 4CH ƯƠ NG 1 GI I THI U CHUNG Ớ Ệ
1.1 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
Trang 5Y0 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 6S2 S1
S0 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:ạ ộ ủ ạ ư
Trang 7SaiS2S1S0=100 Đúng
− Tương t , khi ngõ vào Sự 2S1S0 = “001”, “010”, “011”, “100”, “101”, “110”,
“111” thì ch các ngõ ra tỉ ương ng trong t ng trứ ừ ường h p Yợ 1, 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: ư ồ ả ậ
Thi t k chip có ch c năng gi i mã 3 sang 8 ế ế ứ ả
Trang 8Hình 2-4:L u đ gi i thu t m ch mã hóa 3 sang 8ư ồ ả ậ ạ .
Trang 92.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 102.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).ơ ồ ủ ạ ả ỏ ằ ổ
Trang 11Hì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− 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 ự ế ề
Trang 13Hì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 15Hì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 16Hì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.ợ ấ ấ ủ
Trang 17• Đá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 19CH ƯƠ NG 4 K T LU N, NG D NG VÀ H Ế Ậ Ứ Ụ ƯỚ NG PHÁT TRI N Ể
Trang 20port ( sel : in STD_LOGIC_VECTOR (2 downto 0); input
y : out STD_LOGIC_VECTOR (7 downto 0)); outputend 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
Trang 21"10000000" when "111", sel=111 y=10000000
"00000000" when others; not select
PORT (
sel : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
y : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)