1. Trang chủ
  2. » Khoa Học Tự Nhiên

ĐỀ THI VÀ ĐÁP ÁN MÔN KỸ THUẬT pld asic

6 350 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 389,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

0.5 đ Giống nhau: cả 2 lệnh đều xét điều khiển Boolean và có cùng thứ tự ưu tiên từ trên xuống.. Nếu chỉ gán dữ liệu cho 1 tín hiệu ra thì 2 lệnh như nhau: Khác nhau: Nếu nhiều lệnh gá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 ĐỀ THI MÔN: KT PLD-ASIC

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

-

Câu 1: Hãy cho biết trạng thái của loại dữ liệu std_logic và giải thích câu lệnh theo sau (0.5 đ)

y <= (7|5=> ‘1’, 6|4|3|2|1|0 => ‘0’);

Có 8 hoặc 9 loại dữ liệu như sau: ('U', 'X', 'O', 'l', 'Z', 'W', 'L', 'H', '-')

Bit thứ 7 và thứ 5 gán giá trị 1, các bit còn lại gán giá trị 0

Câu 2: Hãy so sánh 2 lệnh: gán tín hiệu có điều kiện và lệnh if (0.5 đ)

Giống nhau: cả 2 lệnh đều xét điều khiển Boolean và có cùng thứ tự ưu tiên từ trên xuống

Nếu chỉ gán dữ liệu cho 1 tín hiệu ra thì 2 lệnh như nhau:

Khác nhau: Nếu nhiều lệnh gán cho nhiều tín hiệu thì chỉ có lệnh if mới đáp ứng được còn nếu dùng lệnh

gán tín hiệu có điều kiện thì phải dùng nhiều lệnh

Lệnh if là lệnh tuần tự nằm bên trong process - lệnh gán có điều kiện là lệnh đồng thời

Câu 3: Hãy thiết kế mạch giải mã led 7 đoạn anode chung (2.5 đ)

a Hãy vẽ sơ đồ khối kết nối FPGA với led 7 đoạn

I0

FPGA a b c d e f g

Vcc

I1 I2 I2

b Hãy lập bảng trạng thái giải mã cho 10 số từ 0 đến 9

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

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

2 0 0 1 0 0 1 0 0 1 0 0

3 0 0 1 1 0 1 1 0 0 0 0

4 0 1 0 0 0 0 1 1 0 0 1

5 0 1 0 1 0 0 1 0 0 1 0

6 0 1 1 0 0 0 0 0 0 1 0

7 0 1 1 1 1 1 1 1 0 0 0

8 1 0 0 0 0 0 0 0 0 0 0

9 1 0 0 1 0 0 1 0 0 0 0

Chú ý là led anode chung, có làm led cathode chung thì điểm 0

c Hãy viết chương trình VHDL để giải mã 10 số dùng lệnh gán tín hiệu có lựa chọn

Trang 2

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

entity GIAIMA_7DOAN is

Port ( I : in STD_LOGIC_VECTOR (3 downto 0);

SSEG : out STD_LOGIC_VECTOR (6 downto 0));

end GIAIMA_7DOAN;

architecture Behavioral of GIAIMA_7DOAN is

begin

WITH I SELECT

SSEG <= "1000000" WHEN X"0",

end Behavioral;

Chú ý: không dùng dấu chấm thập phân, khi số ngõ vào lớn hơn 9 thì led tắt

Câu 4: Hãy viết chương trình dịch trái logic (logic shift) hoặc dịch trái số học (arithmetic shift) được lựa chọn

bởi tín hiệu ctrl 1 bit (ctrl bằng 0 thì thực hiện logic shift, bằng 1 thì thực hiện arithmetic shift), dữ liệu ngõ vào để dịch là y 8 bit, tín hiệu amt 3 bit sẽ lựa chọn số bit cần dịch Sử dụng lệnh tuỳ chọn.(2 đ)

entity LOGIC_ARITHMETIC_SHIFT is

Port ( X : in STD_LOGIC_VECTOR (7 downto 0);

AMT : in STD_LOGIC_VECTOR (2 downto 0);

CTRL : in STD_LOGIC;

Y : out STD_LOGIC_VECTOR (7 downto 0));

end LOGIC_ARITHMETIC_SHIFT;

architecture Behavioral of LOGIC_ARITHMETIC_SHIFT is

SIGNAL SIN: STD_LOGIC_VECTOR(7 DOWNTO 0);

begin

WITH CTRL SELECT

SIN <= (OTHERS => '0') WHEN '0',

WITH AMT SELECT

X(5 DOWNTO 0) & SIN(7 DOWNTO 6) WHEN "010",

X(4 DOWNTO 0) & SIN(7 DOWNTO 5) WHEN "011",

X(3 DOWNTO 0) & SIN(7 DOWNTO 4) WHEN "100",

