1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

THiết kế vi mạch với hệ điều hành

6 176 2

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 434,84 KB

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

Nội dung

Hãy viết lại code dùng 2 câu lệnh gán tín hiệu có điều kiện.. Hãy viết lại code dùng 1 câu lệnh gán tín hiệu có điều kiện... Hãy dùng kỹ thuật chia sẻ toán tử hoặc dùng chung tài nguyên

Trang 1

Số hiệu: BM1/QT-K.ĐĐT-RĐTV/00 Ngày hiệu lực: 22/09/2008 Trang: 1/1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐÁP ÁN ĐỀ THI MÔN: thiết kế vi mạch số với HDL

- Thời gian: 75 phút, không được sử dụng tài liệu

-

Câu 1: Hãy viết cú pháp đầy đủ của câu lệnh gán tín hiệu có lựa chọn (0.5đ)

with select_expression select

signal_name <= value_expr_1 when choice_1,

value_expr_2 when choice_2, value_expr_3 when choice_3,

value_expr_n when choice_n ;

Câu 2: Hãy viết cú pháp đầy đủ của câu lệnh if (0.5đ)

if boolean_expr_1 then sequential_statements;

elsif boolean_expr_2 then sequential_statements ;

elsif boolean_expr_3 then sequential_statements;

end if ;

Câu 3: Hãy viết chương trình mô tả mạch giải đa hợp 8 kênh 3 bit (mỗi kênh 3 bit) dùng câu lệnh case (2)

entity GIAIDAHOP_8K_3BIT is

Port ( S : in STD_LOGIC_VECTOR (2 downto 0);

I : in STD_LOGIC_VECTOR (2 downto 0);

O0,O1,O2,O3,O4,O5,O6,O7 : out STD_LOGIC_VECTOR (2 downto 0));

end GIAIDAHOP_8K_3BIT;

architecture Behavioral of GIAIDAHOP_8K_3BIT is

begin

PROCESS(S,I)

BEGIN

O0 <="000";O1 <="000";O2 <="000";O3 <="000";

O4 <="000";O5 <="000";O6 <="000";O7 <="000";

CASE S IS

WHEN "000" => O0 <= I;

WHEN "001" => O1 <= I;

WHEN "010" => O2 <= I;

WHEN "011" => O3 <= I;

WHEN "100" => O4 <= I;

WHEN "101" => O5 <= I;

WHEN "110" => O6 <= I;

Trang 2

Số hiệu: BM1/QT-K.ĐĐT-RĐTV/00 Ngày hiệu lực: 22/09/2008 Trang: 2/1

END CASE;

END PROCESS;

end Behavioral;

Câu 4: Hãy viết lưu đồ và chương trình tìm số lớn nhất của 4 số a, b, c, d dùng lệnh if (2.5đ)

BEGIN

A>B

A>C

A>D

MAX<= A

Đ

S

Đ

Đ

MAX<= D

C>D S

MAX<= C

Đ

S

B>C S

B>D

Đ

MAX<= B

Đ

S

S

PROCESS(A,B,C,D)

BEGIN

IF A > B THEN

IF A > C THEN

IF A > D THEN MAX <= A;

ELSIF C > D THEN MAX <= C;

END IF;

ELSIF B > C THEN

IF B > D THEN MAX <= B;

END IF;

ELSIF C > D THEN MAX <= C;

END IF;

END PROCESS;

Câu 5: Cho đoạn code theo sau:

If (a>b) then y <= a-b;

Else

If (a>c) then y <=a – c;

Trang 3

Số hiệu: BM1/QT-K.ĐĐT-RĐTV/00 Ngày hiệu lực: 22/09/2008 Trang: 3/1

End if;

End if;

a Hãy vẽ sơ đồ khái niệm (0.5đ)

T F

Y T

F

A-B A-C A+1

A

B

C

1

A>B A>C

b Hãy viết lại code dùng 2 câu lệnh gán tín hiệu có điều kiện (0.5đ)

