wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

ĐỀ SỐ 01 - PLD & ASIC

Total questions: 53

Worksheet time: 53mins

Name
Class
Date
1.

Nhận xét nào là đúng, từ câu lệnh sau đây?

CASE Bien_DK IS

WHEN “001” => x<=”00000010”;

WHEN “010” => x<=”00000100”;

WHEN OTHERS => x<=”10101010”;

END CASE;

a)

Khi Bien_DK là “001” thì x là “00000010” và khi Bien_DK là “010” thì x là “00000100”

b)

Khi Bien_DK là “101” thì x là “00000010”

c)

Khi Bien_DK là “110” thì x là “00000100”

d)

Khi Bien_DK là “111” thì x là “00001000”

2.

Nhận xét nào đúng, với khối 2 câu lệnh IF sau đây?

IF BT = ‘0’ THEN Den <= '1'; END IF; -- Den sang

IF BT = ‘1’ THEN Den <= '0'; END IF; -- Den tat

a)

Khi BT là ‘0’ thì Đèn sáng

b)

Khi BT là ‘1’ thì Đèn sáng

c)

Đèn luôn sáng với mọi giá trị của BT

d)

Đèn luôn tắt với mọi giá trị của BT

3.

Một LUT về cơ bản là gì?

a)

Là loại bộ nhớ có thể lập trình để tạo ra các hàm SOP.

b)

Là loại bộ nhớ không thể lập trình

c)

Là loại vi mạch

d)

Là loại cổng vào ra

4.

CPLD Cool Runner II và XC9500. là của hãng?

a)

Hãng ALTERA

b)

Hãng XILINX

c)

Hãng XILINX và hãng ALTERA

d)

Một hãng khác không phải XILINX hay ALTERA

5.

Phương pháp tổng của các tích SOP là cụm từ viết tắt của ?

a)

Programmable Logic Array

b)

Sum Of Product

c)

Simple Programmable Logic

d)

Generic Programmable Logic

6.

Với CPLD thì?

a)

Tích hợp từ nhiều SPLD để có chức năng mạnh hơn cho các thiết kế phức tạp

b)

Không tích hợp từ các SPLD

c)

Tích hợp từ nhiều FPGA

d)

Tích hợp từ nhiều PLD

7.

Hai thành phần PAL và GAL là của thiết bị?

a)

CPLD

b)

SPLD

c)

FPGA

d)

Logic Device

8.

Tại sao FPGA là thiết bị có thể lập trình lại?

a)

FPGA sử dụng công nghệ xử lý cầu chì để lập trình cho các điểm nối

b)

FPGA sử dụng công nghệ xử lý SRAM hoặc bán cầu chì để lập trình cho các điểm nối

c)

FPGA không cần lập trình cho các điểm nối

d)

FPGA có sẵn cấu hình cho các điểm nối

9.

Tại sao PAL lập trình một lần, còn GAL lập trình được nhiều lần?

a)

GAL dùng công nghệ cầu chì

b)

GAL không dùng công nghệ xử lý cho phép lập trình lại giống như EEPROM

c)

PAL dùng công nghệ xử lý cho phép lập trình lại giống như EEPROM

d)

GAL dùng công nghệ xử lý cho phép lập trình lại giống như EEPROM thay cho cầu chì

10.

CPLD MAX II và CPLD MAX 7000 là của hãng?

a)

XILINX

b)

ALTERA

c)

Hãng XILINX và hãng ALTERA

d)

Một hãng khác không phải XILINX hay ALTERA

11.

Khai báo Q đầu ra mạch đa hợp là?

a)

I : in STD_LOGIC_VECTOR (3 downto 0)

b)

S : in STD_LOGIC_VECTOR (1 downto 0)

c)

Q : out STD_LOGIC

d)

Q : LOGIC_VECTOR (3 downto 0)

12.

Sau khi mạch điện logic được biên dịch thì ta có thể mô phỏng bằng cách nào?

a)

Cung cấp các dạng sóng đầu ra

b)

Cung cấp các dạng sóng đầu vào và kiểm tra dạng sóng ngõ ra cho các tổ hợp ngõ vào

c)

Tự phần mềm mô phỏng

d)

Không thể mô phỏng

13.

Khai báo đầu lựa chọn S dạng vector 2 bít mạch đa hợp với bít MSB bên trái nhất là?

a)

I : in STD_LOGIC

b)

