Câu 23:
What’s the issue with this code? Explain the reason.
Không bàn đến tính năng của fulladd2 và chức năng của testbench thì đoạn code sau gặp một số lỗi cơ bản sau như các bạn đã tìm ra:
1. Port list của fulladd2 khai báo input c_in nhưng trong testbench lại khai báo C_in dẫn đến khi dùng “implicit connection” (.*) sẽ bị mismatch.
2. Vấn đề tương tự xảy ra với output c_out của DUT khi trong testbench khai báo cout.
3. Khi instance dut thiếu dấu “;” khi kết thúc (line 15).
4. Nhiều bạn tinh ý sẽ phát hiện ra biến a chỉ có 2 bit nhưng bị testbench gán cho giá trị 5 (3 bit).
5. DUT có 3 input nhưng chỉ initialize 2 input a và b, thiếu gán cho input c_in nên giá trị đưa vào DUT sẽ là z (high impedance). Thật ra việc khai bảo sai tên c_in ở (1) cũng đã làm c_in bị “z” rồi nhưng chúng ta vẫn nên nhắc đến lỗi này.
Các bạn có thể sửa và chạy mô phỏng kiểm tra trong server EDA của ICTC nhé.
Câu 22:
The following diagram represents a finite state machine (FSM) which takes input as bits of a binary number, starting from the least significant bit (LSB).
Which one of the following is TRUE about this FSM?
A. It computes the 1’s complement of the input number.
B. It computes the 2’s complement of the input number.
C. It increments the input number.
D. It decrements the input number
Đáp án: B
Bạn hãy thử cho 1 chuỗi bit, ví dụ 1010 qua FSM và xem kết quả.
1. [Q0] LSB (bit 0) = 0 qua trước –> output = 0 –> state giữ nguyên
2. [Q0] Bit 1 = 1 –> output = 1 –> state chuyển sang Q1
3. [Q1] Bit 2 = 0 –> output = 1 –> state giữ nguyên Q1
4. [Q1] Bit 3 = 1 –> output = 0 –> state giữ nguyên Q1
Kết quả: 1010 –> 0110 (bù 2 của 1010)
Câu 21:
What’s the value of Q1 & Q2 when A = 1 & B = 1
A. Keep present state
B. Q1 = 1, Q2 = 0
C. Q1 = 0, Q2 = 1
D. Forbidden
Đáp án: A
Giải thích: đây là SR-latch NAND type
Truth table NAND type
Giả sử hiện tại Q1 = 0, Q2 = 1 (giá trị màu xanh dương)
Giá trị 0 (xanh dương) tại Q1 sẽ đi theo đường màu đỏ xuống cổng NAND với input B = 1, ngõ ra Q2 ở next state là 1 (màu xanh lá)
Tương tự, giá trị 1 (xanh dương) tại Q2 sẽ đi theo đường màu đỏ lên cổng NAND với input A = 1, ngõ ra Q1 ở next state sẽ là 0 (màu xanh lá)
–> Kết luận: Q1 và Q2 giữ nguyên state
Làm tương tự khi giả sử hiện tại Q1=1, Q2=0.
Câu 20:
What is this?
A. XOR gate
B. XNOR gate
C. latch
D. Flip-Flop
Đáp án: C. Đây là latch
Đáp án: C
Đây là SR latch. Các bạn có thể xem lại lý thuyết học trong phần kỹ thuật số để ôn lại hoạt động của nó nhé.
Câu 19:
Which of the following statements is FALSE about Verilog?
A. Verilog can be used for hardware description.
B. Verilog can be used to describe parallel execution.
C. Verilog code is synthesized into physical hardware circuits.
D. Verilog allows for explicit timing control using constructs like #10.
Đáp án: C
Chỉ có synthesizable verilog mới có thể tổng hợp (synthesis) thành mạch phần cứng được, còn un-synthesizable verilog (test-bench, model…) thì không thể tổng hợp được.
Câu 18:
What is the name of logic gate in below MOS diagram?
A. NOR gate
B. OR gate
C. NAND gate
D. AND gate
Đáp án: D
Giải thích: AND gate được tạo thành từ NAND gate (2 p-MOS mắc song song, 2 n-MOS mắc nối tiếp) và một cổng inverter (1 cặp p-MOS & n-MOS).
Các bạn có thể tỉm hiểu về MOS diagram để hiểu thêm về vấn đề này nhé
Câu 17:
How many NAND gate can be used to form an XOR gate? Find the MINIMUM NUMBER.
A. 3
B. 4
C. 5
D. 6
Đáp án B.
Câu này mang tính chất hơi đánh đố tí, nên thôi mình xem cho vui để biết thêm hén các bạn, hoặc mình nhớ luôn đáp án lỡ sau này bị hỏi thì mình biết để trả lời.
Kiến thức sử dụng: định luật De-morgan trong biến đổi đại số tổ hợp
Suy nghĩ theo cách thông thường thì chúng ta sẽ cần 5 cổng NAND để biểu diễn cổng XOR theo hình dưới đây
Thế nhưng đề bài lại yêu cầu tìm số cổng NAND nhở nhất, nên cách trên chưa phải là tối ưu.
Các bạn có thể theo dõi phần giải thích sau nhé:
Nên chúng ta chỉ cần 4 cổng NAND thôi,
Bạn nào ra 5 cũng OK rồi nhé các bạn ^^
Câu 16:
How many NAND gates can be used to form an OR gate?
A. 2
B. 3
C. 4
D. 5
Đáp án: B
Giải thích: áp dụng định luật De-Morgan:
Bản thân A’ và B’ chính là 2 cổng NAND (các bạn có thể xem lại các câu hỏi tháng 5 có bài này rồi nhé).
Thêm 1 cổng NAND ngoài cùng nữa tổng cộng sẽ là 3 cổng NAND
Câu 15:
Đáp án: C
Giải thích
Việc kết nối như trên làm ngõ ra Q chuyển trạng thái ở mỗi xung clock.
Giả sử trạng thái ban đầu của Q là 0. Q’ là 1. D được kết nối với Q’, nên D = 1.
Tại cạnh clock T1: Giá trị của D=1 được lưu vào Q (sample). Q trở thành 1. Q’ trở thành 0, nên D cũng bằng 0.
Tại cạnh clock T2: Giá trị của D=0 được lưu vào Q (sample). Q trở thành 0. Q’ trở thành 1, nên D cũng bằng 1.
Cứ thế lặp lại.
Dễ thấy tần số ngõ ra Q bằng 1 nửa so với tần số clock ngõ vào. Nên đây gọi là mạch chia tần số.
Câu 14:
Given the binary number 10010. What’s the correct answer when convert it to gray number?
A. 10110
B. 11010
C. 10111
D. 11011
Đáp án: D
Giải thích
Bước 1: viết MSB xuống
Bước 2: so sánh 2 bit kế tiếp nhau của chuỗi binary, nếu giống nhau thì write 0 xuống mã gray, nếu khác nhau thì write 1 xuống mã gray. Cứ thế ta sẽ tìm được chuỗi mã gray tương ứng
Câu 13:
Given the gray number 11001. What’s the correct answer when convert it to binary?
A. 10001
B. 10010
C. 10100
D. 11000
Đáp án: A
Giải thích
Bước 1: viết bit đầu tiên (MSB) xuống
Bước 2: so sánh bi vừa viết xuống với bit tiếp theo của chuỗi gray code, nếu giống nhau thì ghi xuống 0, khác nhau thì ghi xuống 1. Cứ thể ta sẽ tìm được chuỗi binary tương ứng
Câu 12
Đáp án: B
Giải thích:
Dựa vào truth table của công XOR ta có:
Cổng (1): output của A’ xor A là 1
Cổng (2): output của 1 và A là A’
Cổng (3): output của A’ và A là 1.
Vậy đáp án là 1
Câu 11
What’s the function of below circuit?
A. A NOR gate
B. A NOT gate
C. An OR gate
D. An AND gate
Đáp án: B
Phân tích truth table của cổng NAND
Ta thấy khi hai ngõ vào nối chung thì giá trị ngõ ra sẽ là giá trị đảo của ngõ vào, đây chính là nguyên lý của cổng NOT, hay còn gọi là Inverter.
Trong thực tế, cổng NOT sẽ được tạo thành từ 1 cặp n-mos và p-mos như hình dưới đây.
Câu 10:
What does VLSI stand for?
A: Various Logic Scale Industry
B: Various Logic Scale Integration
C: Very Large Scale Integration
D: Very Large Scale Industry
Đáp án: C
VLSI (Very-Large-Scale Integration) là công nghệ tích hợp vi mạch rất lớn, cho phép hàng triệu hoặc thậm chí hàng tỷ transistor được tích hợp vào một chip đơn lẻ.
Câu 9:
What does CMOS stand for
A. Complementary Metal-Oxide-Semiconductor
B. Conductive Metal-Oxide-Semiconductor
C. Conductor Metal-Oxide-Silicon.
D. Composite Metal-Oxide-Semiconductor
Đáp án: A
CMOS (Complementary Metal-Oxide-Semiconductor) là một loại quy trình chế tạo transistor trường MOS (metal-oxide-semiconductor field-effect transistor – MOSFET) sử dụng các cặp MOSFET loại p và loại n có tính bổ sung và đối xứng cho các chức năng logic. Công nghệ CMOS được sử dụng để xây dựng các chip mạch tích hợp (IC), bao gồm vi xử lý, vi điều khiển, chip nhớ (bao gồm cả CMOS BIOS), và các mạch logic số khác
Câu 8:
What is the output of following code?
A. address of a
B. 10
C. 0
D. Compile error
Đáp án: B
Giải thích:
p = &a;
Dòng này gán địa chỉ của biến a
cho con trỏ p
. &a
là toán tử lấy địa chỉ của a
.
printf(“%d\n”, *p);
Dòng này in ra giá trị mà con trỏ p
đang trỏ tới. *p
là toán tử gián tiếp (dereference), nó lấy giá trị của biến mà con trỏ p
đang trỏ tới. Vì p
đang trỏ tới a
, nên *p
chính là giá trị của a
, tức là 10.
Câu 7
Which of the following statements is NOT correct about combinational circuit and sequential circuit?
A.Combinational circuits do not have memory elements, whereas sequential circuits have memory elements to store past states.
B. The output of a combinational circuit depends only on the current inputs, while the output of a sequential circuit depends on both the current inputs and the history of past inputs.
C. Sequential circuits typically use flip-flops or latches as their memory elements, whereas combinational circuits do not require these elements.
D. Combinational circuits are generally faster and more complex than sequential circuits due to the need for logic gates and feedback loops.
Đáp án: D
Câu D sai vì “feedback loops”, trong mạch tổ hợp (combinational circuit), không có đường hồi tiếp về (feedback loops). Feedback loops chỉ được dùng trong mạch tuần tự (sequential circuit).
Đáp án A,B,C đều đúng khi nói về sự khác nhau giữa mạch tổ hợp và mạch tuần tự
Câu 6
In n-type semiconductor:
A: The density of hole is higher than electron
B: The density of hole is smaller than electron
C: The density of hole is equal to electron
D: Only hole exist, no electron
Đáp án: B
“n” trong n-type có nghĩa là “negative”, mật độ electron nhiều hơn lỗ trống. Và ngược lại, trong p-type, mật độ lỗ trống nhiều hơn electron.
Câu 5
What is correct about the order of steps in semiconductor design flow?
- Physical design
- Fabrication
- Logic Design
- System Specification
A: 3 -> 1 -> 4 -> 2
B: 3 -> 4 -> 1 -> 2
C: 4 -> 3 -> 2 -> 1
D: 4 -> 3 -> 1 -> 2
Phân tích:
System specification: xác định những yêu cầu về thiết kế, trước khi bắt đầu thiết kế.
Logic Design: thiết kế dựa vào system specification
Physical Design: từ output của logic design, các kỹ sư PD bắt đầu công đoạn thiết kế vật lý (layout).
Fabrication: output của bước thiết kế vật lý sẽ được gửi sang cho nhà máy để sản xuất ra những con chip mà chúng ta thường thấy.
Đáp án: D
Câu 4
What is process node (technology node)?
A: A special electrical node of the design
B: A size of the transistor
C: A specific semiconductor manufacturing process
D: A width and length of the chip
Phân tích:
Trong ngành vi mạch, process node, hay được gọi là “tiến trình” trong tiếng Việt, đại diện cho công nghệ sản xuất vi mạch, tương ứng với đáp án C.
Ở đây ta có thể phân vân giữa đáp án B và C. Đáp án B nói về kính thước transistor, nhưng nếu đã nói đến transistor như vậy thì nó lại chưa đúng lắm. Về mặt định nghĩa chi tiết, process node 7nm hay 3nm đại diện cho khoảng cách giữa cực source (cực nguồn) và cực drain (cực máng) trên bóng bán dẫn – hay còn gọi là gate length (chiều dài cổng). Khoảng cách này càng ngắn, thời gian để các hạt electron chuyển từ cực source sang cực drain càng ngắn và càng tốn ít năng lượng hơn, dẫn đến các con chip hoạt động càng nhanh hơn và càng sử dụng năng lượng hiệu quả hơn.
Nên đáp án C mặc dù nói chung chung nhưng đúng, còn đáp án B đề cập đến size thì hơi chung chung vì transistor có nhiều kích thước khác: chiều rộng, chiều cao, chiều dài kênh, chiều dài cổng… trong khi process node chỉ là “chiều dài cổng”.
Câu 3
Complete the truth table in below picture
A. W = 1, X = 1, Y = 0, Z = 0
B. W = 0, X = 0, Y = 1, Z = 1
C. W = 0, X = 1, Y = 0, Z = 1
D. W = 1, X = 0, Y = 1, Z = 0
Phân tích:
Ngõ ra F sẽ bằng 1 khi (1) hoặc (2) bằng 1:
Để (1) bằng 1 thì A và B phải cùng băng 1, vậy Z = 1
Truth table của cổng NOR
Để ngõ ra của cổng NOR (2) bằng 1 thì cả 2 ngõ vào phải là 0, tương ứng với A = 1 (do có cổng đảo) và B = 0. Vậy Y = 0
Các trường hợp còn lại sẽ làm ngõ ra đề bài bằng 0. Vậy W = X = 0.
Đáp án: B
Câu 2
Map the logic gate with truth table in below picture:
A: 1.XOR 2.NOR 3.NAND 4.XNOR
B: 1.XOR 2.NAND 3.NOR 4.XNOR
C: 1.XNOR 2.NOR 3.NAND 4.XOR
D: 1.XNOR 2.NAND 3.NOR 4.XOR
Đáp án: D
Câu 1
Đây là gì ?
A. NAND gate
B. NOR gate
C. Latch
D. Flip-FLop
Phân tích: Câu hỏi này nếu không để ý thì các bạn sẽ dễ dàng chọn đáp án D là Flip-Flop vì thấy có signal tên là “ck”, trông giống như clock của F.F. Trên thực tế, giả sử đây là Flip-flop với chân clock “ck” thì output Z sẽ chỉ thay đổi giá trị tại cạnh lên hoặc cạnh xuống của ck. Ở đây, ta thấy tại thời điểm signal A thay đổi từ High->Low, Z cũng thay đổi theo mà không phụ thuộc vào cạnh của “ck”, điều này không tuân thủ nguyên lý hoạt động của flip-flop.
Trả lời: Đây là latch. Ở đây, “ck” đóng vai trò như enable. Nguyên lý hoạt động của latch:
Khi EN = 1, output = input
Khi EN = 0, output giữ nguyên giá trị.
Tại thời điểm A thay đổi từ Low -> High, lúc này “ck” (enable) đang là Low nên ngõ ra Z vẫn giữ nguyên giá trị của nó. Khi “ck” = High, lúc này Z mới cập nhật giá trị của ngõ vào A.
Tại thời điểm A thay đổi từ High->Low, lúc này “ck” đang High nên Z cũng sẽ thay đổi theo A ngay lập tức (High -> Low).
———
Sắp tới ICTC sẽ update các câu hỏi mới vào bài viết này. Các bạn hãy ghé thăm group thường xuyên để tiếp tục trả lời các câu hỏi tiếp theo nhé.
——–