X(2 DOWNTO 0) & SIN(7 DOWNTO 3) WHEN "101",

X(1 DOWNTO 0) & SIN(7 DOWNTO 2) WHEN "110",

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 Behavioral;

CHÚ Ý BÀI NÀY CÁC BẠN LÀM SAI CHIỀU BÀI THI THÌ DỊCH TRÁI, TRONG TÀI LIỆU HỌC LÀ

DỊCH PHẢI, RẤT ÍT BẠN LÀM ĐÚNG CHIỀU LÀM SAI CHIỀU BỊ ĐIỂM 0

Câu 5: (2.5 đ)

a Hãy lập trình mạch xor giảm (Reduced-xor) 16 bit (có 16 ngõ vào, 1 ngõ ra) theo dạng nối tiếp và vẽ

sơ đồ mạch tương ứng

b Hãy lập trình lại mạch ở câu a theo dạng cây và vẽ sơ đồ mạch tương ứng

c So sánh thời gian trễ và tài nguyên sử dụng của 2 mạch

BÀI NÀY GIỐNG TRONG SÁCH, CHỈ MỞ RỘNG THÊM SỐ CỔNG LÀ 16

LẬP TRÌNH DÙNG HÀM XOR

RẤT NHIỀU BẠN DÙNG KÝ HIỆU (+) SẼ KHÔNG ĐƯỢC ĐIỂM

CÓ RẤT NHIỀU BẠN KHAI BÁO 16 TÍN HIỆU VÀO, MỖI TÍN HIỆU VÀO TỚI 16 BIT (KIỂU VECTOR) NÊN CŨNG KHÔNG CÓ ĐIỂM

16 NGÕ VÀO THÌ CHỈ DÙNG 15 CỔNG – CÓ RẤT NHIỀU BẠN DÙNG TỚI 16 CỔNG

Câu 6: Cho đoạn code theo sau, các tín hiệu a, b, c, d đều 32 bit, các tín hiệu x, y là 16 bit (2 đ)

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

Begin

elsif x<y then r <= a + c;

end if;

end process;

a Hãy vẽ sơ đồ khái niệm của code trên

T

F

R T

F

A+B

A+C

D+1

A

B

C

1

X<Y

X>Y D

b Hãy cho biết các toán tử sử dụng trong mạch và tài nguyên sử dụng là bao nhiêu?

Các toán tử sử dụng là 2 mạch cộng dữ liệu 32 bit, 1 mạch cộng 1 đơn vị 32 bit

Trang 4

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

Hai toán tử so sánh lớn hơn và nhỏ hơn 16 bit (toán tử bằng chính là trường hợp sai còn lại)

Hai mạch đa hợp – cái này không phải là toán tử - bạn có thể tính hoặc không tính cũng được

Tài nguyên sử dụng tính theo tối ưu tài nguyên = 203 * 2 (add) + 153 (incrementor) + 52*2(so sánh) + 85*2 (mux) = 833

Bạn tính theo thông số tối ưu về thời gian vẫn được điểm

c Hãy dùng kỹ thuật chia sẻ toán tử, chia sẻ chức năng nếu được để cải tiến lại đoạn code trên và tính toán lại tài nguyên sau khi cải tiến

Có nhiều cách viết và đây là 1 cách đơn giản:

Signal sa, sb: sdt_logic_vector(31 downto 0);

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

Begin

If x>y then sa <= a; sb <= b;

elsif x<y then sa <= a; sb <= c;

end if;

r <= sa + sb;

end process;

Yêu cầu đề bài là chỉ lập trình lại rồi tính toán lại tài nguyên chứ không vẽ, bạn vẽ mà vẽ không lập trình lại thì không được điểm vì sai yêu cầu

Sau khi cải tiến thì mạch chỉ còn dùng 1 toán tử cộng như xuất hiện thêm 2 mạch đa hợp

Tài nguyên sử dụng tính theo tối ưu tài nguyên = 203 + 52*2(so sánh) + 85*4 (mux) = 647

NHIỀU BẠN LÀM SAI:

1 ĐIỀU KIỆN ƯU TIÊN

2 MẠCH ĐA HỢP NHIỀU KÊNH CỦA CÂU LỆNH LỰA CHỌN

3 TÍNH TOÁN TÀI NGUYÊN SAI SỐ BIT

Chú ý: bảng thông số tài nguyên sử dụng và thời gian trễ cho ở trang 2

Trang 5

Số hiệu: BM1/QT-K.ĐĐT-RĐTV/00 Ngày hiệu lực: 22/09/2008 Trang: 5/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

NGUYỄN ĐÌNH PHÚ

Trang 6

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

Ngày đăng: 25/05/2018, 15:15

TỪ KHÓA LIÊN QUAN