S : in STD_LOGIC_VECTOR (1 downto 0)

c)

Q : out STD_VECTOR (3 downto 0)

d)

S : in STD_LOGIC

14.

Các kết nối lập trình bên trong của CPLD gọi là?

a)

PIA (Programmable Interconnect Array), AIM (Advance Interconnect Matrix) hoặc các thuật ngữ tương tự.

b)

Chỉ gọi là PIA (Programmable Interconnect Array)

c)

Chỉ gọi là AIM (Advance Interconnect Matrix)

d)

Không có tên gọi cụ thể

15.

Nhận xét nào là đúng về FPGA?

a)

FPGA là thiết bị chỉ có thể lập trình 1 lần

b)

FPGA là thiết bị có thể lập trình lại

c)

FPGA là thiết bị không cho phép lập trình

d)

FPGA không phải là thiết bị logic

16.

Về phần mềm hỗ trợ cho mỗi thiết bị phần cứng SPLD, CPLD và FPGA, thì?

a)

Các nhà chế tạo SPLD, CPLD và FPGA không cung cấp phần mềm hỗ trợ

b)

Các nhà chế tạo SPLD, CPLD và FPGA cung cấp phần mềm hỗ trợ cho tất cả thiết bị các hãng

c)

Phần mềm hỗ trợ cho thiết bị SPLD, CPLD và FPGA là các phần mềm cơ bản, phổ biết mà có thể cung cấp bởi bất cứ hãng phần mềm nào

d)

Các nhà chế tạo SPLD, CPLD và FPGA cung cấp phần mềm hỗ trợ cho thiết bị hãng mình sản xuất

17.

Sự khác nhau giữa FPGA và CPLD là ?

a)

Các phần tử dùng để tạo ra các hàm logic trong FPGA thường thì lớn hơn nhiều so với các thành phần trong CPLD

b)

Các phần tử dùng để tạo ra các hàm logic trong FPGA thường thì nhỏ hơn nhiều so với các thành phần trong CPLD

c)

Các phần tử dùng để tạo ra các hàm logic trong FPGA thường thì có số lượng bằng nhau so với các thành phần trong CPLD

d)

Trong FPGA và CPLD không có các phần tử dùng để tạo ra các hàm logic

18.

Trong các câu lệnh khai sau đây, khai báo nào là sai?

a)

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

Q : out STD_LOGIC_VECTOR (1 downto 0) )

b)

Port ( I : in STD_LOGIC (7 downto 0);

Q : out STD_LOGIC (2 downto 0) )

c)

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

Q : out STD_LOGIC_VECTOR (3 downto 0) )

d)

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

Q : out STD_LOGIC_VECTOR (7 downto 0) )

19.

Khi thiết kế flip-flop RS gồm các đầu vào SD, RD và các đầu ra Q và Q\overline{Q} khai báo đầu ra tín hiệu chuẩn logic là?

a)

Q , Q\overline{Q} : OUT STD_VECTOR_LOGIC

b)

Q , Q\overline{Q} : OUT LOGIC_VECTOR

c)

Q , Q\overline{Q} : OUT LOGIC

d)

Q , Q\overline{Q} : OUT STD_LOGIC

20.

Chọn khai báo sai trong các câu lệnh khai báo sau?

a)

VARIABLE QT: STD_LOGIC_VECTOR (7 downto 0) := “00000001”;

b)

VARIABLE QT: STD_LOGIC_VECTOR (7 downto 0) <= “00000100”;

c)

VARIABLE QT: STD_LOGIC_VECTOR (7 downto 0) := “00010000”;

d)

VARIABLE QT: STD_LOGIC_VECTOR (7 downto 0) := “01000000”;

21.

Đèn sẽ sáng khi nào, sau khi câu lệnh FOR/LOOP sau đây thực hiện?

FOR i IN 0 TO 20

LOOP

WAIT FOR 100*clock;

dem := dem + 1;

IF dem<10 THEN Den <= '1'; END IF; -- Den sang

IF dem>=10 AND dem < 20 THEN Den <= '0'; END IF; -- Den tat

IF dem =20 THEN dem:= 0; END IF;

END LOOP;

a)

Đèn sáng khi biến “dem” nhỏ hơn 20

b)

Đèn sáng khi biến “dem” lớn hơn 10

c)

Đèn sáng khi biến “dem” bằng 10

d)

Đèn sáng khi biến “dem” nhỏ hơn 10

22.