SIGNAL YT:STD_LOGIC_VECTOR (7 downto 0);

begin

YT <= (A-C) WHEN (A>C) ELSE

Y <= (A-B) WHEN (A>B) ELSE

end Behavioral;

c Hãy viết lại code dùng 1 câu lệnh gán tín hiệu có điều kiện (0.5đ)

Y <= (A-B) WHEN (A>B) ELSE

(A-C) WHEN (A>C) ELSE (A+1);

Câu 6: Cho đoạn code theo sau, các tín hiệu a, b, c, d đều l6 bit (3đ)

Process(a,b,c,d,…)

Begin

Elsif boolean_expr_b then r <= a + c;

end if end process;

a Hãy vẽ sơ đồ khái niệm của đoạn code trên và cho biết các loại toán tử sử dụng trong mạch, dựa vào bảng dữ liệu cho bên dưới, hãy tính tài nguyên sử dụng là bao nhiêu?

Trang 4

Số hiệu: BM1/QT-K.ĐĐT-RĐTV/00 Ngày hiệu lực: 22/09/2008 Trang: 4/1

BL_EXPR_A

T F

R

BL_EXPR_B

T F

A+B A+C D+1

A B

C D 1

Toán tử sử dụng trong mạch gồm toán tử 2 toán tử cộng và 1 toán tử cộng 1 đơn vị

Tài nguyên sử dụng = 101*2 + 55 = 257 cổng NAND

b Hãy dùng kỹ thuật chia sẻ toán tử (hoặc dùng chung tài nguyên) cải tiến lại đoạn code trên

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity GANCODIEUKIEN is

Port ( A,B,C,D : in STD_LOGIC_VECTOR (7 downto 0);

R : out STD_LOGIC_VECTOR (7 downto 0);

BL_EXPR_A,BL_EXPR_B : in STD_LOGIC);

end GANCODIEUKIEN;

architecture Behavioral of GANCODIEUKIEN is

signal S1,S2: STD_LOGIC_VECTOR (7 downto 0);

begin

PROCESS(A,B,C,D,S1,S2,BL_EXPR_A,BL_EXPR_B)

BEGIN

IF BL_EXPR_A = '1' THEN S1 <= A; S2 <= B;

ELSIF BL_EXPR_B = '1' THEN S1 <= A; S2 <= C;

ELSE S1 <= D; S2 <= "00000001";

END IF;

R <= S1 + S2;

END PROCESS;

end Behavioral;

c Vẽ lại sơ đồ khái niệm cho code sau khi cải tiến ở câu b

Trang 5

Số hiệu: BM1/QT-K.ĐĐT-RĐTV/00 Ngày hiệu lực: 22/09/2008 Trang: 5/1

BL_EXPR_A

S0 A

T F

T F

S2

R D

T F

T F 1

BL_EXPR_B

C

d So sánh tài nguyên và thời gian trễ hệ thống của 2 chương trình chưa cải tiến và sau khi cải tiến Toán tử sử dụng trong mạch gồm toán tử 1 toán tử cộng và 2 mạch đa hợp 2 kênh 16 bit

Tài nguyên sử dụng = 42*2 + 101 = 185 cổng NAND vậy tiết kiệm được 72 cổng

Thời gian trễ của mạch cải tiến trải qua 3 tầng: 2 tầng đa hợp và 1 tầng của mạch cộng

Thời gian trễ của mạch chưa cải tiến trải qua 2 tầng: 2 tầng đa hợp

Trang 6

Số hiệu: BM1/QT-K.ĐĐT-RĐTV/00 Ngày hiệu lực: 22/09/2008 Trang: 6/1

-

Cán bộ coi thi không được giải thích đề thi, cho đề thi vào túi bài thi để chấm bài

Tp Hồ Chí Minh, ngày 16 tháng 12 năm 2014

P.Trưởng bộ môn CẦU ĐẠO LONG 2

10/12

0962 642 555

NGUYỄN ĐÌNH PHÚ

Ngày đăng: 21/05/2018, 17:45

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w