Thiết kế và tổng hợp hệ thống số
Trang 1TRƯỜNG ĐH BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
Đề số : 1
Số trang : 6
MÔN THI : THIẾT KẾ VÀ TỔNG HỢP
HỆ THỐNG SỐNgày thi : 14/05/2013Thời gian làm bài : 60 phútĐược sử dụng tài liệu
Trưởng nhóm môn học : Trưởng bộ môn :
Họ tên sinh viên : Mã số sinh viên : Lớp :
Trang 2ĐỀ BÀICâu hỏi 1 : Phương pháp mô phỏng chính được sử dụng trong các phần mềm mô phỏng Verilogbao gồm :
A : Phương pháp mô phỏng dựa trên sự kiện (Event Driven)
B : Không phương pháp nào
C : Phương pháp mô phỏng dựa trên chu kỳ (Cycle Based)
Figure 1 – Xác định vai trò của input câu hỏi 3
A : x : Enable ; y : Data input ; w : synchronous reset
B : x : Enable ; y : Data input ; w : asynchronous reset
C : x : Clock ; y : Data input ; w : asynchronous reset
D : x : Data input ; y : enable ;w : synchronous reset
Câu hỏi 4 : Phần mềm tổng hợp chắc chắn không tổng hợp được vòng lặp “for” trong điều kiện :
A : “For” là vòng lặp tĩnh và có điều khiển thời gian bên trong vòng lặp
B : “For” là vòng lặp động và có điều khiển thời gian bên trong vòng lặp
C : “For” là vòng lặp tĩnh và không có điều khiển thời gian bên trong vòng lặp
D : “For” là vòng lặp động và không có điều khiển thời gian bên trong vòng lặp
Câu hỏi 5 : Trễ truyền dẫn (propagation delay) cổng Not có một “đầu vào” và một “đầu ra” phụthuộc vào các tham số sau :
A : Trễ tín hiệu đầu vào và trễ tín hiệu đầu ra
B : Trễ tín hiệu đầu vào, trễ bên trong của cổng và trễ tín hiệu đầu ra
C : Trễ tín hiệu đầu ra
D : Trễ tín hiệu đầu vào
Câu hỏi 6 : Định dạng mặc định của một con số trong Verilog
A : Hệ 8 B : Thập phân C : Hệ 16 D : Nhị phân
Câu hỏi 7 : Khi so sánh khối lệnh “begin end” và “fork join”, phương án nào đúng :
A : Khối “begin end” thực hiện song song, “fork join” thực hiện nối tiếp
Trang 3B : Khối “begin end” thực hiện nối tiếp, “fork join” thực hiện song song.
C : Cả hai cùng thực hiện song song các lệnh
D : Cả hai đều cùng thực hiện nối tiếp các lệnh
Câu hỏi 8 : Biểu diễn số 16’hABCD tương đương với :
Câu hỏi 10 : Các vòng lặp nào được hỗ trợ bởi Verilog ?
A : Repeat, while, for và forever
B : While, if-else và for
C : While, for, case, repeat và forever
D : Không lựa chọn nào đúng
Câu hỏi 11 : Trong các khai báo Verilog 2001 dưới đây, khai báo nào sai ?
A : always @ (a, b, c)
B : always @(∗)
C : always @ (a or b or c)
D : always @ (a and b and c)
Câu hỏi 12 : Điền vào khoảng trống của mô tả sau “parameter” được dùng với cấu trúc case đểthiết kế mạch của hệ thống số
A : Mạch DUT
B : Mạch testbench
C : Máy trạng thái
D : Mạch tổ hợp
Câu hỏi 13 : Khi định nghĩa trễ trong Verilog, số tham số tối đa có thể khai báo được là :
A : 6 tham số, bao gồm : trễ sườn lên (min, typical, max), trễ sườn xuống (min, typical, max)
B : 6 tham số, bao gồm : trễ sườn lên (min, max), trễ sườn xuống (min, max), trễ “turn-off” (min,max)
C : 9 tham số, bao gồm : trễ sườn lên (min, typical, max), trễ sườn xuống (min, typical, max), trễ
“turn-off” (min, typical, max)
D : Không trường hợp nào đúng
Câu hỏi 14 : Cho 2 biểu thức được mô tả bằng Verilog, lựa chọn câu trả lời đúng : #5 a = b ; a =
#5 b ;
A : Biểu thức thứ nhất : b được tính và lưu trữ tạm thời tại một thanh ghi, sau đó 5 đơn vị thờigian thì b được gán cho a Biểu thức thứ hai : đợi 5 đơn vị thời gian trước khi tính “b” và thực hiện
Trang 4B : Kết quả hai biểu thức luôn luôn giống nhau
C : Biểu thức thứ nhất : đợi 5 đơn vị thời gian trước khi tính “b” và thực hiện “a=b” Biểu thức thứhai : b được tính và lưu trữ tạm thời tại một thanh ghi, sau đó 5 đơn vị thời gian thì b được gáncho a
D : Kết quả hai biểu thức luôn luôn khác nhau
Câu hỏi 15 : Khi tổng hợp 3 thiết kế sau sử dụng phần mềm phần mềm tổng hợp với cùng mộtcông nghệ, chọn phương án đúng :
Figure 2 – 3 module của câu hỏi 15
A : Thiết kế thứ hai và ba có diện tích bằng nhau
A : Biểu thức thứ luôn đúng, thứ hai sai
B : Biểu thức thứ nhất sai, thứ hai đúng
Trang 5C : Cả hai điều kiện đúng.
D : Cả hai điều kiện sai
Câu hỏi 18 : Thứ tự cổng vào, cổng ra trong khai báo “module” có quan trọng không ?
A : Có
B : Không quan trọng trong các điều kiện xác định
C : Không
D : Quan trọng trong một vài hoàn cảnh
Câu hỏi 19 : Khoảng trắng không được tính đến trong dữ liệu kiểu chuỗi (Strings)
D : Không mô hình nào trong 3 mô hình trên
Câu hỏi 21 : Phép gán “blocking” và “non-blocking” phù hợp cho thiết kế loại mạch :
A : Mạch tổ hợp
B : Mạch dãy
C : “blocking” cho mạch dãy và “non-blocking” cho mạch tổ hợp
D : “blocking” cho mạch tổ hợp, “non-blocking” cho mạch dãy
E : Không phương án nào đúng
Câu hỏi 22 : Xác định phép “logic” trong các biểu thức dưới đây :
A : c = a&b ;
B : c =∼ d ;
C : b =!a ;
D : d = a|d ;
Câu hỏi 23 : Có thể chèn 1 file Verilog vào sử dụng bên trong một file Verilog khác không ?
A : Có, bằng cách nêu tên của file cần chèn trong file Verilog chính
B : Có, dùng lệnh ‘define
C : Không
D : Có, dùng lệnh ‘include
Câu hỏi 24 : Trong mô phỏng testbench, phát biểu nào dưới đây là sai :
A : Các đầu vào của DUT là kiểu reg
B : Các đầu ra của DUT là kiểu wire
C : Kiểu reg được gán giá trị trong khối initial hoặc always
D : Kiểu wire được gán giá trị trong khối initial hoặc always
Câu hỏi 25 : Phương pháp mô phỏng chính được sử dụng trong các phần mềm mô phỏng Verilogbao gồm :
A : Phương pháp mô phỏng dựa trên sự kiện (Event Driven)
B : Phương pháp mô phỏng dựa trên chu kỳ (Cycle Based)
C : Không phương pháp nào
D : Cả hai phương pháp
Câu hỏi 26 : Module Verilog phía dưới đúng hay sai :
module z(a,b,c) ;
Trang 6assign a=b&c ;
endmodule
A : Sai vì thiếu định nghĩa “input”
B : Không sai
C : Sai vì thiếu định nghĩa “input” và “output”
D : Sai vì thiếu định nghĩa “output”
Câu hỏi 27 : Trong các tham số thời gian sau tham số nào quan trọng trong thiết kế mạch số :
A : Thời gian trễ nhỏ nhất và thời gian trễ trung bình
B : Thời gian trễ lớn nhất và nhỏ nhất
C : Thời gian trễ lớn nhất và thời gian trễ trung bình
D : Không phương án nào đúng
Câu hỏi 28 : Thứ tự mức ưu tiên khi tổng hợp mạch số :
A : Luật thiết kế -> Chức năng -> Tối ưu
B : Chức năng -> Luật thiết kế -> Tối ưu
C : Chức năng -> Tối ưu -> Luật thiết kế
D : Không phương án nào đúng
Câu hỏi 29 : Module test được tổng hợp ra mạch sử dụng phần mềm tổng hợp như mô tả ở hình 3a :Tìm sự tương ứng giữa 4 đầu vào 1, 2, 3, 4 trong mạch trên và 4 đầu vào a, b, c, d trong module
Câu hỏi 30 : Khi so sánh “define” và “parameter”, mô tả nào dưới đây đúng :
A : Không có sự khác biệt giữa hai khai báo này
B : Dùng để khai báo hằng số và “parameter” dùng cục bộ trong module, “define” dùng toàn cục bênngoài module
C : Dùng để khai báo hằng số và có thể sử dụng cục bộ trong module
D : Dùng để khai báo hằng số và có thể sử dụng tại vị trí bất kỳ trong chương trình Verilog
Trang 7TRƯỜNG ĐH BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
Đề số : 2
Số trang : 6
MÔN THI : THIẾT KẾ VÀ TỔNG HỢP
HỆ THỐNG SỐNgày thi : 14/05/2013Thời gian làm bài : 60 phútĐược sử dụng tài liệu
Trưởng nhóm môn học : Trưởng bộ môn :
Họ tên sinh viên : Mã số sinh viên : Lớp :
Trang 8ĐỀ BÀICâu hỏi 1 : Biểu diễn số 16’hABCD tương đương với :
B : “begin end” tổng hợp được và “fork join” không tổng hợp được
C : Cả hai không tổng hợp được
D : “begin end” không tổng hợp được và “fork join” tổng hợp được
Câu hỏi 3 : Điền vào khoảng trống của mô tả sau “parameter” được dùng với cấu trúc case để thiết
Câu hỏi 4 : Khi so sánh “define” và “parameter”, mô tả nào dưới đây đúng :
A : Dùng để khai báo hằng số và có thể sử dụng cục bộ trong module
B : Không có sự khác biệt giữa hai khai báo này
C : Dùng để khai báo hằng số và có thể sử dụng tại vị trí bất kỳ trong chương trình Verilog
D : Dùng để khai báo hằng số và “parameter” dùng cục bộ trong module, “define” dùng toàn cụcbên ngoài module
Câu hỏi 5 : Phương pháp mô phỏng chính được sử dụng trong các phần mềm mô phỏng Verilogbao gồm :
A : Phương pháp mô phỏng dựa trên sự kiện (Event Driven)
B : Phương pháp mô phỏng dựa trên chu kỳ (Cycle Based)
C : Không phương pháp nào
D : Cả hai phương pháp
Câu hỏi 6 : Điểm bắt đầu và kết thúc của vòng lặp được định nghĩa bởi :
A : Dấu ngoặc đơn ()
B : begin end
C : Không câu nào đúng
D : Cả hai
Câu hỏi 7 : Sự khác nhau giữa $stop và $finish trong mô phỏng :
A : $stop tạm dừng chương trình,$finish dừng hoàn toàn chương trình
B : $stop dừng hoàn toàn chương trình, $finish tạm dừng chương trình
C : $stop dừng hoàn toàn chương trình, $finish dừng hoàn toàn chương trình
Trang 9D : Không phương án nào.
Câu hỏi 9 : Phần mềm tổng hợp chắc chắn không tổng hợp được vòng lặp “for” trong điều kiện :
A : “For” là vòng lặp động và có điều khiển thời gian bên trong vòng lặp
B : “For” là vòng lặp tĩnh và có điều khiển thời gian bên trong vòng lặp
C : “For” là vòng lặp tĩnh và không có điều khiển thời gian bên trong vòng lặp
D : “For” là vòng lặp động và không có điều khiển thời gian bên trong vòng lặp
Câu hỏi 10 : Định dạng mặc định của một con số trong Verilog
Câu hỏi 12 : Đoạn code sau mô tả mô hình nào của mạch :
1 module majority (Y, X1, X2, X3) ;
D : Không mô hình nào cả
Câu hỏi 13 : Trễ truyền dẫn (propagation delay) cổng Not có một “đầu vào” và một “đầu ra” phụthuộc vào các tham số sau :
A : Trễ tín hiệu đầu vào, trễ bên trong của cổng và trễ tín hiệu đầu ra
B : Trễ tín hiệu đầu vào và trễ tín hiệu đầu ra
C : Trễ tín hiệu đầu vào
D : Trễ tín hiệu đầu ra
Câu hỏi 14 : Giả sử “initial” và “always” cùng nằm trong một module Verilog Giống nhau cơ bảngiữa hoạt động của “initial” và “always” là :
A : Tập lệnh phía trong “initial” và “always” cùng bắt đầu một thời điểm và các lệnh được thực hiệnđồng thời
B : Tập lệnh phía trong “initial” và “always” cùng bắt đầu một thời điểm và các lệnh được thực hiệntuần tự
C : Không phương án nào đúng
D : Tập lệnh phía trong “initial” và “always” cùng bắt đầu một thời điểm và sẽ được thực hiện mộtlần đối với “initial” và có thể được lặp lại với “always”
Trang 10Câu hỏi 15 : Trong các tham số thời gian sau tham số nào quan trọng trong thiết kế mạch số :
A : Thời gian trễ lớn nhất và nhỏ nhất
B : Không phương án nào đúng
C : Thời gian trễ lớn nhất và thời gian trễ trung bình
D : Thời gian trễ nhỏ nhất và thời gian trễ trung bình
Câu hỏi 16 : Xác định loại toán tử (operator) được sử dụng trong chương trình Verilog dưới đây :module r(a,b) ; a = 40b1110 ; b = &a ; endmodule
A : Toán tử logic
B : Toán tử tương tác từng bit (bitwise)
C : Toán tử quan hệ (Relational)
D : Không loại nào trong 3 loại trên
Câu hỏi 17 : Thứ tự ưu tiên thực hiện các phép toán như sau :
A : Dấu âm/ dương -> phép tính số học -> phép điều kiện -> phép dịch -> phép logic
B : Dấu âm/ dương -> phép tính số học -> phép dịch -> phép logic -> phép điều kiện
C : Dấu âm/ dương -> phép dịch -> phép logic -> phép tính số học -> phép điều kiện
D : Dấu âm/ dương -> phép tính số học -> phép logic -> phép dịch -> phép điều kiện
Câu hỏi 18 : Xác định phép “logic” trong các biểu thức dưới đây :
A : Phương pháp mô phỏng dựa trên chu kỳ (Cycle Based)
B : Phương pháp mô phỏng dựa trên sự kiện (Event Driven)
C : Cả hai phương pháp
D : Không phương pháp nào
Câu hỏi 22 : Lựa chọn các bước theo thứ tự của quy trình thiết kế máy trạng thái (FSM) :
A : Thiết kế phần mạch dãy trong một khối always sử dụng “<=”
B : Thiết kế mạch chuyển trạng thái và mạch logic đầu ra sử dụng “=” trong một khối always
C : Bổ sung lệnh “default” cho case
D : Gán giá trị đầu ra và trạng thái tiếp theo
Trang 11Câu hỏi 23 : Các vòng lặp nào được hỗ trợ bởi Verilog ?
A : Không lựa chọn nào đúng
B : While, for, case, repeat và forever
C : Repeat, while, for và forever
D : While, if-else và for
Câu hỏi 24 : Module test được tổng hợp ra mạch sử dụng phần mềm tổng hợp như mô tả ở hình 10a :
Figure 5 – Code và mạch tổng hợp câu hỏi 24
A : U6 - if(b), U8 - f = c&d, U7 - if(a) f = c|d ; else f = 1’b0 ;
B : U6 - if(a), U8 - f = c&d, U7 - if(b) f = c|d ; else f = 1’b0 ;
C : U6 - if(b), U7 - f = c&d, U8 - if(a) f = c|d ; else f = 1’b0 ;
D : U6 - if(a), U7 - f = c&d, U8 - if(b) f = c|d ; else f = 1’b0 ;
Câu hỏi 25 : Các thành phần bắt buộc phải có khi khai báo module :
A : “module”, tên module, “endmodule”, danh sách các cổng và kiểu vào/ ra của cổng
B : “module”, tên module và “endmodule”
C : Không phương án nào đúng
D : “module”, tên module, “endmodule” và danh sách các cổng
Câu hỏi 26 : Trạng thái “Floating” còn được gọi là :
D : Không mô hình nào trong 3 mô hình trên
Câu hỏi 28 : Khi định nghĩa trễ trong Verilog, số tham số tối đa có thể khai báo được là :
A : Không trường hợp nào đúng
B : 9 tham số, bao gồm : trễ sườn lên (min, typical, max), trễ sườn xuống (min, typical, max), trễ
“turn-off” (min, typical, max)
C : 6 tham số, bao gồm : trễ sườn lên (min, max), trễ sườn xuống (min, max), trễ “turn-off” (min,max)
D : 6 tham số, bao gồm : trễ sườn lên (min, typical, max), trễ sườn xuống (min, typical, max).Câu hỏi 29 : Mô tả nào đúng về cú pháp “initial” và “always” ?
A : Các khối initial/ always có thể lồng nhau
Trang 12B : Các khối always có thể lồng nhau nhưng không được phép với khối initial.
C : Các khối initial/ always không được phép lồng nhau
D : Các khối initial có thể lồng nhau nhưng không được phép với khối always
Câu hỏi 30 : Module test được tổng hợp ra mạch sử dụng phần mềm tổng hợp như mô tả ở hình 6a :Tìm sự tương ứng giữa 4 đầu vào 1, 2, 3, 4 trong mạch trên và 4 đầu vào a, b, c, d trong module
Trang 13TRƯỜNG ĐH BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
Đề số : 3
Số trang : 6
MÔN THI : THIẾT KẾ VÀ TỔNG HỢP
HỆ THỐNG SỐNgày thi : 14/05/2013Thời gian làm bài : 60 phútĐược sử dụng tài liệu
Trưởng nhóm môn học : Trưởng bộ môn :
Họ tên sinh viên : Mã số sinh viên : Lớp :
Trang 14ĐỀ BÀICâu hỏi 1 : Độ rộng mặc định của một số nguyên (integer) :
A : 32 bit B : 16 bit C : 8 bit D : 64 bit
Câu hỏi 2 : Khi định nghĩa trễ trong Verilog, số tham số tối đa có thể khai báo được là :
A : 6 tham số, bao gồm : trễ sườn lên (min, typical, max), trễ sườn xuống (min, typical, max)
B : 9 tham số, bao gồm : trễ sườn lên (min, typical, max), trễ sườn xuống (min, typical, max), trễ
“turn-off” (min, typical, max)
C : 6 tham số, bao gồm : trễ sườn lên (min, max), trễ sườn xuống (min, max), trễ “turn-off” (min,max)
D : Không trường hợp nào đúng
Câu hỏi 3 : Lệnh nào của Verilog hoạt động tương tự lệnh “printf” trong ngôn ngữ C :
Câu hỏi 4 : Xác định loại toán tử được sử dụng trong câu lệnh Verilog dưới đây : Y = a >> 1
A : Toán tử tương tác từng bit (bitwise)
B : Toán tử quan hệ (Relational)
C : Toán tử logic
D : Toán tử dịch (shift)
Câu hỏi 5 : Các phát biểu sau đây, phát biểu nào là đúng :
A : $display dùng in kết quả liên tục của tín hiệu mỗi khi nó thay đổi
B : $display và $monitor đều sử dụng để in kết quả mô phỏng
C : $monitor dùng chủ yếu để in thông báo trên một dòng
D : Cả 3 cách đều đúng
Câu hỏi 6 : Các vòng lặp nào được hỗ trợ bởi Verilog ?
A : While, if-else và for
B : Repeat, while, for và forever
C : While, for, case, repeat và forever
D : Không lựa chọn nào đúng
Câu hỏi 7 : Phần mềm tổng hợp có khả năng tổng hợp được vòng lặp “for” trong điều kiện (lựachọn nhiều đáp án) :
A : “For” là vòng lặp tĩnh và có điều khiển thời gian bên trong vòng lặp
B : “For” là vòng lặp động và không có điều khiển thời gian bên trong vòng lặp
C : “For” là vòng lặp tĩnh và không có điều khiển thời gian bên trong vòng lặp
D : “For” là vòng lặp động và có điều khiển thời gian bên trong vòng lặp
Câu hỏi 8 : Mô hình Verilog nào mô tả hệ thống số sử dụng công thức Boolean :
A : Mô hình hành vi
B : Mô hình RTL
C : Mô hình cấu trúc
D : Không mô hình nào trong 3 mô hình trên
Câu hỏi 9 : Điền vào khoảng trống trong mô tả sau “Instance” được sử dụng trong chương trìnhVerilog dưới đây : module s(a,b,c) ; input a,b ; output c ; and(c,a,b) ; endmodule