Lệnh chuyển đổi conv_integer(I) có tác dụng?

a)

Chuyển đổi I thành số nguyên

b)

Chuyển đổi I thành số thực

c)

Chuyển đổi I thành số dương

d)

Chuyển đổi I thành số âm

23.

Chọn khai báo đúng, trong các câu lệnh khai báo sau đây?

a)

VARIABLE QT: STD_LOGIC_VECTOR (1 downto 0) <= “10”

b)

VARIABLE QT: STD_LOGIC_VECTOR (1 downto 0) := “10”

c)

VARIABLE QT: STD_LOGIC_VECTOR (1 downto 0) := “101”

d)

VARIABLE QT: STD_LOGIC_VECTOR (1 downto 0) := “0101”

24.

Câu lệnh IF nào sau đây là sai?

a)

IF (clk'EVENT; clk='1') THEN temp := temp + 3; END IF;

b)

IF (clk='0') THEN temp := temp - 3; END IF;

c)

IF (clk='1') THEN temp := temp + 3; END IF;

d)

IF (clk'EVENT AND clk='1') THEN temp := temp - 3; END IF;

25.

Tìm câu lệnh IF viết sai?

a)

IF (clk'EVENT AND clk='1') => temp := temp + 4; END IF;

b)

IF (clk'EVENT AND clk='0') THEN temp := temp + 3; END IF;

c)

IF (clk='1') THEN temp := temp + 2; END IF;

d)

IF (clk'EVENT AND clk='1') THEN temp := temp + 1; END IF;

26.

Trong các câu lệnh khai báo tại PROCESS của mạch điện sau đây, khai báo nào là đúng?

a)

VARIABLE QT: STD_LOGIC <= ‘0’

b)

VARIABLE QT: STD_LOGIC := ‘1’

c)

VARIABLE QT: STD_LOGIC := “10”

d)

VARIABLE QT: STD_LOGIC := “011”

27.

Tại PROCESS của mạch điện sau đây, khai báo nào là đúng?

a)

VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) <= “000”

b)

VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) := “001”

c)

VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) <= “010”

d)

VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) <= “100”

28.

Trong các câu lệnh khai báo tại PROCESS, khai báo nào là sai?

a)

VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) := “000”;

b)

VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) “001”;

c)

VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) := “010”;

d)

VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) := “100”;

29.

Đâu là khai báo sai cho các chân vào/ra ( các PORT) của mạch điện sau đây?

a)

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

Q : out STD_LOGIC_VECTOR (1 downto 0) )

b)

Port ( I : in STD_ VECTOR (7 downto 0);

Q : out STD_ VECTOR (2 downto 0) )

c)

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

Q : out STD_LOGIC_VECTOR (3 downto 0) )

d)

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

Q : out STD_LOGIC_VECTOR (7 downto 0) )

30.

Câu lệnh nào sau đây viết sai?

a)

IF (clk'EVENT AND clk='1') := temp := temp - 4; END IF;

b)

IF (clk'EVENT AND clk='0') THEN temp := temp + 4; END IF;

c)

IF (clk='1') THEN temp := temp - 2; END IF;

d)

IF (clk='0') THEN temp := temp + 2; END IF;

31.

Thiết bị logic lập trình đơn giản CPLD là cụm từ viết tắt của ?

a)

Simple Programmable Logic Array

b)

Complex Programmable Logic Device

c)

Simple Programmable Device Logic

d)

Generic Programmable Logic Device

32.

Các FPGA Stratix II và Cyclone là của hãng?

a)

FPGA của hãng XILINX

b)

FPGA của hãng ALTERA

c)

FPGA của hãng XILINX và hãng ALTERA

d)

FPGA của một hãng khác không phải XILINX hay ALTERA

33.

PAL tượng trưng cho?

a)

Logic mảng lập trình

b)

Logic mảng tổng quát

c)

Logic lập trình

d)

Logic không lập trình

34.

Tại sao PAL dùng công nghệ xử lý cầu chì nên chỉ cho phép lập trình 1 lần?

a)

Khi lập trình các cầu chì bị phá hỏng không có khả năng nối lại.

b)

Khi lập trình các cầu chì bị phá hỏng có khả năng nối lại

c)

Khi lập trình các cầu chì giữ nguyên

d)

Khi lập trình các cầu chì được thay bằng phần tử khác

35.

Cách xây dựng một hàm logic của CPLD MAX II là?

a)

