NEW
Font size
WorksheetsĐỀ SỐ 01 - PLD & ASIC
Total questions: 53
Worksheet time: 53mins
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;
Khi Bien_DK là “001” thì x là “00000010” và khi Bien_DK là “010” thì x là “00000100”
Khi Bien_DK là “101” thì x là “00000010”
Khi Bien_DK là “110” thì x là “00000100”
Khi Bien_DK là “111” thì x là “00001000”
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
Khi BT là ‘0’ thì Đèn sáng
Khi BT là ‘1’ thì Đèn sáng
Đèn luôn sáng với mọi giá trị của BT
Đèn luôn tắt với mọi giá trị của BT
Một LUT về cơ bản là gì?
Là loại bộ nhớ có thể lập trình để tạo ra các hàm SOP.
Là loại bộ nhớ không thể lập trình
Là loại vi mạch
Là loại cổng vào ra
CPLD Cool Runner II và XC9500. là của hãng?
Hãng ALTERA
Hãng XILINX
Hãng XILINX và hãng ALTERA
Một hãng khác không phải XILINX hay ALTERA
Phương pháp tổng của các tích SOP là cụm từ viết tắt của ?
Programmable Logic Array
Sum Of Product
Simple Programmable Logic
Generic Programmable Logic
Với CPLD thì?
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
Không tích hợp từ các SPLD
Tích hợp từ nhiều FPGA
Tích hợp từ nhiều PLD
Hai thành phần PAL và GAL là của thiết bị?
CPLD
SPLD
FPGA
Logic Device
Tại sao FPGA là thiết bị có thể lập trình lại?
FPGA sử dụng công nghệ xử lý cầu chì để lập trình cho các điểm nối
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
FPGA không cần lập trình cho các điểm nối
FPGA có sẵn cấu hình cho các điểm nối
Tại sao PAL lập trình một lần, còn GAL lập trình được nhiều lần?
GAL dùng công nghệ cầu chì
GAL không dùng công nghệ xử lý cho phép lập trình lại giống như EEPROM
PAL dùng công nghệ xử lý cho phép lập trình lại giống như EEPROM
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ì
CPLD MAX II và CPLD MAX 7000 là của hãng?
XILINX
ALTERA
Hãng XILINX và hãng ALTERA
Một hãng khác không phải XILINX hay ALTERA
Khai báo Q đầu ra mạch đa hợp là?
I : in STD_LOGIC_VECTOR (3 downto 0)
S : in STD_LOGIC_VECTOR (1 downto 0)
Q : out STD_LOGIC
Q : LOGIC_VECTOR (3 downto 0)
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?
Cung cấp các dạng sóng đầu ra
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
Tự phần mềm mô phỏng
Không thể mô phỏng
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à?
I : in STD_LOGIC
S : in STD_LOGIC_VECTOR (1 downto 0)
Q : out STD_VECTOR (3 downto 0)
S : in STD_LOGIC
Các kết nối lập trình bên trong của CPLD gọi là?
PIA (Programmable Interconnect Array), AIM (Advance Interconnect Matrix) hoặc các thuật ngữ tương tự.
Chỉ gọi là PIA (Programmable Interconnect Array)
Chỉ gọi là AIM (Advance Interconnect Matrix)
Không có tên gọi cụ thể
Nhận xét nào là đúng về FPGA?
FPGA là thiết bị chỉ có thể lập trình 1 lần
FPGA là thiết bị có thể lập trình lại
FPGA là thiết bị không cho phép lập trình
FPGA không phải là thiết bị logic
Về phần mềm hỗ trợ cho mỗi thiết bị phần cứng SPLD, CPLD và FPGA, thì?
Các nhà chế tạo SPLD, CPLD và FPGA không cung cấp phần mềm hỗ trợ
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
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
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
Sự khác nhau giữa FPGA và CPLD là ?
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
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 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
Trong FPGA và CPLD không có các phần tử dùng để tạo ra các hàm logic
Trong các câu lệnh khai sau đây, khai báo nào là sai?
Port ( I : in STD_LOGIC_VECTOR (3 downto 0);
Q : out STD_LOGIC_VECTOR (1 downto 0) )
Port ( I : in STD_LOGIC (7 downto 0);
Q : out STD_LOGIC (2 downto 0) )
Port ( I : in STD_LOGIC_VECTOR (1 downto 0);
Q : out STD_LOGIC_VECTOR (3 downto 0) )
Port ( I : in STD_LOGIC_VECTOR (2 downto 0);
Q : out STD_LOGIC_VECTOR (7 downto 0) )
Khi thiết kế flip-flop RS gồm các đầu vào SD, RD và các đầu ra Q và Q khai báo đầu ra tín hiệu chuẩn logic là?
Q , Q : OUT STD_VECTOR_LOGIC
Q , Q : OUT LOGIC_VECTOR
Q , Q : OUT LOGIC
Q , Q : OUT STD_LOGIC
Chọn khai báo sai trong các câu lệnh khai báo sau?
VARIABLE QT: STD_LOGIC_VECTOR (7 downto 0) := “00000001”;
VARIABLE QT: STD_LOGIC_VECTOR (7 downto 0) <= “00000100”;
VARIABLE QT: STD_LOGIC_VECTOR (7 downto 0) := “00010000”;
VARIABLE QT: STD_LOGIC_VECTOR (7 downto 0) := “01000000”;
Đè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;
Đèn sáng khi biến “dem” nhỏ hơn 20
Đèn sáng khi biến “dem” lớn hơn 10
Đèn sáng khi biến “dem” bằng 10
Đèn sáng khi biến “dem” nhỏ hơn 10
Lệnh chuyển đổi conv_integer(I) có tác dụng?
Chuyển đổi I thành số nguyên
Chuyển đổi I thành số thực
Chuyển đổi I thành số dương
Chuyển đổi I thành số âm
Chọn khai báo đúng, trong các câu lệnh khai báo sau đây?
VARIABLE QT: STD_LOGIC_VECTOR (1 downto 0) <= “10”
VARIABLE QT: STD_LOGIC_VECTOR (1 downto 0) := “10”
VARIABLE QT: STD_LOGIC_VECTOR (1 downto 0) := “101”
VARIABLE QT: STD_LOGIC_VECTOR (1 downto 0) := “0101”
Câu lệnh IF nào sau đây là sai?
IF (clk'EVENT; clk='1') THEN temp := temp + 3; END IF;
IF (clk='0') THEN temp := temp - 3; END IF;
IF (clk='1') THEN temp := temp + 3; END IF;
IF (clk'EVENT AND clk='1') THEN temp := temp - 3; END IF;
Tìm câu lệnh IF viết sai?
IF (clk'EVENT AND clk='1') => temp := temp + 4; END IF;
IF (clk'EVENT AND clk='0') THEN temp := temp + 3; END IF;
IF (clk='1') THEN temp := temp + 2; END IF;
IF (clk'EVENT AND clk='1') THEN temp := temp + 1; END IF;
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?
VARIABLE QT: STD_LOGIC <= ‘0’
VARIABLE QT: STD_LOGIC := ‘1’
VARIABLE QT: STD_LOGIC := “10”
VARIABLE QT: STD_LOGIC := “011”
Tại PROCESS của mạch điện sau đây, khai báo nào là đúng?
VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) <= “000”
VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) := “001”
VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) <= “010”
VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) <= “100”
Trong các câu lệnh khai báo tại PROCESS, khai báo nào là sai?
VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) := “000”;
VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) “001”;
VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) := “010”;
VARIABLE QT: STD_LOGIC_VECTOR (2 downto 0) := “100”;
Đâ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?
Port ( I : in STD_LOGIC_VECTOR (3 downto 0);
Q : out STD_LOGIC_VECTOR (1 downto 0) )
Port ( I : in STD_ VECTOR (7 downto 0);
Q : out STD_ VECTOR (2 downto 0) )
Port ( I : in STD_LOGIC_VECTOR (1 downto 0);
Q : out STD_LOGIC_VECTOR (3 downto 0) )
Port ( I : in STD_LOGIC_VECTOR (2 downto 0);
Q : out STD_LOGIC_VECTOR (7 downto 0) )
Câu lệnh nào sau đây viết sai?
IF (clk'EVENT AND clk='1') := temp := temp - 4; END IF;
IF (clk'EVENT AND clk='0') THEN temp := temp + 4; END IF;
IF (clk='1') THEN temp := temp - 2; END IF;
IF (clk='0') THEN temp := temp + 2; END IF;
Thiết bị logic lập trình đơn giản CPLD là cụm từ viết tắt của ?
Simple Programmable Logic Array
Complex Programmable Logic Device
Simple Programmable Device Logic
Generic Programmable Logic Device
Các FPGA Stratix II và Cyclone là của hãng?
FPGA của hãng XILINX
FPGA của hãng ALTERA
FPGA của hãng XILINX và hãng ALTERA
FPGA của một hãng khác không phải XILINX hay ALTERA
PAL tượng trưng cho?
Logic mảng lập trình
Logic mảng tổng quát
Logic lập trình
Logic không lập trình
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?
Khi lập trình các cầu chì bị phá hỏng không có khả năng nối lại.
Khi lập trình các cầu chì bị phá hỏng có khả năng nối lại
Khi lập trình các cầu chì giữ nguyên
Khi lập trình các cầu chì được thay bằng phần tử khác
Cách xây dựng một hàm logic của CPLD MAX II là?
Sử dụng các bảng tra LUT (Look Up Tables) thay cho ma trận AND/OR
Không sử dụng các bảng tra LUT
Sử dụng ma trận AND/OR
Không sử dụng ma trận AND/OR
Trong các phát biểu sau , phát biểu nào là đúng ?
PAL có mảng cổng AND lập trình và theo sau là mảng cổng OR lập trình
PAL có mảng cổng AND lập trình và theo sau là mảng cổng OR cố định
PLA có mảng cổng AND lập trình và theo sau là mảng cổng OR cố định
PLA có mảng cổng AND lập trình và theo sau là mảng cổng AND cố định
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: z := "01110001"
B: z <= "01110001"
C: z = "01110001
D: z <= '01110001'
Trong lập trình phần cứng, tại sao phải đưa ra thiết kế được tối ưu?
Thiết kế được tối ưu để làm tăng số lượng cổng
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
Thiết kế được tối ưu để đưa thêm các thành phần logic khác
Thiết kế được tối ưu để sử dụng hết các tài nguyên trong chíp
Trong các phát biểu sau , phát biểu nào là đúng nhất?
Nhà sản xuất Lattice là công ty sản xuất SPLD
Nhà sản xuất Atmel và Cypress là công ty sản xuất SPLD
Nhà sản xuất Actel là công ty sản xuất SPLD
Nhà sản xuất Lattice, Actel, Atmel và Cypress là các công ty sản xuất SPLD
Đố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ì?
Không gian trên chip nhỏ hơn và thời gian thiết kế ngắn hơn.
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 thông số kỹ thuật là không cố định trong quá trình chế tạo
Các thông số kỹ thuật có thể thay đổi về sau
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. Port ( I : in STD_LOGIC_VECTOR (3 downto 0);
Q : out STD_LOGIC_VECTOR (1 downto 0) );
Port ( I : STD_LOGIC_VECTOR (7 downto 0);
Q : STD_LOGIC_VECTOR (2 downto 0) );
Port ( I : in STD_LOGIC_VECTOR (1 downto 0);
Q : out STD_LOGIC_VECTOR (3 downto 0) );
Port ( I : in STD_LOGIC_VECTOR (2 downto 0);
Q : out STD_LOGIC_VECTOR (7 downto 0) );
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)?
Port ( I : in STD_LOGIC_VECTOR (3 downto 0);
Q : out STD_LOGIC_VECTOR (1 downto 0) );
Port ( I : in LOGIC_VECTOR (7 downto 0);
Q : out LOGIC_VECTOR (2 downto 0) );
Port ( I : in STD_LOGIC_VECTOR (1 downto 0);
Q : out STD_LOGIC_VECTOR (3 downto 0) );
Port ( I : in STD_LOGIC_VECTOR (2 downto 0);
Q : out STD_LOGIC_VECTOR (7 downto 0) );
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;
Giá trị (temp1- temp2) tăng hai khi chân clk thay đổi trạng thái từ ‘1’ về ‘0’
Giá trị (temp1- temp2) tăng một khi chân clk thay đổi trạng thái từ ‘1’ về ‘0’
Giá trị (temp1- temp2) giảm hai khi chân clk thay đổi trạng thái từ ‘0’ lên ‘1’
Giá trị (temp1- temp2) giảm một hai khi chân clk thay đổi trạng thái từ ‘0’ lên ‘1’
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;
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’
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’
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’
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’
Tìm câu lệnh viết đúng trong các câu lệnh sau đây?
CASE control IS WHEN "0001" => x<="01";
CASE control IS WHEN "0001" => "01";
CASE control IS WHEN "0001" => '01';
CASE control IS WHEN "0001" => x;
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à?
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC.ALL;
use IEEE.STD_UNSIGNED.ALL;
use STD_UNSIGNED.ALL;
Hãy chọn khối câu lệnh viết sai?
WHEN "000" => x <= ;
WHEN "111" => x <= ;
WHEN OTHERS => NULL;
WHEN '0' => x<="01";
WHEN '1' => x<="10";
WHEN OTHERS => NULL;
WHEN "0001" => x<="00";
WHEN "1000" => x<="11";
WHEN OTHERS => NULL;
WHEN "00000010" => x<= "001";
WHEN "00010000" => x<="100";
WHEN OTHERS => NULL;
Trong các câu lệnh IF sau đây, câu lệnh nào viết đúng?
IF (clk'EVENT AND clk='1') => temp := temp + 1; END IF;
IF (clk'EVENT AND clk <='1') THEN temp := temp + 1; END IF;
IF (clk'EVENT AND clk :='1') THEN temp := temp + 1; END IF;
IF (clk'EVENT AND clk='1') THEN temp := temp + 1; END IF;
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à?
Q: OUT STD_LOGIC_ VECTOR(3 DOWNTO 0);
Q : OUT LOGIC_ VECTOR(3 DOWNTO 0);
Q: OUT VECTOR(3 DOWNTO 0);
Q: IN STD_LOGIC(3 DOWNTO 0);
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à?
when "1000" => Y <= "0000000";
when "1000" => Y <= "1001000";
when "1000" => Y <= "0111100";
when "1000" => Y <= "1111001"
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à ?
L7D : out STD_LOGIC_VECTOR (7 downto 1);
L7D : out LOGIC_VECTOR (6 downto 0);
L7D : STD_LOGIC_VECTOR (6 downto 0);
L7D : out STD_LOGIC_VECTOR (6 downto 0);
Cho khai báo như sau: Q : out STD_LOGIC_VECTOR (2 downto 0) Phép gán nào là sai?
Q <= "0101";
Q <= "001";
Q <= "010";
Q <= "100";
Chọn câu lệnh viết sai?
CASE control IS
WHEN '0' x<="01";
WHEN '1' x<="10";
WHEN OTHERS => NULL;
CASE control IS
WHEN '0' => x<="01";
WHEN '1' => x<="10";
WHEN OTHERS => NULL;
CASE control IS
WHEN '0' => x<="00";
WHEN '1' => x<="11";
WHEN OTHERS => NULL;
CASE control IS
WHEN '0' => x<="00";
WHEN '1' => x<="01";
WHEN OTHERS => NULL;