Sử dụng các bảng tra LUT (Look Up Tables) thay cho ma trận AND/OR

b)

Không sử dụng các bảng tra LUT

c)

Sử dụng ma trận AND/OR

d)

Không sử dụng ma trận AND/OR

36.

Trong các phát biểu sau , phát biểu nào là đúng ?

a)

PAL có mảng cổng AND lập trình và theo sau là mảng cổng OR lập trình

b)

PAL có mảng cổng AND lập trình và theo sau là mảng cổng OR cố định

c)

PLA có mảng cổng AND lập trình và theo sau là mảng cổng OR cố định

d)

PLA có mảng cổng AND lập trình và theo sau là mảng cổng AND cố định

37.

Câu lệnh chọn phép gán để gán một giá trị đến một tín hiệu, toán tử được sử dụng là?

a)

A: z := "01110001"

b)

B: z <= "01110001"

c)

C: z = "01110001

d)

D: z <= '01110001'

38.

Trong lập trình phần cứng, tại sao phải đưa ra thiết kế được tối ưu?

a)

Thiết kế được tối ưu để làm tăng số lượng cổng

b)

Thiết kế được tối ưu để làm giảm số lượng cổng, thay thế các phần tử logic hiệu quả hơn, loại trừ các thành phần logic thừa

c)

Thiết kế được tối ưu để đưa thêm các thành phần logic khác

d)

Thiết kế được tối ưu để sử dụng hết các tài nguyên trong chíp

39.

Trong các phát biểu sau , phát biểu nào là đúng nhất?

a)

Nhà sản xuất Lattice là công ty sản xuất SPLD

b)

Nhà sản xuất Atmel và Cypress là công ty sản xuất SPLD

c)

Nhà sản xuất Actel là công ty sản xuất SPLD

d)

Nhà sản xuất Lattice, Actel, Atmel và Cypress là các công ty sản xuất SPLD

40.

Đối với FPGA thì nhược điểm của phương pháp dùng lõi phần cứng là gì?

a)

Không gian trên chip nhỏ hơn và thời gian thiết kế ngắn hơn.

b)

Các thông số kỹ thuật là cố định trong quá trình chế tạo và không thể thay đổi về sau

c)

Các thông số kỹ thuật là không cố định trong quá trình chế tạo

d)

Các thông số kỹ thuật có thể thay đổi về sau

41.

Trong các câu lệnh khai báo danh sách các chân vào/ra ( các PORT) của mạch điện sau đây, khai báo nào là sai?

a)

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

Q : out STD_LOGIC_VECTOR (1 downto 0) );

b)

Port ( I : STD_LOGIC_VECTOR (7 downto 0);

Q : STD_LOGIC_VECTOR (2 downto 0) );

c)

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

Q : out STD_LOGIC_VECTOR (3 downto 0) );

d)

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

Q : out STD_LOGIC_VECTOR (7 downto 0) );

42.

Chọn khai báo sai, trong các câu lệnh khai báo danh sách các chân vào/ra ( các PORT)?

a)

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

Q : out STD_LOGIC_VECTOR (1 downto 0) );

b)

Port ( I : in LOGIC_VECTOR (7 downto 0);

Q : out LOGIC_VECTOR (2 downto 0) );

c)

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

Q : out STD_LOGIC_VECTOR (3 downto 0) );

d)

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

Q : out STD_LOGIC_VECTOR (7 downto 0) );

43.

Xác định sự thay đổi giá trị của biểu thức (temp1- temp2), sau khi câu lệnh IF sau đây thực hiện?

IF (clk'EVENT AND clk='0') THEN

temp1 := temp1 + 1;

temp2 := temp2 - 1;

END IF;

a)

Giá trị (temp1- temp2) tăng hai khi chân clk thay đổi trạng thái từ ‘1’ về ‘0’

b)

Giá trị (temp1- temp2) tăng một khi chân clk thay đổi trạng thái từ ‘1’ về ‘0’

c)

Giá trị (temp1- temp2) giảm hai khi chân clk thay đổi trạng thái từ ‘0’ lên ‘1’

d)

Giá trị (temp1- temp2) giảm một hai khi chân clk thay đổi trạng thái từ ‘0’ lên ‘1’

44.

Cho biết kết quả đúng của câu lệnh IF lồng nhau sau đây?

IF (clk'EVENT AND clk='0') THEN

dem := dem + 1;

IF dem =30 THEN dem:= 0; END IF;

END IF;

a)

Biến dem tăng một từ 0 đến 29, khi chân clk thay đổi trạng thái từ ‘1’ về ‘0’

b)

Biến dem tăng một từ 0 đến 30, khi chân clk thay đổi trạng thái từ ‘1’ về ‘0’

c)

Biến dem giảm một từ 29 về 0, khi chân clk thay đổi trạng thái từ ‘0’ lên ‘1’

d)

Biến dem giảm một từ 30 về 0, khi chân clk thay đổi trạng thái từ ‘0’ lên ‘1’

45.

Tìm câu lệnh viết đúng trong các câu lệnh sau đây?

a)

CASE control IS WHEN "0001" => x<="01";

b)

CASE control IS WHEN "0001" => "01";

c)

CASE control IS WHEN "0001" => '01';

d)

CASE control IS WHEN "0001" => x;

46.

Mạch giải mã LED 7 đoạn loại Anode chung khai báo tối thiểu file sử dụng trong thư viện là?

a)

use IEEE.STD_LOGIC_1164.ALL;

b)

use IEEE.STD_LOGIC.ALL;

c)

use IEEE.STD_UNSIGNED.ALL;

d)

use STD_UNSIGNED.ALL;

47.

Hãy chọn khối câu lệnh viết sai?

a)

WHEN "000" => x <= ;

WHEN "111" => x <= ;

WHEN OTHERS => NULL;

b)

WHEN '0' => x<="01";

WHEN '1' => x<="10";

WHEN OTHERS => NULL;

c)

WHEN "0001" => x<="00";

WHEN "1000" => x<="11";

WHEN OTHERS => NULL;

d)

WHEN "00000010" => x<= "001";

WHEN "00010000" => x<="100";

WHEN OTHERS => NULL;

48.

Trong các câu lệnh IF sau đây, câu lệnh nào viết đúng?

a)

IF (clk'EVENT AND clk='1') => temp := temp + 1; END IF;

b)

IF (clk'EVENT AND clk <='1') THEN temp := temp + 1; END IF;

c)

IF (clk'EVENT AND clk :='1') THEN temp := temp + 1; END IF;

d)

IF (clk'EVENT AND clk='1') THEN temp := temp + 1; END IF;

49.

Khi thiết kế thanh ghi dịch 4 bit vào nối tiếp ra nối tiếp đầu ra Q là vector 4 bít khai báo đầu ra Q với bít MSB bên trái nhất là?

a)

Q: OUT STD_LOGIC_ VECTOR(3 DOWNTO 0);

b)

Q : OUT LOGIC_ VECTOR(3 DOWNTO 0);

c)

Q: OUT VECTOR(3 DOWNTO 0);

d)

Q: IN STD_LOGIC(3 DOWNTO 0);

50.

Mạch giải mã LED 7 đoạn loại Anode chung đầu vào I="1000" đầu ra Y hiển thị số 8 là?

a)

when "1000" => Y <= "0000000";

b)

when "1000" => Y <= "1001000";

c)

when "1000" => Y <= "0111100";

d)

when "1000" => Y <= "1111001"

51.

Mạch đếm BCD và giải mã hiển thị LED 7 thanh, khai báo tín hiệu đầu ra L7D tương ứng với vector 7 bít là ?

a)

L7D : out STD_LOGIC_VECTOR (7 downto 1);

b)

L7D : out LOGIC_VECTOR (6 downto 0);

c)

L7D : STD_LOGIC_VECTOR (6 downto 0);

d)

L7D : out STD_LOGIC_VECTOR (6 downto 0);

52.

Cho khai báo như sau: Q : out STD_LOGIC_VECTOR (2 downto 0) Phép gán nào là sai?

a)

Q <= "0101";

b)

Q <= "001";

c)

Q <= "010";

d)

Q <= "100";

53.

Chọn câu lệnh viết sai?

a)

CASE control IS

WHEN '0' x<="01";

WHEN '1' x<="10";

WHEN OTHERS => NULL;

b)

CASE control IS

WHEN '0' => x<="01";

WHEN '1' => x<="10";

WHEN OTHERS => NULL;

c)

CASE control IS

WHEN '0' => x<="00";

WHEN '1' => x<="11";

WHEN OTHERS => NULL;

d)

CASE control IS

WHEN '0' => x<="00";

WHEN '1' => x<="01";

WHEN OTHERS => NULL;